Ардуино: инфракрасный пульт и приемник

Содержание

Концепция Наше устройство должно уметь принимать сигнал с ИК-пульта, отличать «свою» кнопку от других, и управлять нагрузкой. Первый и последний пункты простые, как топор. А вот со вторым немного интереснее. Я решил не ограничиваться каким-то конкретным пультом (Почему? – «Не интересно так!»), а сделать систему, которая может работать с разными моделями пультов от разной техники. Лишь бы ИК-приёмник не спасовал, и уверенно ловил сигнал.

Ловить сигнал будем с помощью фотоприёмника TSOP. Причем не каждый приёмник подойдёт – несущая частота должна совпадать с частотой пульта. Несущая частота приёмника указана в его маркировке: TSOP17xx – 17 это модель приёмника, а хх – частота в килогерцах. А несущую частоту пульта можно найти в документации или в инете. В принципе, сигнал будет приниматься, даже если частоты не совпадают, но чувствительность будет фиговой – придётся тыкать пультом прямо в приёмник. Каждая компания, выпускающая бытовую технику, вынуждена соблюдать стандарты при изготовлении «железа». И частоты модуляции у пультов, тоже стандартные. Зато разработчики отрываются на программной части – разнообразие протоколов обмена между пультом и устройством просто поражает. Поэтому, пришлось придумать универсальный алгоритм, которому плевать на протокол обмена. Работает он так:

image

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

Во-вторых мелкий шум (обычно выглядит, как редкие короткие импульсы) в большинстве случаев идёт лесом – ибо если он не попадёт прямо на контрольную точку, то нифига не повлияет на систему. Значит у нас есть естественная защита от шума.

image

Схема Простая до безобразия. В качестве контроллера я взял ATTiny2313. Частота 4 мегагерца, от кварца, или внутренней RC цепочки. На отдельный разъём выведены линии RX и TX для связи, и питание. Туда – же выведен RESET для того чтобы можно было перепрошивать МК, не вынимая из устройства. Выход фотоприёмника подключается к INT0, он подтянут к питанию через резистор в 33к. Если будут сильные помехи, то можно поставить туда резистор поменьше, например, 10к. На пинах D4 и D5 висят джамперы. Jumper1 на D5 и Jumper2 на D4.

К пину D6 подцеплен силовой модуль. Причём симистор я взял самый мелкий из тех, что у меня были – BT131. Ток у него 1А – не круто, но зато корпус не слишком большой — ТО92. Для мелкой нагрузки самое то. Опторазвязку я сделал на MOC3023 – у неё нет датчика пересечения нуля, а значит она подходит для плавного управления нагрузкой (здесь я это так и не реализовал).

Порт B почти полностью выведен на разъём – туда можно прицепить индикатор или ещё что-нибудь. Этим-же разъёмом я пользуюсь при прошивке девайса. Пин B0 занят светодиодом.

Питается всё это дело через LM70L05 и диодный мост. То есть на вход можно подавать переменное напряжение, например, с трансформатора. Главное, чтобы оно не превышало 25 Вольт, а то умрёт либо стабилизатор, либо кондер.

Плата получилась вот такая:

Да, она немного отличается от той платы, которая лежит в архиве. Но это не значит, что я сделал себе убер-продвинутую плату, а вам подсунул демо версию :). Напротив, моя плата имеет пару недостатков, которых нет в конечной версии: у меня не выведена на штырёк ножка RESET, и светодиод висит на PB7. А это не очень способствует внутрисхемному программированию.

Прошивка Устройство может работать в двух режимах. В первом – когда J2 замкнут – оно просто передаёт импульсы с фотоприёмника в UART. С него и начнём:

UART работает на скорости 9600, т.е, при частоте 4МГц в регистр UBRR записываем 25.

…ждём, пока не дёрнется ножка фотоприёмника. Как только она опустилась (изначально-то она болтается на pull-up резисторе) мы запускаем таймер (TIMER/COUNTER1, тот, что на 16 бит) и врубаем прерывание INT0 на любое изменение входа – any logical change (ICS00 = 1). Таймер тикает… ждём.

Импульс с пульта кончился – выход с фотоприёмника взметнулся вверх, прерывание сработало. Теперь записываем в память значение таймера и сбрасываем таймер. Ещё нужно инкрементировать указатель записи, чтобы в следующем прерывании записать в другую ячейку памяти.

Ещё импульс… выход дёргается… прерывание… запись значения таймера в память… сброс таймера… указатель + 2 (мы пишем два байта за раз)…

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

Второй режим. Тут мы ловим команды с пульта и управляем нагрузкой.

Прерывания не используются совсем, всё крутится в главном цикле программы. В EEPROM лежат контрольные точки. Каждая из них занимает 1 байт: 7 бит на время от последней точки и 1 бит на состояние выход TSOP’a в этой точке.

После инициализации сидим и ждём, пока TSOP дёрнется. Как только это случилось – читаем из EEPROM первую точку, и в простом цикле тупим столько, сколько там написано. При этом время считаем пачками по 32us. Выйдя из ступора, проверяем – что-там на выходе приёмника.

Если выход не совпал с тем, что мы ожидали – это не наша команда. Можно спокойно дожидаться конца сигнала и начинать всё сначала.

Если выход соответствует нашим ожиданиям – загружаем следующюю точку и проверяем её. Так до тех пор, пока не наткнёмся на точку, время которой = 0. Это значит, что точек больше нет. Значит вся команда совпала, и можно дёргать нагрузку.

Вот так, получается, простенький алгоритм. Но ведь чем проще, тем надёжнее!

Софтина Сначала я думал сделать автоматическое запоминание шаблона. То есть ты замыкаешь джампер, тыкаешь пультом в TSOP, а МК сам расставляет контрольные точки и складывает их в EEPROM. Потом стало ясно, что идея бредовая: более-менее адекватный алгоритм получится чересчур сложным. Или не будет универсальным.

Второй идеей была программка для компа, в которой можно самому расставить контрольные точки. Не слишком технологично, но всяко лучше, чем доверять это дело МК.

Приучаем девайс отзываться на нужную кнопку пульта:

1) Замыкаем перемычку J1.

2) Подключаем UART. Если возможности его подключить нету, то замыкаем джампер J2. Тогда устройство будет скидывать данные в EEPROM.

3) Врубаем питание.

4) Если мы решили юзать UART, то запускаем софт и смотрим на строку состояния (внизу окошка). Там должно быть написано “COM порт открыт”. Если не написано, то ищем косяк в подключении и тыкаем кнопу «Подключить».

5) Берём пульт и тыкаем нужной кнопкой в TSOP. Как только девайс почует, что сигнал пошёл – загорится светодиод. Сразу после этого устройство начнёт передавать по UART (или писать в EEPROM) данные. Когда передача закончилась, светодиод гаснет.

6.1) Если работаем по UART, то жмём кнопу «Загрузить по UART». И радуемся надписи «Загрузил график…» в строке состояния.

6.2) Если работаем через EEPROM, то читаем программатором EEPROM память и сохраняем в *.bin файл. (Именно bin!). Потом нажимаем в программе кнопку «Загрузить .bin» и выбираем файл с EEPROM.

7) Смотрим на загрузившийся график – это сигнал с TSOP’a. На боковой панели есть ползунок – им можно менять масштаб. Теперь тыкаем мышкой по графику – ставим контрольные точки. Правой кнопкой точки удаляются. Только не нужно их ставить слишком близко к фронтам. Получается примерно так:

8) Нажимаем «Сохранить .bin» и сохраняем точки. Потом прошиваем этот файл в EEPROM. Так-как мы запихиваем время между двумя точками в 7 бит, то оно ограничено 4мс. Если время между двумя точками превысит это значение – программа откажется запихивать точки в файл.

9) Снимаем джамперы. Перезагружаем устройство. Готово!

Архив с прошивкой, платой, софтом

Видео с испытаний

ИК приемник и инфракрасный пульт дистанционного управления – самый распространенный и простой способ управления электронной аппаратурой. Инфракрасный спектр излучения не виден человеческим глазом, но он отлично принимается ИК приемниками, которые встроены в электронные приборы. Модули Arduino ir remote используются для управления различной техникой в прямой видимости.

Принцип действия ИК пульта

Широкое применение ИК излучателей стало возможным благодаря их низкой стоимости, простоте и удобству в использовании. ИК излучение лежит в диапазоне от 750 до 1000 мкм – это самая близкая часть спектра к видимому свету. В области инфракрасного излучения могут меняться оптические свойства различных материалов. Некоторые стекла, например, становятся непрозрачными для ИК лучей, парафин же наоборот прозрачен в ИК спектре.

Регистрируется излучение с помощью специальных фотоматериалов, на основе которых изготавливаются приемники. Источником инфракрасного излучения помимо нагретых тел (Солнца, ламп накаливания или свечей), могут быть твердотельные приборы – ИК светодиоды, лазеры. Излучение в инфракрасном диапазоне обладает рядом особенностей, благодаря которым их удобно использовать в пультах:

  • Твердотельные излучатели (ИК светодиоды) стоят дешево и они компактны.
  • Инфракрасные лучи не воспринимаются и не фиксируются человеческим глазом.
  • ИК приемники также дешево стоят, и они имеют небольшие размеры.
  • Малые помехи, так как передатчик и приемник настроены на одну частоту.
  • Отсутствует негативное влияние на здоровье человека.
  • Высокий показатель отражения от большинства материалов.
  • IR излучатели не влияют на работу других устройств.

Работа пульта осуществляется следующим образом. При нажатии кнопки происходит кодирование сигнала в инфракрасном свете, приемник принимает его и выполняет требуемое действие. Информация кодируется в виде логической последовательности пакетов импульсов с определенной частотой. Приемник получает эту последовательность и выполняет демодулирование данных. Для приема сигнала используется микросхема, в которой содержатся фотоприемник (фотодиод), усилители, полосовой фильтр, демодулятор (детектор, который позволяет выделить огибающую сигнала) и выходной транзистор. Также в ней установлены фильтры – электрический и оптический. Работают такие устройства на расстоянии до 40 метров. ИК способ передачи данных существует во многих устройствах: в бытовых приборах, в промышленной технике, компьютерах, оптоволоконных линиях.

IR приемник Arduino

Для считывания IR сигнала понадобятся сама плата Ардуино, макет, приемник IR сигнала и перемычки. Существует огромное множество различных приемников, но лучше использовать TSOP312 или другие соответствующие для Ардуино. Данные от пульта к приемнику могут передаваться по протоколу RC5 или NEC.

Чтобы определить, какая ножка к чему относится, нужно посмотреть на датчик со стороны приемника. Тогда на приемнике центральный контакт – это земля, слева – выход на микроконтроллер, справа – питание.

Для удобства можно использовать готовые модули IR приемника.

Подключение IR приемника к ардуино

Выходы IR приемника подключают к Ардуино к портам GND, 5V и цифровому входу. Схема подключения датчика к 11 цифровому пину изображена ниже.

Вот так выглядит схема с модулем инфракрасного приемника:

Библиотеки для работы с IR

Для работы с ИК устройствами можно использовать библиотеку IRremote, которая позволяет упростить построение систем управления. Скачать библиотеку можно здесь. После загрузки скопируйте файлы в папку arduinolibraries. Для подключения в свой скетч библиотеки нужно добавить заголовочный файл #include .

Для чтения информации используется пример IRrecvDumpV2 из библиотеки. Если пульт уже существует в списке распознаваемых, то сканирование не потребуется. Для считывания кодов нужно запустить среду ARduino IDE и открыть пример IRrecvDemo из IRremote.

Существует и вторая библиотека для работы с ИК сигналами – это IRLib. Она похожа по своему функционалу на предыдущую. По сравнению с IRremote в IRLib имеется пример для определения частоты ИК датчика. Но первая библиотека проще и удобнее в использовании.

После загрузки библиотеки можно начать считывать получаемые сигналы. Для этого используется следующий код.

Оператор decode_results нужен для того, чтобы присвоить полученному сигналу имя переменной results .

В коде нужно переписать «HEX» в «DEC».

Затем после загрузки программы нужно открыть последовательный монитор и нажимать кнопки на пульте. На экране будут появляться различные коды. Нужно сделать пометку с тем, к какой кнопке соотносится полученный код. Удобнее полученные данные записать в таблицу. После этот код можно записать в программу, чтобы можно было управлять прибором. Коды записываются в память самой платы ардуино EEPROM, что очень удобно, так как не придется программировать кнопки при каждом включении пульта.

Бывает, что при загрузке программы выдается ошибка «TDK2 was not declared In his scope». Для ее исправления нужно зайти в проводник, перейти в папку, в которой установлено приложение Arduino IDE и удалить файлы IRremoteTools.cpp и IRremoteTools.h. После этого нужно произвести перезагрузку программы на микроконтроллер.

Заключение

Использование Arduino ir remote упрощает жизнь пользователю. В качестве пульта дистанционного управления может выступать мобильный телефон, планшет или компьютер – для этого только нужен специальный софт. При помощи Ардуино можно централизовать все управление. Одной кнопкой на пульте можно выполнить сразу несколько действий – например, включить одновременно телевизор и Blu-Ray.

С тем, что беспроводной универсальный пульт дистанционного управления (ПДУ) вносит определенные удобства при эксплуатации бытовой техники, согласятся все. Время, когда использовался проводной удлинитель, в качестве ДУ, навсегда ушло в прошлое.

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

Дистанционное управление это комфорт

Примеры реализации

Учитывая, что уровнем освещения энергосберегающих лампочек управлять не получится, остается только один вариант – включать и выключать их. Приведем несколько примеров, как организовать дистанционное управление светом с пульта.

Дистанционный выключатель — это самый простой вариант, в котором розетка (или группа розеток) управляется при помощи дистанционного пульта, к ней можно подключить светильники или другие бытовые приборы. То есть для включения или выключения центрального освещения устройство не подходит.

Пульт с набором управляемых розеток

В качестве еще одного примера простого решения, можно привести вариант, когда контролер, принимающий сигнал от пульта управления, встроен в патрон электрической лампочки.

Патрон с контролером и ПДУ

При этом пульт управления может одновременно работать с группой контролеров, что позволяет регулировать освещенность, включая и выключая определенное количество лампочек на люстре. Но у этого варианта также есть свои недостатки:

  • полностью отсутствует универсальность, то есть, управлять можно только работой электрических ламп;
  • небольшой размер корпуса приводит к перегреву электронного оборудования, что становится причиной непродолжительного срока эксплуатации, этим особенно страдают изделия китайских производителей.

ПДУ и контролер управления электрооборудованием, представленный на рисунке ниже, позволяет подавать питание на три канала, при этом мощность каждого из них может быть до 1000Вт. То есть можно не только управлять освещением, а и включать другое электрооборудование, например, насос.

Контроллер и ПДУ

Бывает, что производитель не комплектует контроллер дистанционным пультом, в этом случае может быть использован универсальный ПДУ, который подходит для управления работой телевизора (Сони, Самсунг и т.д.), кондиционера (Toshiba, Daewoo, Philips и т.д.), фотоаппарата (Nicon)или даже шлагбаума и замком ворот.

Такие универсальные устройства дистанционного управления (пульты) выпускают многие известные производители электронной продукции, например: JVC, Sony, Panasonic, BBK, Samsung, Thomson, Pioneer, Canon и т.д.

Заметим, что мобильные телефоны могут иметь опцию «универсальный инфракрасный пульт», например, такая функция есть у некоторых моделей Nokia и Apple.

Все, что потребуется после приобретения универсального ПДУ – это его настройка, коды для этого содержит инструкция к устройству.

Универсальный ИК пульт Philips

Говоря об управлении освещением при помощи дистанционного пульта, нельзя не упомянуть о такой концепции, как «Умный дом», в ее основе лежит контроллер, программирование которого происходит через USB соединение при помощи ноутбука или компьютера.

При такой реализации на пульт может быть выведено несколько запрограммированных режимов освещения дома и территории участка, например:

  • дежурное освещение;
  • ночной режим;
  • режим праздничной подсветки;
  • освещение определенных комнат и т.д.

Для выбора того или иного режима достаточно нажать определенные кнопки на пульте.

Типы устройств

Пульты, дистанционно управляющие освещением, классифицируются в зависимости от принципа передачи сигнала контроллеру (реле, отвечающее за включение света). Наиболее распространены два типа устройств, каждый из которых имеет свои особенности, определяющие достоинства и недостатки:

  • ИК пульты, ограничены небольшим радиусом действия, в них используется инфракрасная лампочка, передающая сигнал на расстояние до 12 метров. Такие устройства могут управлять работой контроллера только в пределах прямой видимости, то есть, включить освещение в соседней комнате не получится. Достоинства ИК ПДУ – низкая цена;
  • Радиопульты стоят несколько дороже инфракрасных аналогов, но радиус их действия значительно больше (до 100 метров), помимо этого, они могут управлять контроллером, находящимся за стеной в другом помещении. Это значительно расширяет их сферу применения, в частности, радиопульты дистанционного управления подходят для ресивера.

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

Отдельно необходимо заметить, что некоторые программируемые контролеры, входящие в основу системы «Умный дом», могут содержать GSM модуль, позволяющий управлять им при помощи мобильной связи. В таком случае достаточно иметь телефон с тачпадом, на который устанавливается специальная программа.

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

Делаем самостоятельно управление освещением

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

Фото контроллера с пультом

Если ваш город Москва или СПб, то такой набор можно купить за $7-$8, в других регионах следует учесть стоимость доставки пульта управления и дистанционного контролера. Вы можете использовать комплект любых других производителей, например: Elenberg, Gal, Hama, IRC, Remote и т.д.

Видео: Диагностика и ремонт пульта дистанционного управления

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

Схема подключения контроллера для дистанционного управления освещением при помощи пульта, как видно на рисунке ниже, нарисована непосредственно на корпусе устройства, поэтому, если следовать ей, проблем не возникнет.

Фото контроллера с нанесенной на нем схемой подключения

Разбираем люстру и подбираем место для размещения контролера.

Разобранная люстра Место, где будет установлено устройство

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

После этого собирается и подвешивается люстра, затем производится установка батарейки в пульт дистанционного управления. Для проверки работоспособности не потребуется пользоваться никакими приборами, достаточно с пульта послать сигнал на приемник.

Декодирование сигналов инфракрасного пульта дистанционного управления

29/05/2011 — 17:36 Однажды мне понадобилось управлять устройством с помощью пульта дистанционного управления. Дистанция требовалась небольшая (до 10 метров) и я решил использовать для этих целей ИК приемник и инфракрасный пульт от бытовой аппаратуры. Для инфракрасных пультов дистанционного управления (ИК ПДУ) существует несколько протоколов передачи данных. Они отличаются способами кодирования битов, длительностями сигналов, несущей частотой и количеством передаваемых данных. Один из самых распространенных протоколов, судя по интернету, – это RC5. Изначально я думал, что придется разбираться с ним, но ни одного пульта с таким протоколом у меня под рукой не оказалось. Зато нашлись три пульта от DVD плееров, использующих протокол фирмы NEC. Принцип передачи ИК сигналов заключается в следующем — электрический сигнал несущей частоты модулируется передаваемыми данными и с помощью инфракрасного светодиода излучается в пространство. Передача сигнала уже реализована в пульте, этот вопрос мы не затрагиваем, хотя ничего сложного там нет. Для приема сигнала используется специальная микросхема, объединяющая в себе фотодиод, усилитель с полосовым фильтром, настроенным на определенную несущую частоту, и детектор, выделяющий огибающую сигнала. Как правило, микросхема имеет три вывода – два питающих и один сигнальный. Последний подключен к коллектору выходного транзистора микросхемы, из-за чего сигнал на выходе оказывается инвертированным. Микросхемы этого семейства объединены общей аббревиатурой— TSOP. Для того чтобы узнать, какой протокол используется в пульте дистанционного управления, нужно собрать схемку с ИК приемником, снять осциллограмму сигнала и сравнить ее с известными протоколами. Правда есть один момент, ИК приемник рассчитан на работу с одной несущей частотой, а в некоторых протоколах значения несущих частот отличаются — одни используют 38 кГц (например, протокол фирмы Nec), другие 36 или 40. Поэтому одна и та же схема не сможет работать со всеми без исключения ИК пультами дистанционного управления. Схема, которую я использовал при написании программы, приведена на рисунке ниже. Прием ИК сигналов осуществлялся микросхемой TSOP2138, рассчитанной на частоту 38 кГц. Для передачи данных используется несущая частота 38 кГц. Посылка состоит из стартового импульса и четырех байтов данных – адрес, инвертированное значение адреса, команда, инвертированное значение команды. Адрес и команда передаются дважды для повышения надежности. Посылка, содержащая адрес и команду передается однократно, но при удержании кнопки пульта дистанционного управления через каждые 110 мс излучается код повтора – пачка импульсов несущей частоты длительностью 9мс, пауза в 2.25 мс и пачка импульсов длительностью 560 мкс. Существует расширенная версия протокола Nec, в которой используется 16-ти разрядные адреса. Для декодирования ИК сигналов, соответствующих протоколу Nec, требуется измерять время между передаваемыми пачками импульсов. Для этого можно использовать схему захвата, внешнее прерывание или банальный опрос вывода микроконтроллера. Я остановил свой выбор на схеме захвата. Рассмотрим алгоритм работы программы, декодирующей сигналы ПДУ. (Код не привожу, чтобы не загромождать описание.) В начале функции main() выполняется инициализация таймера Т1 — разрешается прерывание по событию «захват», устанавливается работа схемы захвата по спадающему фронту (потому что сигнал на выходе ИК приемника инвертированный), нормальный режим работы таймера и коэффициент предделителя, позволяющий вычислять длительность между пачками импульсов без многократных переполнений счетного регистра. Инициализируется lcd дисплей, используемый для отладки. Устанавливается флаг глобального разрешения/запрещения прерываний. Далее микроконтроллер «попадает» в бесконечный цикл while, в котором вызываются функции обработки и вывода данных – TIM_Handle() и TIM_Display() соответственно. Параллельно выполнению основного кода, работает таймер Т1 и его схема захвата. Как только логический уровень вывода ICP(PD6) меняется с «1» на «0» выполнение основного кода прекращается и вызывается обработчик прерывания. В обработчике микроконтроллер сохраняет текущее и предыдущее значение счетчика таймера и устанавливается флаг, сигнализирующий функции TIM_Handle() о захвате нового значения. Функция TIM_Handle() представляет собой конечный автомат с двумя состояниями – IDLE(ожидание) и RESEIVE(прием). В начале функции проверяется установка программного флага и в случае выполнения условия, вычисляется длительность временного интервала и выполняется код автомата. Начальное состояние автомата –IDLE. В этом состоянии автомат ожидает появление стартового импульса или кода повтора. Если длительность временного интервала меньше максимально возможного значения, но больше порогового — принят стартовый импульс. Автомат инициализирует переменные и меняет свое состояние на RESEIVE. Если значение меньше порогового – принят импульс повтора, выполняется инкремент счетчика повторов (пятый байт массива buf[]). Переменные, используемые автоматом:currentState – текущее состояние автомата,period – длительность временного интервала,data – приемный «сдвиговый регистр», countBit – счетчик принятых битов, countByte – счетчик принятых байтов,buf[] – пяти байтовый массив данных — адрес, инвертированное значение адреса, команда, инвертированное значение команды, количество повторов В состоянии RESEIVE автомат сравнивает длительность временного интервала с максимально возможным значением и с пороговым. Если интервал больше порогового значения – значит, принята единица, если меньше – то ноль. В случае приема единицы в переменной data устанавливается 7 разряд. Далее проверяются счетчики битов и байт, с помощью которых контролируется «укладка» битовой последовательности в массив. Как только будет принято четыре байта, автомат установит флаг RESEIVE_OK и сменит состояние на IDLE. Флаг RESEIVE_OK сигнализирует функции TIM_Display() о выводе принятых данных на символьный lcd. В данном проекте дисплей использовался исключительно в целях отладки.nec-iaravr.rarnec-winavr.rar nec-codevision.rarПротоколы ИК пультов

В повседневной жизни нас окружает множество различной техники и электроприборов, для удобства управления которыми, используются пульты дистанционного управления (ПДУ). При этом всё чаще встречаются модели, в которых только с пульта возможно получить доступ до определенных меню и функций прибора, делающих использование его без пульта дистанционного управления (ДУ) невозможным.

Кроме различной аудио-видео техники, инфракрасными (ИК) пультами дистанционного управления могут быть оснащены любые системы в квартире: кондиционеры или приточно-вытяжные системы, управление шторами или жалюзи, всевозможные элементы, относящиеся к «умному дому» и т.д.

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

Но как это реализовать, ведь для работы ИК пульта управления необходимо чтобы и приёмник, расположенный в электроприборе и передатчик инфракрасного сигнала – пульт, были в прямой видимости друг друга или не очень далеко, чтоб смог дойти отраженный сигнал.

Выходом из этой ситуации является использование ИК ретранслятора, также называемого — удлинителем ИК пульта.

В настоящее время, в продаже присутствует достаточное количество моделей ИК удлинителей различных производителей, абсолютное большинство из которых сделано в Китае. Все они различаются как внешне, так и по основным характеристикам и функционалу. Давайте рассмотрим работу ИК удлинителя на примере довольно успешной, на мой взгляд, модели ретранслятора фирмы QED — Roomlink rl-sp3 (румлинк).

image

Roomlink – это не просто ик-удлинитель, это многофункциональный комплекс, позволяющий решить практически любую задачу, связанную с увеличением или переносом зоны охвата любого инфракрасного ПДУ . Главной особенностью данного ИК удлинителя, является наличие в комплекте приемника инфракрасного сигнала — датчика, выполненного в виде электроустановочного оборудования, иными словами похожим на выключатель или розетку, который устанавливается в стандартный подрозетник.

image

Принцип работы ИК удлинителя довольно прост – сигнал с пульта ДУ попадает в приёмник ИК сигнала, после чего по проводам доставляется в центральный блок Roomlink, где обрабатывается и посылается дальше по передатчику(излучателю) ИК сигнала к требуемому устройству. Сам излучатель ИК сигнала закрепляется напротив окошка, через которое прибор общается со своим пультом, соответственно Roomlink ретранслирует полученный сигнал прямо в него. Ниже приведена схема работы Ик удлинителя Roomlink, где наглядна показан принцип его работы.

image

image

Кроме этого, если требуется подключить более чем четыре ИК датчика, их можно подсоединять последовательно один к другому, для этого в каждом приёмнике есть клеммы in (ввод, сюда подключается следующий ик сенсор) и out (вывод, сюда подключаются провода, идущие от центрального блока Roomlink).

image

Схема подключения ИК сенсора, может быть как паралельная, так и последовательная, а также возможно совмещение обоих типов соединения:

image

image

image

Как видите, ИК удлинитель достаточно универсальное и очень удобное изобретение, которое позволяет управлять техникой с пульта ДУ даже если она расположена вне зоны его прямого действия. При этом ик удлинитель совместим практически со всеми возможными устройствами с инфракрасными пультами дистанционного управления и имеет удобную, проработанную технологию подключения .

В повседневной жизни бывает достаточно много ситуаций, при которых использование ИК удлинителя просто необходимо : когда теле-, аудио-, видео- и любые другие устройства вынужденно спрятаны или вынесены за пределы действия пульта, находятся в другом помещении или в сильном удалении от места, от куда ими удобно управлять.

Особенностью же Ик удлинителя Roomlink, заключается в том, что все коммуникации для него необходимо прокладывать и подготавливать уже на этапе ремонта, так как сенсор ик датчика встраиваемый и устанавливается в стандартный подрозетник.

Все ваши вопросы по работе ИК удлинителя или же опыт его реализации на других компонентах, обязательно описывайте в комментариях к статье!


Источник: bfm-nn.ru