Благодаря Arduino можно собрать универсальный пульт дистанционного управления (ПДУ). Очень удобно, когда с одного устройства можно управлять телевизором и медиаплеером. Самое замечательное, что все функции управления будут доступны на своем телефоне Android.
Комплектующие для сборки пульта на Arduino:
- Плата Arduino Pro mini с процессором ATmega328.
- Bluetooth модуль HC-05;
- Инфракрасный приемник TSOP1138, TSOP2238, TSOP4838 (последние две цифры определяют несущую частоту в кГц).
- Инфракрасный диод — передатчик от ненужного ПДУ.
Считывание IR кодов с ПДУ
Для считывания кодов команд с какого-нибудь пульта управления, работающего на самой распространенной частоте 36 кГц, нам потребуется подключить инфракрасный приемник TSOP всего лишь тремя проводами к плате Arduino.
Диапазон работы инфракрасных ПДУ находится в пределах 30–60 кГц. В нашем случае приемник TSOP выбран на частоту 38 кГц, так как отклонение в 10% допускается. Всего лишь понадобиться поднести ближе пульт к датчику в случае плохого приема сигнала.
Электрическая схема подключения TSOP1138, TSOP2238, TSOP4838 к Arduino Pro mini
Монтажная схема подключения TSOP1138, TSOP2238, TSOP4838 к Arduino Pro mini
После сборки схемы скачиваем библиотеку IRremote для Arduino на компьютер.
Устанавливаем и открываем в ней пример скетча IRrecvDump.
В примере скетча меняем номер пина получателя в строке int RECV_PIN = 11 на int RECV_PIN = 4.
Загружаем измененный пример в плату Arduino. Открываем в программе Arduino IDE Монитор порта, наводим имеющийся пульт управления на приемник TSOP и смотрим, считывает ли собранная схема IR коды от какой-то кнопки на пульте.
В приведенном примере, оба пульта от телевизора и медиаплеера передают данные в кодировке NEC.
Все считанные данные от пультов надо занести в таблицу.
Во втором столбце данные для телевизионного пульта TV, в третьем для пульта медиаплеера Player.
После успешного считывания IR кодов, разбираем собранную схему подключения TSOP к Arduino.
Сборка пульта управления на Arduino
Подсоединяем к плате Arduino инфракрасный диод и Bluetooth модуль HC-05.
Монтажная схема универсального пульта на Arduino
Собранный универсальный пульт управления на Arduino
Скачиваем образец скетча Universal_IR_pult
Теперь надо по очереди переписать в скетче коды кнопок для своих пультов, в соответствии с составленной таблицей. Сначала переписываем для телевизора, начиная со строчки:
if (x == 97) {
irsend.sendNEC(0x807F08F7, 32);
delay(40);
а затем для медиаплеера:
if (x == 97) {
irsend.sendNEC(0xFDC23D, 32);
delay(40).
Если ваш пульт передает данные в кодировке SONY, RC5, RC6, PANASONIC, тогда меняем в скетче запись NEC на соответствующую.
Готовую программу загружаем в плату Arduino.
Для проверки передачи данных, открываем в программе Arduino IDE Монитор порта, отправляем в него «1» (задействовано управление телевизором). Отправляем «а» — должно вывестись значение 97.
Потом прописываем «2» (задействовано управление медиаплеером) и снова вводим «а» — ждем вывода 97.
Имитация передачи данных с телефона на Arduino
Установка приложения Pult на телефон Android
Скачиваем приложение Pult.apk и устанавливаем на любое устройство Android, телефон или планшет.
Главный экран приложения Pult.apk
После нажатия на красный значок Bluetooth, выводится окно со списком доступных Bluetooth устройств
После удачного соединения с Bluetooth модулем HC-05, значок Bluetooth должен поменять свой цвет на синий.
Главный экран приложения Pult для режима телевизора TV
Главный экран приложения Pult для режима мультиплеера Player
Автор: Виталий Петрович. Украина, Лисичанск.
Выбираем этот шаблон в окне настойки лирка и нажимаем кнопку «create conffig». Должно появиться консольное окно, где следуя инструкции вы сможете записать каждую клавишу своего пульта в новый конфиг.
Ребята уберите защиту от копипаста, она не эффективна и только раздражает
Хотел прислать вам нормальный код универсального пульта, но из-за ваших дурацких защит не смог его сюда вставить, а печатать 1Кб кода как-то нету никакого желания.