Ну если честно, то из приведенной вами таблички никак не понятно, что в библиотеке IRremote для Leonardo оказывается не 3 пин используется для подключения ИК диода, а 10 пин.
1. Я привел не табличку, а ссылку на тему, в которой много как табличек, так и рисунков. Но самое главное - из этой темы предельно ясно, что у разных контроллеров различная распиновка. Вы ведь именно этого не могли найти?
2. Приведенная тема посвящена различиям в распиновке контроллеров, ни о какой бтблиотеке IRremote там речи не идет. Да и Вы об этом не спрашивали.
Еще раз процитирую Ваш пост:
doc_bravn пишет:
не в примерах ни в статьях в интернете, ни на этом форуме откуда и взят используемый мной скетч, ничего не говорят про различные пины в зависимости от модели ардуины.
Добрался таки до ардуины. Переключил ИК диод на 10 пин. Не излучает он ничего. Как не излучал так и не излучает. Реле реагирует, включается и выключается. А вот команда в ИК светодиод не отдается. Какие будут еще варианты? Почему ничего не излучает-то?
Но он уже и не нужен похоже. Я разобрался и сейчас все заработало. Правда излучение диода на модуле слабовато. Телевизор видит сигнал только при прямом наведении на него и с расстояния в 20-30 см. Если отколинть диод или отнести подальше, то уже не реагирует телевизор.
Проблема оказалась в пине к которому нужно подключать светодиод. Оказывается вообще надо подключать к пину 13 на Arduino Leonardo.
Понял я это повнимательнее дальше просмотрев файл boarddefs.h
Жаль, что у Вас нет осциллографа, Вы бы просто измерили ток через диод, а мультиметром не получится, он же не постоянный, а пульсирующий.
Знаете, что? вот Вам совет, купите осциллограф. Профессиональные модели достаточно дороги (от 30-35 тыр. примерно - за такие деньги можно купить вполне профессиональный прибор, внесённый в госреестр средств измерений и т.п.) и если это не по бюджету, то купите просто "конструктор" DSO138, столько-то Вы вполне можете себе позволить. Вам будут говорить, что это игрушка - да, игрушка, но уверяю Вас, для подавляющего большинства проектов о которых говорят тут на форуме этой игрушки вполне достаточно и больше ничего и не нужно. Конструктор несложный - SMD детали уже впаяны, осталось только DIP впаять не ошибаяь - мой 10-летний внук справился легко.
Ну, а пока его у Вас нет, сделайте вот что. Сфотографируйте плату Вашего диодного модуля с обеих сторон как можно крупнее и выложите куда-нибудь (сюда большие фотки не закачиваются) и дайте мне ссылку. я посмотрю. Там плата с маской, но если расположить свет под определённым углом, то будут видны дорожки, сделайте это. Надо посмотреть что там за транзистор и какой именно резистор стоит в цепи диода. Может быть ему можно поставить меньший резистор или подать большее напряжение.
Мы не знаем, что там за диод стоит, но если исходить и "обычный диод для таких вещей", то у него должно быть падение 2В и ток 100ма.
Если так, то на резисторе должно падать 3В, (у Вас же 5-вольтовая Ардуина, так ведь). Ну, что 3В / 30 Ом = 100мА, всё правильно. Т.е. диод должен пахать на полную мощность, но не пашет.
Хорошо. Сделайте так. Пока уберите этот скетч, а просто подайте HIGH на управляющий пин светодиода (Вы говорили 13-ый). Он должен светиться постоянно. В то время как он светится,
1. измерьте напряжение на концах резистора (ткните щупы мультиметра ему в бока). Должно быть около 3В. Если сильно меньше, то какая-то беда;
2. измерьте ток в цепи питания модуля (умеете?). Должно быть около 100мА, может чуть больше. Если сильно меньше, то беда с модулем (плохая пропайка или там ещё чего).
Померить ток и напряжение смогу только завтра. Мультиметр на работе остался. Завтра заберу и измерю. У меня еще есть один модуль с ИК диодом. Вот такой:
Ну если честно, то из приведенной вами таблички никак не понятно, что в библиотеке IRremote для Leonardo оказывается не 3 пин используется для подключения ИК диода, а 10 пин.
1. Я привел не табличку, а ссылку на тему, в которой много как табличек, так и рисунков. Но самое главное - из этой темы предельно ясно, что у разных контроллеров различная распиновка. Вы ведь именно этого не могли найти?
2. Приведенная тема посвящена различиям в распиновке контроллеров, ни о какой бтблиотеке IRremote там речи не идет. Да и Вы об этом не спрашивали.
Еще раз процитирую Ваш пост:
не в примерах ни в статьях в интернете, ни на этом форуме откуда и взят используемый мной скетч, ничего не говорят про различные пины в зависимости от модели ардуины.
Да, согласен. Не верно сформулировал вопрос и фразу. Но спасибо за ссылку на тему по распиновке. Изучаю ее.
Добрался таки до ардуины. Переключил ИК диод на 10 пин. Не излучает он ничего. Как не излучал так и не излучает. Реле реагирует, включается и выключается. А вот команда в ИК светодиод не отдается. Какие будут еще варианты? Почему ничего не излучает-то?
Ну, давайте вернёмся к идее схемы и фото на котром (которых) хорошо видно, что и как подключено.
И, да, кстати, осциллогаф у Вас есть?
К сожалению осциллографа нет.
Но он уже и не нужен похоже. Я разобрался и сейчас все заработало. Правда излучение диода на модуле слабовато. Телевизор видит сигнал только при прямом наведении на него и с расстояния в 20-30 см. Если отколинть диод или отнести подальше, то уже не реагирует телевизор.
Проблема оказалась в пине к которому нужно подключать светодиод. Оказывается вообще надо подключать к пину 13 на Arduino Leonardo.
Понял я это повнимательнее дальше просмотрев файл boarddefs.h
Там есть такое:
Подключил к пину 13 и появилось излучение.
Как-то можно увеличить мощность излучения диода? Диод на пульте телевизора раза в 3 ярче моргает, чем диод подключенный к ардуине.
doc_bravn, ИК-светодид подключается через ключевой транзистор. У них под 100 мА должен быть ток.
Жаль, что у Вас нет осциллографа, Вы бы просто измерили ток через диод, а мультиметром не получится, он же не постоянный, а пульсирующий.
Знаете, что? вот Вам совет, купите осциллограф. Профессиональные модели достаточно дороги (от 30-35 тыр. примерно - за такие деньги можно купить вполне профессиональный прибор, внесённый в госреестр средств измерений и т.п.) и если это не по бюджету, то купите просто "конструктор" DSO138, столько-то Вы вполне можете себе позволить. Вам будут говорить, что это игрушка - да, игрушка, но уверяю Вас, для подавляющего большинства проектов о которых говорят тут на форуме этой игрушки вполне достаточно и больше ничего и не нужно. Конструктор несложный - SMD детали уже впаяны, осталось только DIP впаять не ошибаяь - мой 10-летний внук справился легко.
Ну, а пока его у Вас нет, сделайте вот что. Сфотографируйте плату Вашего диодного модуля с обеих сторон как можно крупнее и выложите куда-нибудь (сюда большие фотки не закачиваются) и дайте мне ссылку. я посмотрю. Там плата с маской, но если расположить свет под определённым углом, то будут видны дорожки, сделайте это. Надо посмотреть что там за транзистор и какой именно резистор стоит в цепи диода. Может быть ему можно поставить меньший резистор или подать большее напряжение.
doc_bravn, ИК-светодид подключается через ключевой транзистор. У них под 100 мА должен быть ток.
На модуле с диодом так и есть. Там есть ключевой транзистор.
Сфотографировал. Выложил:
https://yadi.sk/d/TwB--6aw3MvGvB
Не видно, что за транзистор. Можете с лупой прочитать и написать?
А рядо с транзистором резистор, на котором написано 30R правильно?
На резисторе 30R написано. А на транзисторе даже в лупу толком понять не могу. Толи 1KGMT, толи 7GMT
Ага, 1К - это похоже на BC848B (а GMT - производитель). Суки экономные - под предел поставили. Ладно, сейчас разберёмся. минутку.
Значит так.
Мы не знаем, что там за диод стоит, но если исходить и "обычный диод для таких вещей", то у него должно быть падение 2В и ток 100ма.
Если так, то на резисторе должно падать 3В, (у Вас же 5-вольтовая Ардуина, так ведь). Ну, что 3В / 30 Ом = 100мА, всё правильно. Т.е. диод должен пахать на полную мощность, но не пашет.
Хорошо. Сделайте так. Пока уберите этот скетч, а просто подайте HIGH на управляющий пин светодиода (Вы говорили 13-ый). Он должен светиться постоянно. В то время как он светится,
1. измерьте напряжение на концах резистора (ткните щупы мультиметра ему в бока). Должно быть около 3В. Если сильно меньше, то какая-то беда;
2. измерьте ток в цепи питания модуля (умеете?). Должно быть около 100мА, может чуть больше. Если сильно меньше, то беда с модулем (плохая пропайка или там ещё чего).
Давайте, измерьте и напишите что намеряли.
Если с током всё хорошо, то предпологаю 2 вероятные причины - конкретно не совпадает диапазон излучения ИК-диода или частота модуляции.
Померить ток и напряжение смогу только завтра. Мультиметр на работе остался. Завтра заберу и измерю. У меня еще есть один модуль с ИК диодом. Вот такой:
http://robotdyn.ru/catalog/led/infrared_led_module/
С ним точно такая же ситуация. Диод еле светит. Телефон еле засекает сигнал. И тоже телевизор реагирует с расстояния 20 см и при прямой наводке.
Либо с ардуиной что-то не то, либо реально не совпадает диапазон излучения ИК-диода или частота модуляции.
А если попробовать передавать код кнопки в виде RAW массива? Это может чем-то помочь?
Если проблема с частотой, то нет, конечно, как оно поможет?