Пульт управления на Arduino в мобильнике

Arduino

Благодаря 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

    Автор: Виталий Петрович. Украина, Лисичанск.

     

     


    Рекомендуем:

    Источник

    Оцените статью
    error: Материал защищен от копирования. С уважением, Администрация сайта