// Подключаем библиотеку для работы с ИК-приёмником #include // Даём понятное имя пину 2 с ИК-приёмником constexpr uint8_t IR_RECEIVE_PIN = 2; void setup() { // Открываем монитор Serial-порта Serial.begin(9600); // Инициализируем ИК-приёмник IrReceiver.begin(IR_RECEIVE_PIN); } void loop() { // Если пришёл новый сигнал на ИК-приёмник, декодируем его if (IrReceiver.decode()) { // Игнорируем повторное нажатие кнопки if ((IrReceiver.decodedIRData.flags & IRDATA_FLAGS_IS_REPEAT)) { // Разрешаем обрабатывать следующий сигнал IrReceiver.resume(); // Выходим из всего цикла return; } // Создаём переменную и присваиваем ей декодируемый код кнопки uint32_t code = IrReceiver.decodedIRData.command; // Печатем код кнопки в консоль с форматированием printCode(code); // Разрешаем обрабатывать следующий сигнал IrReceiver.resume(); } } // Функция печати кода кнопки в консоль с форматированием void printCode(uint32_t code) { Serial.print("0x"); if (code < 15) { Serial.print("0"); } Serial.println(code, HEX); }