通过Arduino程序获取红外遥控器按键键值编码
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
通过Arduino程序获取红外遥控器按键键值编码一、以如下遥控器举例:
二、检测按键键值的Arduino程序:
#include
IRrecvirrecv(REC_PIN);
decode_results results;
void setup()
{
Serial.begin(9600); //键值在串口通信窗口中查看
irrecv.enableIRIn(); //红外接收端初始化
}
void loop()
{
if(irrecv.decode(&results)) //是否收到键值编码
{
Serial.println(results.value,HEX);//通过串口打印十六进制的键值
delay(500);
irrecv.resume(); //接收下一个值
}
}
三、检测到的十六进制按键键值(在串口监视器中查看):
四、Arduino的红外遥控器控制LED例程:
include
int RECV_PIN = 11;
IRrecvirrecv(RECV_PIN);
decode_results results;
void setup()
{
Serial.begin(9600);
irrecv.enableIRIn(); //初始化红外遥控
PinMode(13,1); LED初始化,点亮
}
void loop() {
if (irrecv.decode(&results))
{
if(results.value==0xFFA25D) //确认接收到按键(1)的编码,此码是预先读出来的按键编码。
{
digitalWrite(13,1); //点亮LED
Serial.println("turn on LED"); //串口显示开灯
}
else if(results.value==0xFF629D) //确认接收到的按键(2)的编码
{
digitalWrite(13,0); //熄灭LED
Serial.println("turn off LED"); //串口显示关灯
}
irrecv.resume(); // 接收下一个值
}
}