#include <IRremote.h> // Подключаем новую библиотеку IRremote
// Пины подключения
const int RECV_PIN = 2; // Пин для ИК-приемника
const int RED_LED_PIN = 3; // Пин для красного светодиода
const int GREEN_LED_PIN = 4; // Пин для зеленой лампочки
// Значения кнопок с пульта
const unsigned long BUTTON_1 = 0x30; // Код кнопки "1"
const unsigned long BUTTON_2 = 0x18; // Код кнопки "2"
void setup() {
Serial.begin(9600); // Запускаем монитор порта для отладки
IrReceiver.begin(RECV_PIN); // Инициализируем ИК-приемник
pinMode(RED_LED_PIN, OUTPUT); // Устанавливаем пин красного светодиода как выход
pinMode(GREEN_LED_PIN, OUTPUT); // Устанавливаем пин зеленой лампочки как выход
}
void loop() {
if (IrReceiver.decode()) { // Проверяем, пришел ли сигнал
unsigned long value = IrReceiver.decodedIRData.command; // Считываем код кнопки
Serial.println(value, HEX); // Отправляем значение в монитор порта
handleIRSignal(value); // Обрабатываем сигнал
IrReceiver.resume(); // Готовимся принимать следующий сигнал
}
}
void handleIRSignal(unsigned long value) {
if (value == BUTTON_1) { // Если нажата кнопка "1"
digitalWrite(RED_LED_PIN, HIGH); // Включаем красный светодиод
digitalWrite(GREEN_LED_PIN, LOW); // Выключаем зеленую лампочку
} else if (value == BUTTON_2) { // Если нажата кнопка "2"
digitalWrite(RED_LED_PIN, LOW); // Выключаем красный светодиод
digitalWrite(GREEN_LED_PIN, HIGH); // Включаем зеленую лампочку
}
}