Arduino示例,通过红外遥控器的“1”和“2”键控制LED灯的亮和灭
#include <IRremote.h>
#define LED_PIN 4
#define IR_PIN 5
IRrecv irrecv(IR_PIN);
void setup() {
Serial.begin(115200);
pinMode(LED_PIN, OUTPUT);
// 启用红外接收
irrecv.enableIRIn();
}
void loop() {
if (irrecv.decode()) {
// 有按键被按下
// 第1步:取得按键信息(包含按键值、编码类型等)
const IRData *irData = &irrecv.decodedIRData;
Serial.printf("ir code: %02X\n", irData->decodedRawData);
// 第2步:根据按键值做不同处理
switch (irData->decodedRawData) {
case 0xF30CFF00: // 遥控器上“1”键
digitalWrite(LED_PIN, HIGH);
break;
case 0xE718FF00: // 遥控器上“2”键
digitalWrite(LED_PIN, LOW);
break;
}
// 第3步:恢复处理,为下一次取值做准备
irrecv.resume();
}
delay(10);
}