USB ИК приёмник на AVR

Что не говори, а человек существо ленивое. Иногда так не хочется вставать с кровати чтобы отрегулировать громкость во время просмотра фильма или еще чего. Сейчас конечно есть куча всяких девайсов вроде мышек и клавиатур соединенных с компом по радиоканалу, но меня дико душит жаба при виде негуманных цен. Да и зачем покупать все это если в доме есть не нужный ик пульт и в загашнике завалялся tiny2313. Итак, будем ваять usb ик приёмник.

Было решено не изобретать свой велосипед, а повторить довольно удачную разработку некого Игоря Чешко. Повторить решил главным образом из-за того, что этот приемник поддерживается несколькими удобными программами вроде IrLink. Схема в оригинальном варианте мне очень не понравилась и я ее немного допилил. Доработка заключается в добавлении стабилитронов в цепи D+ и D-. Это сделано для того чтоб не спалить USB порт. Логическая единица у usb порта около 3.6 вольт и превышение этого напряжения крайне не желательно.

Сигнал с пульта принимается ик приёмником демодулятором TSOP17xx или TSOP21хх. ХХ — это несущая частота пульта в килогерцах. Как правило это 36 или 38 кГц. У меня например дома пять пультов и все пять работают на частоте 36 кГц. У ик приёмника очень хорошая чувствительность. Уверенно принимается даже сигнал отраженный от стен комнаты. Хотя тут еще многое зависит от пульта. Например с моим самодельным пультом результаты чуть похуже (стоит крошечный 3мм светодиод). Сам приёмник после сборки в настройке не нуждается, а вот с софтом придётся немного повозиться. Из всех программ для работы с этим приёмником, самая прикольная на мой взгляд — IrLink. Прога умеет распознавать всевозможные кодировки, а следовательно можно заюзать почти любой пульт! Разумеется IrLink не знает всевозможных кодов кнопок, поэтому программу нужно обучать. Для начала работы с программой нам нужно установить драйвера на ик приёмник. Их можно скачать с сайта автора или у меня. Драйвер есть двух версий — платная и бесплатная. У бесплатной версии есть один маленький неприятный момент. Когда какая либо программа начинает работать с ик приёмником — выпрыгивает окно с кнопкой ок в котором написано что мы используем бесплатную версию. Это почти не мешает, однако если кого-то это сильно будет раздражать, то можно купить полную версию за семь баксов у автора. Кроме этого окна ни каких различий в функциональности нет. Драйвер успешно заработал как на WinXP так и на Windows 7. После установки драйверов нужно скачать самую новую версию программы с сайта www.irlink.ru . При первом запуске появится окно настроек в котором нужно указать что у нас используется самодельный приёмник IgorPlugUSB. Если всё работает как надо то на вкладке «Ик приёмник» должно быть написано что «приёмник сигналов обнаружен и запущен». Теперь можно обучать программу. Начинается обучение с создания нового пульта. Для этого переходим на вкладку «Пульт ДУ» и на пульте слева расставляем кнопки точно так же как они расположены на вашем пульте. Когда кнопки расставлены тыкаем по очереди на каждую и нажимаем на пульте соответствующие кнопки. После завершения обучения можно легко проверить результат, жмем кнопки пульта и видим как они подсвечиваются в окне программы. Присвоить кнопкам действия дело не хитрое, но на всякий случай покажу как настроить две кнопки на управление громкостью в проигрывателе Winamp.

1) Выбрать кнопку пульта
2) Выбрать программу и действие
3) Добавить действие

Вот и всё. Кстати, программа начнет откликаться на команды с пульта только после закрытия главного окна. Напоследок хочу сказать, что большие полигоны на плате очень хорошо лудятся с использованием флюса СКФ:

Скачать файлы проекта (прошивка, плата, драйвер)

USB ИК приёмник на AVR: 135 комментариев

  1. Если есть свободный COM-port то можно было сделать приемник на элементарнейшей рассыпухе. Ех, будет время заняться vUSB — попробую прикошачить свой собственный универсальный пульт к ноуту.

  2. такая микросхема пойдет?
    ATTINY2313V-10PU
    AVR 2K-Flash/128-RAM/Таймер/Счетчик,WatchDog таймер
    Uпит=1,8-5,5 В
    ATMEL DIP20

    А для ком порта у меня сейчас собран, у меня немного по сложнее, но у меня есть схемы там действительно всего несколько элементов. Я не не уверен что такая схема пойдет с программой как у тебя, схема для winLirk, SlyControl2.

    1. не пойдет такой контроллер. Индекс V указывает на то что контроллер может работать на низких напряжениях но в ущерб тактовой частоте. у ATTINY2313V — максимальная частота 10 мгц. А нам тут надо 12 мгц.

  3. вот тогда еще такой в магазине есть:
    Тип корпуса: DIP20
    Рабочая температура: -40…85 °C
    Архитектура: AVR 8-bit
    FLASH: 2K byte
    EEPROM: 128 byte
    RAM: 128 byte
    Напряжение питания: CORE: 4.5…5.5 В, IO: 4.5…5.5 В
    ШИМ: 2 x bit
    Сторожевой таймер: есть
    Универсальный последовательный порт: 1 шт

  4. В прошлый раз не обратил внимание на схему, но когда хотел идти сейчас за деталями обратил внимание на обозначение конденсаторов.

    1) С1, С2 — 22pf: это 22 пФ и неполярный?
    2) С2, С5 — 10u: это 10 мкФ и полярный?
    3) С4 — 0.1uf: это 0.1 мкФ и не полярный?
    4) В файлах проекта (прошивка, плата, драйвер) в папке драйвер экзешник назван demo это нормально, никаких ограничений не будет?

  5. В магазине нет стабилитрона 3.3 вольт,а заказывать только партия от 50 шт. Возможна ли небольшая модернизация схемы чтобы обойтись без него?

    1. Можно еще на 3.6 в поставить стабилитроны. Если и их нет тогда нужно занизить напряжение питания микроконтроллера. Сделать это можно например вставив в разрез цепи питания от USB парочку диодов типа 1N4148. Остальная схема не изменится. Ну разве что исчезнут стабилитроны.

    1. потому что протеус так схемы рисует. Он считает что подключение этих ног очевидно. я наверное в последний раз рисую схемы при помощи него. Потому что не ты первый кто спрашивает…

  6. А в чем ты теперь хочешь делать?
    Я просто в P-CADе сейчас сделал и ну так не красиво схема получилась, ну просто вообще не читабельно, хотя это может просто руки у меня кривые :(

  7. А как себя ведет светодиод? Постоянно горит или только когда нажата клавиша? Просто схема будет внутри компа, а ИК приемник наружу вывел и теперь хочу светодиод тоже вывести.

  8. Почти доделал, последний рывок )))
    K_o_T 26 марта 2011 08:45
    Fuse low byte: 0xef = 1 1 1 0 1 1 1 1
    Fuse high byte: 0xdb = 1 1 0 1 1 0 1 1

    А вот теперь я правильно понимаю эти данные? так как у меня на картинке выставить?
    http://disk.tom.ru/twrq276
    Еще такой вопрос: В cavr не выставляется именно 12 Мгц. Или это не важно т.к. это смотрится по фьюзам?

  9. Даже и не знаю что делать теперь.
    Не опознает виндовс это устройство, хоть ты тресни. Драйвера не подходят. Вроде все на сто раз проверял перед тем как паять, т.к. сам в P-CADе разводил, ан нет что-то пошло не так.
    На схеме ничего не менял, только 300 Ом вместо 220 Ом поставил.
    Светодиод горит.
    Может стабилитроны не правильно поставил? Они как и диоды ставятся, черная полоска на корпусе соответствует черной полоске на схеме?

  10. У меня 2 варианта:
    1) на кварц грешу. пробовал выпаять конденсаторы (мне сказали кварц может не запускаться из-за пробитых кондеров), но и бед них тоже.
    2) Так я может прошил как то криво? хотя программатор вроде нормально работает я и с читать прошивку пробовал — получилось.

    вот скрин платы http://disk.tom.ru/a8xdcrs сразу скажу что не так красиво как у тебя получилось и не знаю читабельно ли это вообще, т.к меня этому никто не учил )))

    1. Плату я твою хорошенько проверил ошибок не обнаружил.

      Правильно ли ты подключаешь USB проводки D+ и D- ?
      Отмыт ли флюс в районе кварца?
      Когда ты пробовал считывать прошивку из контроллера был ли при этом к нему подключен кварц и конденсаторы?
      Фьюзы выставил как я тебе нарисовал?

  11. 1) USB подключаю правильно, но я все равно уже попробовал оба варианта :)
    2) Плата почти вся чистенькая
    3) Прошивал с подключенным кварцем 12 Мг и 2 конденсаторами 22пФ.
    4) фьюзы выстави, как ты мне прислал, только SUT0. SPIEN у себя не обнаружил.

  12. Я могу считывать и заливать прошивку только с подключенным кварцем и 2 конденсаторами, т.к. у меня все там припаяно. Выпаяю кварц и попробую прочитать.
    вечером отпишусь.

  13. У бесплатной версии есть один маленький неприятный момент. Когда какая либо программа начинает работать с ИК приёмником – выпрыгивает окно с кнопкой OK в котором написано что мы используем бесплатную версию.

    Не знаю нужно тебе или нет, но я нашел драйвера которые не выводят это сообщение.

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

    У меня драйвера те же что ты прикрепил к своей статье, отличие лишь в несколько байт. Там место вызова окошка с сообщением заменено NOPами (если ты знаешь что это такое), так что эти драйвера у меня запустились сразу и пока все (тьфу, тьфу, тьфу) работает нормально.

    1. Проблемы с залогиванием будут еще не скоро исправлены. Это из-за кеширующего плагина для вордпресса.
      Что такое нопы я знаю =) А ты пользуешься именно IrLink’ом? Последняя версия?
      странно блин. на двух компах такая проблема. Если ставлю не крякнутые дрова то программа нормально опознает ик приёмник.

  15. IrLink 3.736 вроде последней версии (скачал пару дней назад с http://www.irlink.ru ) для для Windows 7 Lite и Архив с Java (для Windows 98, ME, 2000, XP). Пробовал на 2 машинах с разными операционными системами. Идет нормально на обеих. Если IrLink не проверяет целостность драйвера (ну и зачем ей проверять целостность сторонних драйверов?), то ни должно быть никаких проблем.
    Вот драйвер http://disk.tom.ru/8wwz3sc.

  16. AXY, будь добр, кинь ссылочку на драйвер без этого сообщения.
    Medved, спасибо за помощь! Все прошилось прекрасно, более того я уже и программку написал (на Delphi) по расшифровке RC5, так что теперь пользуюсь своей прогой и пультом от тюнера в удовольствие ;)

  17. AXY, спасибо за ссылку !
    Medved, у меня тоже IrLink (правда 3.534, последнюю поленился качать) как и моя программка работают на ура с этим драйвером ;)

  18. Здравствуйте. Собрал данное устройство на SMD компонентах. Но проблема в том что программа не реагирует на пульт. Может ли это быть из-за того, что я вместо TSOP17xx или TSOP21хх поставил TSOP4836. Просто другого под рукой не оказалось.

    1. Скорее всего твой пульт работает на другой несущей частоте. Приёмник у тебя на 36 кГц а пульт на 38кГц работает. Самый простой способ проверить — отпаять ик приёмник и к выходу через резистор подпаять светодиод. Попробовать нажать кнопку на пульте. Если светодиод не будет мигать то дело 100% в несовпадении частот.

      1. Заменил фотоприёмник на 38кГц. Он действительно лучше принимает сигнал (если судить по миганию светодиода). Но программа не считывает код. Прошиваю через USBASP_AVRDUDE_PROG. Фьюзы вроде правильно выставил.

        Вот печатка http://imglink.ru/show-image.php?id=49120db1ae0e77bd05f4561334096ff7

  19. а можно картинку с фьюзами для uniprof? у меня чо то не получается. пишет «устройство не опознано». и еще. можно пока просто вместо диода соединить катод и анод проводком? просто его пока что нет

      1. спасибо, не дождавшись полез ставить фьюзы сам, Тинька было прошитая до этого под термометр, и на 5 проводках перестала определяться Пони, нашел программатор, который делал около года назад на КОМ порт, и который ни разу не пробовал, поставил в него, все удачно стерлось и прошилось заново.
        Наверное все таки убил я ЛПТ

        1. Еще вопрос: в программе пульт работает, при выполнении вами описанных действий, все нормально определяется, при свертывании программы в трей жму кнопки, ничего не происходит. В чем я мог ошибиться/недоделать?

  20. Доброе время суток! Купил всё детальё… почти всё. В продаже не было кондёра 0,1мкф… какой можно взять в замен?? и… светодиод любой брать?

  21. Всё собрал. Винда не определяет устройство. Дрова не встают (Win7 x86). Это устройство должно без прошивки сразу работать? И… вопрос по деталью: В магазине замучил продавца, потому что не мог сказать какой мощности мне нужны резисторы, какого напряжения кондеры…

    1. Без прошивки работа не возможна разумеется. Кроме прошивки нужно еще настроить FUSE биты. Резисторы любой мощности. У меня тут 0.25 ватт. Конденсаторы на любое напряжение выше 5 вольт.

      1. «Сам приёмник после сборки в настройке не нуждается»
        «Без прошивки работа не возможна разумеется. Кроме прошивки нужно еще настроить FUSE биты.»
        …хм… и как это сделать? я не очень силён в этой теме…

  22. Я собрал USB ИК приёмник на attiny2313-20su (в smd исполнении) прошил его все сделал что было раннее написано в комментариях детали все новые кроме МК (шил программатором USB AVR910 программа CVAVR)

  23. Возможно МК (БУ) глючный попался попробую новый в DIP корпусе или можно попробывать AT90S2313-4SI(хотя 4 MHz, врядли он запустится с кварцем на 12Mhz)

  24. В общем спаял этот чудо девайс) На ХР все распозналось и дрова усановились, но в программе ИрЛинк нажатия кнопок пульта не отображаются. Я так понимаю не реагирует ИК приемник? Или может быть в чем то еще проблема? ИК приемники использовал, что валялись у меня дома.
    Вот фото этих приемников:
    1. http://s017.radikal.ru/i412/1202/60/df4bffa4a7a8.jpg
    2. http://s018.radikal.ru/i528/1202/71/3bdf240736e8.jpg
    К сожалению незнаю какая их маркировка
    Обязательно ли использовать приемники 17хх, 21хх?
    Что лучше — 36 или 38 частота? Или может разницы для этого устройства нет?

    Может ли быть проблема только в приемники? Может стоит купить именно 17хх или 21хх? Может с фьзами что то? Но заливал прошивку через CodeVisionAVr и галочки ставил как указано в комментариях выше.

    Вот скрин фьзов:
    http://s09.radikal.ru/i182/1202/85/4c0c74802e30.png

    Кстати на Win7 показывает что подключено устройство IgorPlug-USB (AVR) , но драйвера не устанавливает.
    Спасибо заранее за ответы.

    Если что вот фото устройства
    1 сторона:
    http://s54.radikal.ru/i145/1202/5a/70c33cedcb67.jpg
    http://s018.radikal.ru/i510/1202/d7/5d55b2f31068.jpg
    2 сторона:
    http://i018.radikal.ru/1202/b0/97eccedc017b.jpg

    1. >> Обязательно ли использовать приемники 17хх, 21хх?
      Нет, можно аналогичные (аналогов не знаю, гугли)
      >>Что лучше – 36 или 38 частота?
      Без разницы, но если у тебя пульт работает на 36 КГц то и приёмник надо на 36 КГц.
      >>Может стоит купить именно 17хх или 21хх?
      Купи, они стоят 1$ примерно
      >>Может с фьзами что то?
      Нет, с фьюзами всё нормально если приёмник распознался системой.

      проблема очень похожа на то что частота на которой работает пульт и приёмник — не совпадают.
      Попробуй другой пульт

    1. Тогда не знаю в чем дело, у меня работало. А че пишет при попытке драйвер поставить? У него ведь подписи нет, может у тебя нет прав чтоб неподписанные драйвера ставить? А что если попробовать UAC вырубить (и перезагрузиться) ?

        1. Вроде все правильно делаешь, фиг знает у меня работало точно. Может я драйвер какой-то находил не знаю. Это давно было, винду переустановил поэтому драйвера утеряны.

  25. использую attiny2313a.подключил и прочитал фьюзы ,появились новые — но SPIEN так и не появился.он разрешает внутрисхемное программирование,мне это не нужно.Можно и без него я думаю?

Добавить комментарий