ИК-пульт на базе ардуино, проблема с трансляцией сигнала через ИК-диод
- Войдите на сайт для отправки комментариев
Привет.
Посмотрел видео Амперки как они копируют пульт от кондиционера в виде RAW сигнала и решил повторить за ними, но возникли проблемы.
Скетч состоит из двух частей - либо на чтение данных с ИК-приемника, либо на отправку через ИК диод RAW сигналов записанных во flash память контроллера.
Принимать RAW-сигналы и выводить их в монитор порта получается более менее сносно, проблема возникает при попытке транслировать этот сигнал ИК-диодом - в оригинальном скетче записан пример RAW сигнала пульта автора и при попытке транслировать его - он посылается за долю секунды как на обычном пульте (подключил параллельно ИК-диоду обычный светодиод чтобы видеть посылаемый сигнал). Но когда я копирую RAW коды своего пульта из монитора порта и заменяю в скетче сигнал автора на свой, тогда при попытке послать этот сигнал он(или какая то чепуха) транслируется 3-4 секунды (моргает светодиод). Тогда как у автора длина сигнала - 210, а у меня всего 73. Чувствую что я в одном шаге от реализации того что мне нужно, но понять в чем проблема не могу. Может вы мне поможете. Навыков программирования нет и может что то важно не понимаю. Детали у меня обычные, не амперские. ИК-приемник работает 100% - стабильно читает коды на других скетчах, ИК-диод тоже рабочий. Подключаю правильно.
Видео Амперки - https://www.youtube.com/watch?v=vK16efpSEi8
Страница проекта со скетчем - http://wiki.amperka.ru/arduino-projects:ir-remote
Предоставьте ВАШУ схему и ВАШУ программу. Отправлять по внешним ссылкам в высшей степени невежливо.
Ок.
Схему не вижу смысла рисовать, ИК-приемник(3 вывода) - GND на землю,Vcc питание на порт 3.3V (пробовал и на 5V кидать - ничего не меняется), и сигнальный на 4 порт(пин,контакт?) ардуино UNO, ИК-диод через резистор анодом на 9 порт, катодом на GND, параллеьно ему обычный маломощный светодиод.
Скетч, где сигнал ON уже заменен на сигнал моего пульта, а сигнал OFF от автора, соответственно мой сигнал транслируется медленно, а более длинный сигнал автора за долю секунды
Первоисточник - http://wiki.amperka.ru
Навыков программирования нет и может что то важно не понимаю
Может?
Ну скопировать скетч и заменить строки в нем я в состоянии, я имел в виду что то переписывать в коде я не могу
Кто ж это диоды параллелит? У них у каждого должен быть свой токоограничивающий резистор.
Так и есть, у каждого свой, просто параллельно оба подключены. В любом случае по схеме все работает, оба светодиода моргают, обычный просто чтобы мне не смотреть через камеру на ИК
Артем09, сдается мне. код от амперки нерабочий. В этом коде всегда отсылается сигнал одного и того же размера - причем размера абсолютно левого, никак не связанного с размером последовательности.
Вот на амперке и спрашивай
Я тоже заметил что какую последовательнось я бы не написал, например всего из пары числел - все равно трансляция будет очень длинная и явно не то что я записал. Так же пытался сменить пин вывода ИК-диода с 9 на 3 в строке:
Но при загрузке все равно транслируются коды через пин 9.
Нет, перезагружать не приходится, работает стабильно без зависаний
Ну скопировать скетч и заменить строки в нем я в состоянии, я имел в виду что то переписывать в коде я не могу
Тогда зачем ты завел эту тему, если ты такой весь в состоянии?
Не понимаю чего ты заагрился на меня
Не понимаю чего ты заагрился на меня
Не понимаю, чего ты завел эту тему.
Артем09, сдается мне. код от амперки нерабочий. В этом коде всегда отсылается сигнал одного и того же размера - причем размера абсолютно левого, никак не связанного с размером последовательности.
Спасибо! значит буду искать другой код с передачей RAW
Спасибо! значит буду искать другой код с передачей RAW
более правильно было бы разобраться с этим, тут не так много надо поправить, чтоб заработало
более правильно было бы разобраться с этим, тут не так много надо поправить, чтоб заработало
Навыков программирования нет
более правильно было бы разобраться с этим, тут не так много надо поправить, чтоб заработало
Попробую разобраться в командах кода
Схему не вижу смысла рисовать
Разбираться в Вашей проблеме, когда Вам самому это не нужно - не вижу смысла :-(
Разбираться в Вашей проблеме, когда Вам самому это не нужно - не вижу смысла :-(
Бро, если тебе нужна схема для того чтобы понять, как соединяются три элемента, два из которых пассивные..
Показать ветку в которой мы всем форумом несколько дней трахались, пока заставили таки ТС выложить схему и увидели, что он читает аналоговый сигнал (и подаёте его туда) с пина "Reset"?
И да, кстати, сами Вы "бро".
Бывает такое, но у меня нет проблем с подключением схемы и исправностью элементов, потому что ИК-сигналы нормально считываются и выводятся в порт, а ИК-диод нормально моргает, но только сигналом записанным в скетче изначально. Проблема возникает только когда меняешь код сигнала автора на свой.
ИК-диод нормально моргает, но только сигналом записанным в скетче изначально.
вы ошибаетесь. В этом скетче код автора тоже не работает
Да, вы говорили)
Если там не много нужно исправить, то за какое вознаграждение сделаете? Если возьметесь) Просто чтобы иметь в виду.
Я, хоть и запоздало, отвечу на Ваш вопрос
Мне - нет. У меня всё работает. Это у Вас какие-то проблемы. Вот и думайте, кому она нужна :-)
Схему не вижу смысла рисовать .... ИК-диод через резистор анодом на 9 порт, катодом на GND, параллеьно ему обычный маломощный светодиод.
Без транзистора-ключа? Излучающий ик-диод потребляет порядка 100 ма.
Без транзистора-ключа? Излучающий ик-диод потребляет порядка 100 ма.
Так нет же смысла!
Я, хоть и запоздало, отвечу на Ваш вопрос
Если ты не понял, то это был не вопрос, а рассуждения о том, что мне не нужна помощь человека не в состоянии представить три детали в голове:)
И помощь сноба мне тоже не нужна, без тебя справлюсь.
Без транзистора-ключа? Излучающий ик-диод потребляет порядка 100 ма.
Ключ нужен больше для его дальнобойной работы, для проверки работоспособности скетча - не особо нужен, мигает и без усилителя. Как разберусь со скетчем, конечно же соберу ему усилитель.
Если ты не понял, то это был не вопрос, а рассуждения о том, что мне не нужна помощь человека не в состоянии представить три детали в голове:)
Если Вы не поняли, никто не станет помогать человеку, которому это настолько не нужно, что лень нарисовать три детали, когда его об этом попросили.
справлюсь
Не сомневаюсь, удачи!
Прежде, чем начинать разбираться в программах, хорошо бы разобраться в работе диодов вообще, светодиодов в частности и инфракрасной передачи в особенности. Но это мое личное мнение, нет никаких сомнений, что ТС "сам справится".
Иди лесом, у меня электротехническое образование и я прекрасно разбираюсь в работе электронных компонентов, и в этом вопросе, мне ваши советы вообще до фонаря.
Иди лесом, у меня электротехническое образование
ПТУ? ;))
да здешний форум не из дружелюбных к новичкам. но самому лицо то нужно сохранять? как можно так некрасиво общяться с незнакомыми людьми? а некоторые из них тут очень умные дядьки, совет которых многого стоит
так работает ?
*непомню если есть там
sizeof_P если что посмотри чем там мерять прогмем
alexbmd, так оно будет жестоко виснуть :) ... в некоторых случаях :)
но вообще молодец. сообразил :) Поставил плюсик...
Иди лесом, у меня электротехническое образование и я прекрасно разбираюсь в работе электронных компонентов, и в этом вопросе, мне ваши советы вообще до фонаря.
Тогда вопрос на засыпку (точнее, на комбинаторику): сколькими способами можно соединить между собой 3 детали?
а некоторые из них тут очень умные дядьки, совет которых многого стоит
А как понять, что дядька умный?
Спросить у Вас?
Как Вы считаете - andriano умный дядька?
Ы :) я считаю что да, иногда выпендривается, как и все мы тут, но последующий щелчок по носу воспринимает профессионально, и уверен, наматывает на ус, так что слушать его ТСу стоило бы внимательно :)
так оно будет жестоко виснуть :)
например? :)
Не контролируется переполнение буфера.
в условиях про буфр ни слова... если у автора проблемы с перполнением можно добавить
Господа, спасибо всем за ответы, решил отказаться от кода амперки, потому что даже после замены куска кода отправки ВНЕЗАПНО начинали возникать ошибки в других частях кода,
Ошибка: too few arguments to function 'void sending(const unsigned int*, int)'
так работает ?
*непомню если есть там
sizeof_P если что посмотри чем там мерять прогмем
Мне нужно скопировать всего 1 кнопку, чтобы при нажатии транслировался 1 код, никакие изыски в виде занесения кодов в flash память не нужны, поэтому написал такой простейший код:
И собственно только один вопрос - Работать будет? Сейчас пока нет возможности проверить
В данном случае это сигнал с моего пульта от телека, но стандартная библиотека не умеет в кодировку SAMSUNG, поэтому просто сигнал в виде RAW записал, как и хотел, потому что пульт который нужно будет скопировать нестандартный и я не знаю что там будет за кодировка.
Светодиод моргает, вроде бы на глаз все работает.
в условиях про буфр ни слова... если у автора проблемы с перполнением
alexbmd. а вот теперь вы пишете ерунду
Что значит "нет в условии"? - не написано что "буфер не должен переполняться"? :) - не смешите, это как бы само собой разуеется - об этом должны думать вы, раз предлагаете вариант кода. То, что у автора последовательности разной длины. причем некоторые весьма длинные - видно в листинге #2
можно добавить
это не решение. Так вы вернулись к тому нерабочему коду.,что был у ТС изначально
Проверил на телевизоре - оно работает!
Замечательно, значит теперь я смогу скопировать любой код любого пульта с частотой 38кГц.
Всё, тему можно закрывать.
И кстати, бьет на 5 метров и без усилителя.
too few arguments to function
для этого и есть 10 и 11 строчки примера. внимательнее надо быть
Так вы вернулись к тому нерабочему коду.,что был у ТС изначально
нет. у ТС вообще не работало. . его закидали ссаными тряпками. да он тоже дерзил некрасиво но сейчас не про это. ТС попросил просто чтоб работало. ни о каких дополнительных условиях и командах речи не шло. просто чтоб работало и предложил ему один из рабочих вариантов без "отлития в бронзе". в олимпиаде также не участвую :) на самый грамотный и короткий код тоже не претендую. так что не к тому же.
но вообще да. предыдущая строчка не верна. лучше так
ну а видеале конечно надо разбираться что там за буфер, опредление, где и как лучше страховаться, спору нет
всем привет! ребята подскажите пожалуйста. в чем может быть проблема? Хочу сделать пульт ИК на ардуинке, но почему-то сигнал с ардуино не выходит с ИК-диода. пробовал подключать на разные пины, разные библиотеки, менял разные ИК-диоды, но все тщетно. плата Arduino Nano., пробывал менять и их. А когда подсоединял к плате Esp 8266 wemos mini, то там все работает. Скетчи использовал разные и результатов ноль. может кто подскажет в чем может быть загвоздка?
вот скетч на котором я остановился, но на нем тоже arduino nano коды не отправляет. коды от пульта Sony , если это имеет значение. при нажатии кнопок в сериал отправка идет.
пробовал подключать на разные пины
вместо того чтоб "пробовать", читайте документацию.
Для подключения ИК-диода в библиотеке IRremote можно использовать только конкретные пины, указанные в файле
https://github.com/Arduino-IRremote/Arduino-IRremote/blob/master/src/private/IRTimer.hpp
в частности, для Ардуино Нано нужно использовать пин 3 и никакой другой
спасибо за ответ, но прежде чем подсоеденять к пинам я конечно же прочитал куда надо конектиться. пин 3 был первым куда я цеплял ик диод. сейчася подключил к нему обычный диод и он при нажатии кнопки моргает. только вот не при каждом нажатии кнопки, а при ее удержании.
спасибо за ответ, но прежде чем подсоеденять к пинам я конечно же прочитал куда надо конектиться
если читали бы - не писали бы ерунды, про то что "пробовали разные пины".
Выкладывайте схему, как подключен ИК диод. Надеюсь, он не включен напрямую между пином и землей?
подключил к нему обычный диод и он при нажатии кнопки моргает. только вот не при каждом нажатии кнопки, а при ее удержании.
С вашим кодом оно никак иначе работать и не может. Если хотите, чтобы кнопки работали сразу при нажатии - избавляйтесь от всех delay() в коде
плюсовая ножка через резистор номиналом 100 Ом, на пин 3., ну а минусовая соответственно на землю. на Esp 8266 работала вообще без резистора.
плюсовая ножка через резистор номиналом 100 Ом, ну а минусовая соответственно на землю. на Esp 8266 работала вообще без резистора.
сообщение #24
че, типа нужен ключ?