Управлять своими устройствами можно очень многими способами, один из них – это с помощью ИК-сигналов, про этот метод постараюсь расписать в сегодняшней статье. Тут поможет любой ИК-пульт – от телевизора, музыкального центра или любого другого домашнего устройства, которое есть у каждого. Пульт дистанционного управления являться передатчиком информации, а в качестве приемника можно использовать инфракрасный датчик VS1838B, который продается совсем за смешные деньги. Приемник работает на частоте 38 кГц, данная частота является самой распространенной среди ИК-пультов, используемых в домашней технике.
Подключение ИК-датчика VS1838B к arduino
Для считывания ИК-сигнала и преобразования его к человеческому виду – числу, можно воспользоваться библиотекой IRremote, с ее помощью весь скетч займет всего несколько строк.
Ссылка на библиотеку: IRremote .
Но прежде, чем начать писать программу, необходимо разобраться с подключением приемника VS1838B. Датчик имеет всего три ноги, две из них – это питание, и третья передает полученный сигнал. Ниже приведена фотография VS1838B с подписанными ножками:
Ногу, которая отвечает за передачу данных, будем подключать к пину 11 arduino. Так же для наглядности подключим к 13 пину светодиод, который будет включаться и выключаться при нажатии на кнопки на ИК-пульте.
Что использовалось в проекте:
- Arduino (я использовал arduino uno, но можно любую другую). Покупал тут: arduino uno
- ИК-Приемник VS1838B. Покупал тут: ИК-приемник VS1838B 10 шт
- 1 светодиод. Покупал тут: 100 светодиодов, 10 разных цветов
- ИК-пульт от любого домашнего прибора
Код скетча для ИК-приемника VS1838B
Каждая кнопка ИК-пульта имеет уникальный код, который мы будем получать с помощью датчика VS1838B. В первую очередь запишем скетч, который выводит в консоль коды кнопок, после чего уже дополнить программу условиями на конкретные кнопки.
Ниже приведет скетч для работы с ИК-приемником VS1838B и arduino, скачать его можно тут: скачать.
#include <IRremote.h> // подключаем библиотеку int ledPin = 13; // светодиод int reciverPin = 11; // пин, к котрому подключен ИК-приемник IRrecv irrecv(reciverPin); decode_results results; void setup() { Serial.begin(9600); irrecv.enableIRIn(); // запуск приемника pinMode(ledPin, OUTPUT); } void loop() { // постоянно считываем данные с приемника if (irrecv.decode(&results)) { // выводим в консольку, что получили, число в 16-ричном виде Serial.println(results.value, HEX); // проверяем сигналы - и если это те, что нам нужны, то вкл или выкл светодиод if(results.value == 0x926DC837) digitalWrite(13, HIGH); if(results.value == 0x926D48B7) digitalWrite(13, LOW); irrecv.resume(); // готовы принимать следующий сигнал } }
Пример работы ИК-датчика VS1838B и arduino можно посмотреть ниже на видео.
Фотограф и оператор из Вас так себе. Ничего не видно и не понятно.
Я только учусь) в более свежих статьях качество немного лучше.
Да и картинки с видео тут не главное, все описано текстом
Нормально написано
Все понятно
Автору вопрос — как проверить работоспособность ик-приемника CHQ1838
Подключил к ардуине — setup вроде нормально проходит
а на пульты не реагирует — пробовал с нескольких