! Заготовка
Источник Примеры Хрен знает какие ибо я уже не помню чё к чему. К чему прерывания и прочее
Подключение
IR | ARDUINO |
---|---|
OUT | D2 |
GND | GND |
VCC | 5V |
Использование
Для работы с датчиком нам понадобится библиотека
Ниже приведены варианты использования + готовые проекты
Распознавание hex-кодов с передатчика
#include <IRremote.h>
IRrecv irrecv(2);
decode_results results;
unsigned long key_value = 0xF;
void setup() {
Serial.begin(9600);
irrecv.enableIRIn();
// Будет ли встроенный лед реагировать на нажатия
irrecv.blink13(true);
}
void loop() {
if (irrecv.decode( & results)) {
// При зажатии кнопки выдаётся нулевой сигнал (0xF...), сие творение позволяет повторять код кнопки
if (results.value == 0xFFFFFFFF) results.value = key_value;
Serial.print("0x");
Serial.println(results.value, HEX);
irrecv.resume();
key_value = results.value;
}
}
Простой шаблон
Без применения прерываний (Я тупо не помню для чего оно)
#include <IRremote.h>
IRrecv irrecv(2);
decode_results results;
unsigned long key_value = 0xF;
void setup() {
Serial.begin(9600);
irrecv.enableIRIn();
irrecv.blink13(true);
}
void loop() {
if (irrecv.decode( & results)) {
if (results.value == 0xFFFFFFFF) results.value = key_value;
switch (results.value) {
case 0xFD00FF:
// > Действие после нажатия
break;
default:
break;
}
Serial.print("0x");
Serial.println(results.value, HEX);
irrecv.resume();
key_value = results.value;
}
}