

#include <IRremote.h> //导入IRremote库const String IR_PROTOCOL_TYPE[] = { //定义数组,用于存放IR协议类型"UNKNOWN","PULSE_DISTANCE","PULSE_WIDTH","DENON","DISH","JVC","LG","LG2","NEC","PANASONIC","KASEIKYO","KASEIKYO_JVC","KASEIKYO_DENON","KASEIKYO_SHARP","KASEIKYO_MITSUBISHI","RC5","RC6","SAMSUNG","SHARP","SONY","ONKYO","APPLE","BOSEWAVE","LEGO_PF","MAGIQUEST","WHYNTER"
};
IRrecv irrecv_12(12); //定义IR接收器,接在引脚12void setup(){Serial.begin(9600);irrecv_12.enableIRIn(); //开启接收器
}void loop(){if (irrecv_12.decode()) {struct IRData *pIrData = &irrecv_12.decodedIRData; //获取解码数据long ir_item = pIrData->decodedRawData; //获取解码数据String irProtocol = IR_PROTOCOL_TYPE[pIrData->protocol]; //获取协议类型Serial.print("IR TYPE:" + irProtocol + "\tVALUE:"); //打印协议类型Serial.println(ir_item, HEX); //打印十六进制数据irrecv_12.resume(); //继续接收if (ir_item == 0xBA45FF00) {Serial.println("按键按下1");}delay(100);if (ir_item == 0xB946FF00) {Serial.println("按键按下2");}delay(100);if (ir_item == 0xB847FF00) {Serial.println("按键按下3");}delay(100);if (ir_item == 0xBB44FF00) {Serial.println("按键按下4");}delay(100);if (ir_item == 0xBF40FF00) {Serial.println("按键按下5");}delay(100);if (ir_item == 0xBC43FF00) {Serial.println("按键按下6");}delay(100);if (ir_item == 0xF807FF00) {Serial.println("按键按下7");}delay(100);if (ir_item == 0xEA15FF00) {Serial.println("按键按下8");}delay(100);if (ir_item == 0xF609FF00) {Serial.println("按键按下9");}delay(100);if (ir_item == 0xE619FF00) {Serial.println("按键按下0");}delay(100);if (ir_item == 0xE718FF00) {Serial.println("按键按上键");}delay(100);if (ir_item == 0xAD52FF00) {Serial.println("按键按下键");}delay(100);if (ir_item == 0xF708FF00) {Serial.println("按键按左键");}delay(100);if (ir_item == 0xA55AFF00) {Serial.println("按键按右键");}delay(100);if (ir_item == 0xE31CFF00) {Serial.println("按键按OK键");}delay(100);} else {}}
