074-Преобразователь IR-to-UART на ATtiny2313.

Автор: | 31.05.2011

Несколько статей назад я описывал конструкцию преобразователя IR-to-UART на универсальной плате для IR устройств.  Универсальная плата драйвера получилась компактной и удобной. Я уверен — на ней мы соберем еще много интересных устройств!

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

Как работает устройство, я повторно описывать не буду — читайте статью преобразователя IR-to-UART на ATtiny13, там все расписано. Отличий в работе нет — устройство принимает команду от бытового IR пульта и после обработки выдает ее код по UART.

Сборка преобразователя.
Как я уже писал, преобразователь будет собран на платы для сенсорных устройств. Необходима лишь небольшая доделка:

Схема преобразователя IR-to-UART
074-Tiny2313-IR-to-UART-schem.spl7 - Схема преобразователя IR-to-UART на ATtiny2313

Как видно из схемы нужно, всего лишь, добавить TSOP . TSOP может быть любым на 36 или 38 кГц. Главное не перепутайте вывода — они у всех расположены по разному (читайте даташит на свой TSOP!).  IR-светодиод пока не нужен, я его нарисовал для следующих устройств.
Как Вы понимаете, устройство можно собрать и на своей плате — развести ее не составит труда.

Параметры UART:
— скорость 9600;
— размер посылки 8бит;
— 1 стоп бит;
— без бита четности.

Как и в варианте на ATtiny13, я сделал два варианта прошивки.
Первый вариант – простой. По UART выдается код нажатой клавиши пульта в виде одного байта. В виду того, что нажатой клавише соответствует только один байт, на принимающей стороне (Ваш электронный проект) очень легко будет обрабатывать посылки. Но с другой стороны при однобайтном отображении нажатой клавиши пульта возможны ситуации, когда две разные клавиши пульта (или разных пультов) выдадут одинаковой код.

Для устранения этого недостатка я сделал второй вариант прошивки — она выдает на каждую нажатую клавишу двух байтовый код (слово). Причем, перед каждым кодом посылается символ «*» — это должно помочь при приеме сообщения на принимающей стороне. Общий вид сообщения передаваемого по UART при приеме очередного кода будет следующим: «*хх», где хх-двухбайтовый код нажатой клавиши.

Обе прошивки при подаче питания на устройство выдают по UART строку «OK!» и издают звук (или мерцают светодиодом, в зависимости что Вы там установили) . При приеме IR сигнала (любого) схема реагирует звуком (светом).

Простой вариант прошивки — однобайтовый:
074-T2313-IR-to-UART-1B.hex - Прошивка IR-to-UART на ATtiny2313 (1 байт)
074-T2313-IR-to-UART-FuseBits.png - Фьюзбиты для IR-to-UART на ATtiny2313
Как правильно прошить AVR фьюзы

Расширенный вариант прошивки – трехбайтовый(«*хх»):
074-T2313-IR-to-UART-3B.hex - Прошивка IR-to-UART на ATtiny2313 (3 байта)
074-T2313-IR-to-UART-FuseBits.png - Фьюзбиты для IR-to-UART на ATtiny2313
Как правильно прошить AVR фьюзы


Файлы:
074-source-T2313-IR-to-UART-1B.zip - Исходник IR-to-UART на ATtiny2313 (1 байт)
074-source-T2313-IR-to-UART-3B.zip - Исходник IR-to-UART на ATtiny2313 (3 байта)

Ссылки:
060-Драйвер сенсорной клавиатуры «Touch Me» на ATtiny2313.

 


(Visited 845 times, 2 visits today)

There are 53 comments

Комментарии подгрузятся после небольшой паузы.