Пульт ДУ с приёмником

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

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

Модуль приемника должен устанавливаться на то устройство, для которого предполагается удаленное управление с пульта. Пульт в данной конфигурации может работать на дальности до 5-8 метров от модуля ИК приемника, качество сигнала зависит от наличия/отсутствия препятствий между передатчиком пульта и приемником.

Схема подключения пульта ДУ с приёмником

На изображении ниже представлена схема подключения ИК приемника пульта дистанционного управления к плате.

Код для подключения пульта ДУ с приемником

В примере ниже показано, как подключить вывод пульта ДУ с приемником к монитору последовательного порта платы (вывод можно посмотреть в мониторе порта Arduino IDE).


#include <IRremote.h> // подключаем библиотеку для IR приемника

IRrecv irrecv(A0); // указываем пин, к которому подключен IR приемник
decode_results results;

void setup() {
irrecv.enableIRIn(); // запускаем прием инфракрасного сигнала
Serial.begin(9600); // подключаем монитор порта

pinMode(12, OUTPUT); // пин 12 будет выходом (англ. «output»)
pinMode(A0, INPUT); // пин A0 будет входом (англ. «intput»)

}

void loop() {
if (irrecv.decode(&results)) // если данные пришли выполняем команды
{
Serial.println(results.value); // отправляем полученные данные на порт

// включаем и выключаем светодиод, в зависимости от полученного сигнала
if (results.value == 16718055) {
digitalWrite(12, HIGH);
}
if (results.value == 16724175) {
digitalWrite(12, LOW);
}
irrecv.resume(); // принимаем следующий сигнал на ИК приемнике
}
} 

Скачать файл с кодом, формат .INO: Пуль ДУ