Arduino: считывание кодов с пульта дистанционного управления

Существует огромное множество различных пультов дистанционного управления: для ТВ, DVD или другой техники. Практически любой из них можно использовать для Arduino. Нужен только инфракрасный датчик и программа, сканирующая передаваемые пультом коды.

Пульты управления, при общении со своим устройством, используют различные наборы кодов, поэтому, для начала необходимо определить код каждой кнопки пульта. Это просто. Подключаем инфракрасный датчик к Arduino:

Arduino Uno + IR sensor

и выполняем эту программу:

#include <IRremote.h>

const int IR_PIN = 10;

IRrecv irrecv(IR_PIN);

decode_results results;

void setup() {
  Serial.begin(9600);  
  irrecv.enableIRIn();
}

char chars[9] = {};

void loop() {
  if (irrecv.decode(&results)) {
    Serial.println(results.value, HEX);
    irrecv.resume();
  }
  delay(100);
}

*В программе используется IRremote library.

Открываем монитор последовательного интерфейса среды разработки Arduino (serial monitor), нажимаем необходимые клавиши на ПДУ и на выходе видим:

Serial print scanned codes

Программа вывела коды для нажатых клавиш. Для примера, пульт от Samsung SmartTV использует такие коды для своих кнопок:

  • E0E020DF 1
  • E0E0A05F 2
  • E0E0609F 3
  • E0E010EF 4
  • E0E0906F 5
  • E0E050AF 6
  • E0E030CF 7
  • E0E0B04F 8
  • E0E0708F 9
  • E0E08877 0

Комментарии