Как работает приемник пульта телевизора

Домой в качестве HTPC (для просмотра фильмов из интернета), был куплен сломанный, без экрана, нетбук Asus Q200E с Windows8. Установленный на него Ace Stream Player со своей задачей справляется на отлично, единственное что было не удобно, так это управлять этим компьютером через беспроводную мышь (особенно когда функции мыши в основном это – пауза/проигрывание и перемотка назад/вперед). Рассмотренные варианты покупки специальных пультов для управления HTPC меня не устроили (по цене, и потому что это еще один лишний пульт дома). Было решено использовать пульт от телевизора, для этого….

Был куплен FLIRC на официальном сайте www.flirc.tv на распродаже по $12.95, доставка в Россию $6.9 – итого $20 — около 1500 рублей по курсу на день покупки. Из СШП до Екатеринбурга посылка доехала за 20 дней. Трекинг номер сначала трекался на сайте USPS, после пересечения границы на сайте почты России. В мелком пакете было только само устройство, и бланк заказа.

Дистанционное управление 8 нагрузками по ИК каналу.Пульт ДУ и приемник


фото 1.
После распаковки.
фото 2.

Подготовка к работе.

FLIRC – это универсальный программируемый USB приемник IR диапазона, заточенный под работу с любыми пультами дистанционными управления.
Так, как это USB устройство – то перед началам его использования необходимо скачать с официального сайта (www.flirc.tv/downloads) и установить драйвера и программное обеспечение для его использования и программирования.

рис.1
После установки необходимо перезагрузить компьютер.
После подключения устройства к компьютеру оно определяется как несколько HID – совместимых устройств управления USB, а так же как HID – клавиатура. Устройство не содержит индикаторов своей работы (лампочек и т.п.)
рис.2
Первое что нужно сделать после подключения устройства к компу – это обновить его прошивку (FirmWare) (т.к. новое ПО не корректно работает с устройствами не его версии). Для этого запустите программу FLIRC (GUI) и через меню «File» -> «Advanced» -> кнопкой «Force FW Upgrade» — прошейте устройство.
Рис.3

Подготовка к программированию FLIRC. (я сам не ожидал, что будет так все не просто).
1. Замените батарейки на новые (желательно качественные) в пульте ДУ который будет использоваться для программирования FLIRC.

2. Вычислите все кнопки пульта ДУ которые НЕ задействованы в управлении телевизора при подключенном HTPC. (например у меня цифровые кнопки пульта ДУ оказывается используются для переключения канала даже при подключенном HTPC). Только НЕ используемые кнопки пульта ДУ могут быть запрограммированы FLIRC.

НЕ РАБОТАЕТ ПУЛЬТ (или его кнопки). Решение за 5 минут

3. Оберните устройство FLIRC – фольгой (пищевой, алюминиевой в 2 слоя), и кончик фольги закоротите на металлическую часть разъема USB устройства. (На форуме сайта flirc.tv — рекомендовали выключить свет (лампы накаливания), вместо оборачивания устройства фольгой)

фото 3.

За фига? – не знаю как будет у Вас, но я два дня потерял пока не понял этой фишки – IR приемник в устройстве FLIRC очень чувствительный и реагирует на очень слабый сигнал (улавливает IR излучение чуть ли не от ладони руки, что приводит к не возможности его программирования), а включении галки в меню File -> Advanced settings -> Noise Canceler – переводит его в режим бесчувственной болванки. Мой пульт ДУ в легкую пробивает двойной слой фольги с расстояния в 10-30 см.

Программирование (обучение командам) FLIRC.

Суть программирования – записать IR сигнал с пульта ДУ и ассоциировать с ним HID команду (эмуляция нажатия клавиши на клавиатуре ПК). То есть фактически FLIRC преобразовывает нажатия кнопок на пульте ДУ в нажатия клавиш клавиатуры. Поэтому программировать FLIRC можно на одном компе, а использовать на другом, так как команды записаны внутри самого устройства.

1.Необходимо очистить все команды которые были записаны в устройство. Через ПО FLIRC (GUI) меню File -> Clear Configuration.
рис.4

2.Необходимо задать режимы работы устройства, через ПО FLIRC (GUI) меню File -> Advanced settings – убрать галку «Builtin Profiles» (нужна только для МСЕ), в общем сделать как на рисунке 3.
рис.3

3.Запись команды через ПО FLIRC (GUI) .

3.1.На клавиатуре нажать Win+R ввести CMD.EXE, перейти в папку cd “C:Programm Files (x86)Flirc”, выполнить команду “flirc_util.exe keys”
рис.5
Должна появится надпись “No Keys Found” – если этой надписи нет, то повторите пункты 1 и 2. И обратите внимание на то, что после “flirc_util“ необходимо набирать .EXE
“No Keys Found” – означает, что никаких команд в память устройства не записано и можно начинать их запись.

3.2. В программе FLIRC (GUI) через меню «Controllers» выбрать «Full Keyboard».

3.3.1. На экране появится изображение клавиатуры, внизу будет надпись «Click a key to start recording»,
рис.6

Еще по теме:  Сабвуфер схема к телевизору

3.3.2. на появившейся на экране клавиатуре, мышкой выбрать кнопки левый “Ctrl”, левый “Alt” и “1” – снизу появится надпись «Press the button to be prepared with ‘lconrol+lalt+1’»
рис.7

3.3.3.Направить пульт ДУ на устройство и нажать на пульте кнопку «1», надпись «Press the button to be prepared with ‘lconrol+lalt+1’» — исчезнет и появится «Recorded successfully».
рис.8

Вот собственно и записали команду в устройство, при нажатии на пульте кнопки «1» устройство FLIRC в компьютер будет посылать одновременное нажатие клавиш на клавиатуре левый “Ctrl”, левый “Alt” и “1”.

3.3.4.Для проверки записанной команды, нажмите на пульте ДУ кнопку «1», на экранной клавиатуре должны подсветиться зеленым левый “Ctrl”, левый “Alt” и “1”.
рис.9

3.3.5.В открытом в пункте 3.1. окне повторить команду “flirc_util.exe keys”.
рис.10
На экране отобразится записанная команда под «Index»-ом – «0» будет «key» — «left_ctrl+left_alt+!».

3.4. Если при проверке в пункте 3.3.4 на экране не подсвечивались зеленым левый “Ctrl”, левый “Alt” и “1” – то это значить что вместо команды с пульта ДУ, устройство записало тепловой шум –это бывает довольно часто, даже не смотря на экранирование устройства фольгой. Записанную шумовую команду нужно удалить из устройства нажав кнопку «Erase» (либо командой «flirc_util.exe delete_index X» — где «X» — индекс последней записанной команды.)
рис.11

3.5. Повторяя пункты 3.3.1. – 3.3.5. и перебирая все незанятые на пульте ДУ кнопки, для полного программирования устройства FLIRC. Не рекомендую использовать для клавиатурных сокращений буквенные клавиши на клавиатуре, так как при переключении языка ввода с «EN» на «RU» — они работать не будут. Используйте цифры от «0 до 9» и функциональные клавиши «F1- F12», в месте с различными комбинациями клавиш «Ctrl, Alt, Shift»

Вот примерное видео пунктов 3.3.1-3.3.4

4. Запись команды через ПО flirc_util.exe .
Для управления курсором мыши на экране с пульта ДУ телевизора, можно также использовать устройство FLIRC, для этого воспользуемся специальными возможностями Windows.

4.1. Через «Панель управления» зайдите в «Центр специальных возможностей» в «Облегчение работы с мышью»
рис.12
Выберите «Настройка управления указателем», выставите галки и бегунки (на максимум), как на следующем рисунке.
рис.13
Нажмите кнопку «Применить» и теперь можно управлять курсором мыши по средством цифрового блока клавиатуры, отключив клавишу NumLock.

4.2.Найдите на пульте ДУ девять (3х3) расположенных рядом кнопок, их нужно запрограммировать на нажатия клавиш на цифровом блоке клавиатуры

4.3. На клавиатуре нажать Win+R ввести CMD.EXE, перейти в папку cd “C:Programm Files (x86)Flirc”

4.4. Выполните команду “flirc_util.exe record_api 0 89”, и нажмите на пульте ДУ кнопку отвечающую за движение мыши вниз-влево. Команда будет записана.
рис.14
4.5. Нажмите на пульте ДУ еще раз на эту копку, курсор мыши должен двигаться на экране вниз-влево.
4.6. Если курсор мыши не двигается, удалите последнюю записанную команду как в пункте 3.4 и повторите пункты 4.4.-4.5 пока не получите необходимого результата.
рис.15

4.7. В команде “flirc_util.exe record_api 0 89” — числа от 89 до 97 — соответствуют клавишам от 1 до 9 на цифровом блоке клавиатуры, код 93 соответствует клавише 5 — то есть нажатию на кнопку мыши. Повторите пункты 4.4. — 4.6. для всех девяти кнопок пульта ДУ, соответственно.

Настройка Ace Stream Player для работы с пультом ДУ.
Выберите в настройках Ace Stream Player горячие клавиши, и просто прощелкайте на пульте ДУ необходимые кнопки. Перезапустите Ace Stream Player.

Включение компьютера от кнопки с пульта ДУ.
Для устройства FLIRC заявлена функция кнопки пробуждения из сна «WAKE», но для ее работы необходимо чтобы через BIOS компьютера можно было разрешить функцию пробуждения от USB, Я использовал netbook и в нем такой функции я не нашел, то есть при засыпании отключается питание на USB и устройство FLIRC просто не работает.

Заключение.
Для работы в HTPC с устройства FLIRC нужно снять фольгу. Так как лишних команд в устройстве не записано, оно не будет реагировать на тепловой шум.

Плюсы:
Устройство работает и выполняет заявленные функции.
Минусы:
Отсутствовала инструкция на русском языке (уже исправлено:)

Награждение не причастных:

фото 4.

Планирую купить +38 Добавить в избранное Обзор понравился +37 +74

  • 20 марта 2015, 22:55
  • автор: glazgb3
  • просмотры: 22402

Источник: mysku.club

Подключение ИК-приемника к Arduino: инфракрасная станция и пульт

Блог про Arduino

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

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

ИК-приемник — это фотодиод и предусилитель, преобразующий ИК-свет в электрический сигнал. Поскольку всегда присутствуют посторонние ИК-шумы (дневной свет, лампы и т эту частоту). Таким образом, ИК-приемник будет знать, что передатчик отправил сигнал с частотой 38 кГц.

  • VCC: блок питания модуля
  • GND: модуль питания
  • D0: цифровой выход
Еще по теме:  Как увидеть луч от пульта телевизора через телефон

Подключение модуля HX1838 с ИК пультом к Arduino

  • Arduino UNO R3 x 1 шт.
  • Модуль HX1838 с ИК-пультом — 21 кнопка x 1 шт.
  • Кабель DuPont, 2,54 мм, 20 см, FM (мама-папа) x 1
  • Кабель USB 2.0 AB x 1 шт.

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

Программа:
После сборки схемы вы можете загрузить и установить библиотеку «IRremote», затем загрузить или скопировать эскиз и загрузить его на плату Arduino.

Теперь мы открываем окно «Мониторинг порта», и когда мы нажимаем кнопки на пульте дистанционного управления, вы можете увидеть шестнадцатеричный код кнопок.

Используя этот пример, вы можете получить карту ключей. Кстати, при непрерывном нажатии на клавишу мы получаем код 0XFFFFFFFF.

Подключение ИК датчика препятствий к Arduino

Подключить ИК-модуль к Arduino предельно просто: мы подключаем VCC и GND модуля к + 5V и GND Arduino, а выход OUT датчика — к любому цифровому или аналоговому выводу Arduino. Подключу к аналоговому входу А7.

Задача

Светодиод с дистанционным управлением.

Программа

После подключения ИК-датчика напишем программу для Arduino Uno. Для этого воспользуемся стандартной библиотекой IRremote, призванной как раз упростить работу с приемом и передачей ИК-сигналов. С помощью этой библиотеки мы будем получать команды от пульта ДУ и для начала просто будем выдавать их в окне монитора последовательного порта. Эта программа помогает нам понять, какой код предоставляет каждая кнопка.

Загрузим программу на Arduino. Далее пробуем получать команды с пульта ДУ. Откройте монитор последовательного порта (Ctrl + Shift + M), возьмите пульт дистанционного управления и наведите его на датчик. Нажимая несколько кнопок, мы наблюдаем коды, соответствующие этим кнопкам, в окне монитора.

сенсор-ir

Проблема с загрузкой программы

В некоторых случаях при попытке загрузить программу в контроллер может появиться ошибка:

TDK2 не был заявлен в его объеме

Чтобы исправить это, просто удалите два файла из папки библиотеки. Входим в проводника. Перейдите в папку, в которой установлено приложение Arduino IDE (скорее всего, это «C: Program Files (x86) Arduino»). Затем в папке библиотеки:

… Ардуино библиотеки RobotIRremote

и удалите файлы: IRremoteTools.cpp и IRremoteTools.h. Затем перезапустите Arduino IDE и попробуйте снова загрузить программу в контроллер.

Что такое инфракрасный свет

Инфракрасное излучение — это тот же свет, который мы видим вокруг себя. Единственное отличие от обычного дневного света заключается в частоте и длине волны. Инфракрасное излучение находится за пределами диапазона света, видимого человеческим глазом. Поэтому мы этого не видим. Но если бы его увидели, это был бы тот же свет, что и луч факела или лампы.

Потому что ИК-свет — это разновидность света. Для работы ИК-приемника требуется прямая видимость между приемником и источником. Он не может работать через стены, как Wi-Fi или Bluetooth.

Спектр электромагнитного излучения
Спектр электромагнитного излучения
Спектр электромагнитного излучения

Примеры

Примеры для библиотеки NecDecoder 2.x!

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

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

Нажимаем кнопку на пульте — получаем его код

Схема сборки

Составим следующую схему:

IR приемник Arduino

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

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

Инфракрасный ИК-приемник Arduino

Инфракрасный ИК-датчик Arduino

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

Инфракрасный ИК-датчик Arduino

ИК-приемник

Подключение ИК-приемника к ардуино

ИК-выходы приемника подключены к Arduino к GND, 5V и портам цифрового входа. Ниже представлена ​​схема подключения датчика к 11-му цифровому выводу.

Схема подключения инфракрасного ИК-датчика Arduino

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

Скетч Arduino для инфракрасного датчика препятствий

Схема работы с инфракрасным датчиком препятствий также предельно проста — мы будем считывать показания с выхода модуля и отображать их на мониторе двери. А также, если ИК-модуль обнаружил препятствие, мы сообщим об этом.

Напоминаю, что Arduino использует 10-битный АЦП, поэтому значение аналогового сигнала кодируется числом от 0 до 1023. При использовании аналогового входа Arduino вы вряд ли получите «0» или «1023». «от датчика, поэтому лучше использовать порог, например равный 100 (так на скетче r <100). При использовании цифрового вывода Arduino для считывания показаний инфракрасного датчика вы можете написать (r == LOW) или (r == 0) или (r <1).

Хорошая статья об аналоговых измерениях на Arduino.

Думаю, вполне понятно, как найти применение такому модулю в ваших проектах. Необходимо периодически опрашивать состояние на выходе модуля, и как только напряжение изменится с ВЫСОКОГО на НИЗКОЕ, предпринять необходимые действия: изменить направление движения робота, включить свет в комнате и т.д.

Библиотека IRremote.h

Для комфортной работы с модулем Arduino готова библиотека IRremote.h. Загрузите и установите его с помощью диспетчера библиотек. А затем откройте программный код IRreceiveDump из примеров.

Еще по теме:  Телевизор Supra stv lc40st00100f черный

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

Загружаем программу в Arduino, подключаем схему и пробуем пульт.

Считывание данных дистанционного управления на модуле KY-022
Считывание данных дистанционного управления на модуле KY-022
Считывание данных дистанционного управления на модуле KY-022

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

Данные с пульта ДУ Samsung на модуле KY-022
Данные с пульта ДУ Samsung на модуле KY-022
Данные с пульта ДУ Samsung на модуле KY-022

Необходимые компоненты

Итак, нам понадобятся:

  • 1 пульт дистанционного управления. Почти все ИК-пульты будут работать.
  • Плата Arduino, макет, перемычка

В качестве светодиода мы будем использовать встроенный светодиод Arduino.

Библиотеки

  • IRremote — очень тяжелая «стандартная» библиотека общего назначения
  • IRLremote — компактная и продвинутая библиотека NicoHood
  • NecDecoder — наша библиотека для интерфейса NEC (Hash), который запускает все китайские пульты дистанционного управления

В примерах на этом сайте мы будем использовать NecDecoder, поскольку он очень легкий и простой в использовании. Библиотека попадает в архив на GyverKIT, и последнюю версию всегда можно установить / обновить из встроенного менеджера библиотек Arduino под названием NecDecoder. Краткую документацию можно найти по ссылке выше, основные примеры есть в самой библиотеке.

ИК приемник KY-022

Модуль KY-022 представляет собой приемник ИК-сигнала, сигнальный светодиод и резистор к нему. Модуль имеет три контакта. Источник питания 5 В, заземление и вывод данных. От него мы получим сигнальный код.

Подключаем модуль к Arduino согласно схеме.

Принципиальная схема подключения ИК-приемника KY-022

Принципиальная схема подключения ИК-приемника KY-022

Управляем светодиодом с помощью ИК-пульта

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

  • FFA857 — увеличение объема;
  • FFE01F — уменьшение объема.

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

Загрузите в Arduino и попробуйте. Нажимаем vol + — загорается светодиод. Жмем vol- — выключается. Теперь, зная, как это работает, вы можете управлять моторами роботов или другими самодельными микроэлектронными устройствами вместо светодиода!

Результат

Если вы используете обычный пульт Arduino, нажмите кнопку 1, и встроенный светодиод загорится и погаснет.

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

Эксперимент 2

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

Необходимые комплектующие

  • 1 х пульт от телевизора;
  • 1 х ИК-приемник;
  • 1 х Arduino Mega 2560;
  • 2 светодиода;
  • 2 резистора по 330 Ом;
  • 1 плата для разработки;
  • перемычки.

Схема соединений

Схема подключения точно такая же, как в эксперименте 1.

Код для эксперимента 2

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

Источник: oarduino.ru

ИК ПДУ

Пульт ДУ (ПДУ, пульт дистанционного управления; RCU, англ. remote control unit) — электронное устройство для удалённого (дистанционного) управления другим электронным устройством на расстоянии.

Пульт ДУ наборов «Роботрек» для передачи сигналов использует инфракрасное излучение (так же, как большинство бытовых пультов, например, от телевизора, кондиционера и т.п.). Сигнал хорошо отражается от стен, поэтому инфракрасное дистанционное управление хорошо работает в помещениях, но плохо — на улице и при солнечной погоде, т.к. инфракрасное излучение от солнца сильнее сигнала от пульта. Сигнал распространяется по прямой линии и легко перекрывается объектами, в том числе прозрачными для видимого света (стеклом), поэтому не следует закрывать пальцами инфракрасные светодиоды, расположенные на верхнем торце пульта.

Приемник ПДУ — датчик, основанный на инфракрасном фотодиоде, служащий для приема сигналов от ПДУ. Расположение датчика на роботе необходимо выбирать таким образом, чтобы приемная часть как можно меньше перекрывалась какими-либо объектами. Располагать датчик желательно горизонтально (приемная часть должна «смотреть» вверх).

Использование

Настройка канала

Пульт ПДУ может работать на 1 из 8 независимых «каналов». Благодаря этому в одном помещении можно использовать до 8 пультов одновременно. Для корректной работы пара «Робот-Пульт» должны быть настроены на один канал. Один пульт будет управлять всеми роботами в помещении, настроенными на его канал. Аналогично, если в одном помещении используется несколько пультов, настроенных на один канал, каждый робот будет принимать сигналы от нескольких пультов.

Настройка пульта выполняется следующим образом:

Настройка контроллера выполняется программно с помощью блока ИК ПДУ Настройка (см. раздел «Программирование» )

Подключение

Датчик использует стандартный 3-пиновый разъем и подключается в любой из портов IN контроллера «Трекдуино».

Программирование

Блок и необходимые для работы с ИК ПДУ расположены в группе блоков «ИК ПДУ»:

IRRC_setup(int port, int channel);
RC(OFF_KEY)
RC(UP_KEY)
RC(DOWN_KEY)

Источник: robotrack-rus.ru

Оцените статью
Добавить комментарий