Проблема с управление по ИК

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

doc_bravn пишет:

Ну если честно, то из приведенной вами таблички никак не понятно, что в библиотеке IRremote для Leonardo оказывается не 3 пин используется для подключения ИК диода, а 10 пин.

 

1. Я привел не табличку, а ссылку на тему, в которой много как табличек, так и рисунков. Но самое главное - из этой темы предельно ясно, что у разных контроллеров различная распиновка. Вы ведь именно этого не могли найти?

2. Приведенная тема посвящена различиям в распиновке контроллеров, ни о какой бтблиотеке IRremote там речи не идет. Да и Вы об этом не спрашивали.

Еще раз процитирую Ваш пост:

doc_bravn пишет:

не в примерах ни в статьях в интернете, ни на этом форуме откуда и взят используемый мной скетч, ничего не говорят про различные пины в зависимости от модели ардуины.

doc_bravn
Offline
Зарегистрирован: 26.08.2017

Да, согласен. Не верно сформулировал вопрос и фразу. Но спасибо за ссылку на тему по распиновке. Изучаю ее.

doc_bravn
Offline
Зарегистрирован: 26.08.2017

Добрался таки до ардуины. Переключил ИК диод на 10 пин. Не излучает он ничего. Как не излучал так и не излучает. Реле реагирует, включается и выключается. А вот команда в ИК светодиод не отдается. Какие будут еще варианты? Почему ничего не излучает-то?

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Ну, давайте вернёмся к идее схемы и фото на котром (которых) хорошо видно, что и как подключено.

И, да, кстати, осциллогаф у Вас есть?

doc_bravn
Offline
Зарегистрирован: 26.08.2017

К сожалению осциллографа нет. 

Но он уже и не нужен похоже. Я разобрался и сейчас все заработало. Правда излучение диода на модуле слабовато. Телевизор видит сигнал только при прямом наведении на него и с расстояния в 20-30 см. Если отколинть диод или отнести подальше, то уже не реагирует телевизор. 

Проблема оказалась в пине к которому нужно подключать светодиод. Оказывается вообще надо подключать к пину 13 на Arduino Leonardo. 

Понял я это повнимательнее дальше просмотрев файл boarddefs.h

Там есть такое:

//-----------------
#if defined(CORE_OC4A_PIN)
#	define TIMER_PWM_PIN  CORE_OC4A_PIN  // Teensy
#elif defined(__AVR_ATmega32U4__)
#	define TIMER_PWM_PIN  13             // Leonardo
#else
#	error "Please add OC4A pin number here\n"
#endif

Подключил к пину 13 и появилось излучение.

Как-то можно увеличить мощность излучения диода? Диод на пульте телевизора раза в 3 ярче моргает, чем диод подключенный к ардуине.

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

doc_bravn, ИК-светодид подключается через ключевой транзистор. У них под 100 мА должен быть ток.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Жаль, что у Вас нет осциллографа, Вы бы просто измерили ток через диод, а мультиметром не получится, он же не постоянный, а пульсирующий.

Знаете, что? вот Вам совет, купите осциллограф. Профессиональные модели достаточно дороги (от 30-35 тыр. примерно - за такие деньги можно купить вполне профессиональный прибор, внесённый в госреестр средств измерений и т.п.) и если это не по бюджету, то купите просто "конструктор" DSO138, столько-то Вы вполне можете себе позволить. Вам будут говорить, что это игрушка - да, игрушка, но уверяю Вас, для подавляющего большинства проектов о которых говорят тут на форуме этой игрушки вполне достаточно и больше ничего и не нужно. Конструктор несложный - SMD детали уже впаяны, осталось только DIP впаять не ошибаяь - мой 10-летний внук справился легко. 

Ну, а пока его у Вас нет, сделайте вот что. Сфотографируйте плату Вашего диодного модуля с обеих сторон как можно крупнее и выложите куда-нибудь (сюда большие фотки не закачиваются) и дайте мне ссылку. я посмотрю. Там плата с маской, но если расположить свет под определённым углом, то будут видны дорожки, сделайте это. Надо посмотреть что там за транзистор и какой именно резистор стоит в цепи диода.  Может быть ему можно поставить меньший резистор или подать большее напряжение.

 

doc_bravn
Offline
Зарегистрирован: 26.08.2017

dimax пишет:

doc_bravn, ИК-светодид подключается через ключевой транзистор. У них под 100 мА должен быть ток.

На модуле с диодом так и есть. Там есть ключевой транзистор.

doc_bravn
Offline
Зарегистрирован: 26.08.2017

Сфотографировал. Выложил:

https://yadi.sk/d/TwB--6aw3MvGvB

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Не видно, что за транзистор. Можете с лупой прочитать и написать?

А рядо с транзистором резистор, на котором написано 30R правильно?

doc_bravn
Offline
Зарегистрирован: 26.08.2017

На резисторе 30R написано. А на транзисторе даже в лупу толком понять не могу. Толи 1KGMT, толи 7GMT

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Ага, 1К - это похоже на BC848B (а GMT - производитель). Суки экономные - под предел поставили. Ладно, сейчас разберёмся. минутку.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Значит так.

Мы не знаем, что там за диод стоит, но если исходить и "обычный диод для таких вещей", то у него должно быть падение 2В и ток 100ма.

Если так, то на резисторе должно падать 3В, (у Вас же 5-вольтовая Ардуина, так ведь). Ну, что 3В / 30 Ом = 100мА, всё правильно.  Т.е. диод должен пахать на полную мощность, но не пашет.

Хорошо. Сделайте так. Пока уберите этот скетч, а просто подайте HIGH на управляющий пин светодиода (Вы говорили 13-ый). Он должен светиться постоянно. В то время как он светится,

1. измерьте напряжение на концах резистора (ткните щупы мультиметра ему в бока). Должно быть около 3В. Если сильно меньше, то какая-то беда;

2. измерьте ток в цепи питания модуля (умеете?). Должно быть около 100мА, может чуть больше. Если сильно меньше, то беда с модулем (плохая пропайка или там ещё чего).

Давайте, измерьте и напишите что намеряли.

 

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Если с током всё хорошо, то предпологаю 2 вероятные причины - конкретно не совпадает диапазон излучения ИК-диода или частота модуляции.

doc_bravn
Offline
Зарегистрирован: 26.08.2017

Померить ток и напряжение смогу только завтра. Мультиметр на работе остался. Завтра заберу и измерю. У меня еще есть один модуль с ИК диодом. Вот такой:

http://robotdyn.ru/catalog/led/infrared_led_module/

С ним точно такая же ситуация. Диод еле светит. Телефон еле засекает сигнал. И тоже телевизор реагирует с расстояния 20 см и при прямой наводке.

Либо с ардуиной что-то не то, либо реально не совпадает диапазон излучения ИК-диода или частота модуляции. 

doc_bravn
Offline
Зарегистрирован: 26.08.2017

А если попробовать передавать код кнопки в виде RAW массива? Это может чем-то помочь?

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Если проблема с частотой, то нет, конечно, как оно поможет?