1、首先需要确保代码正确、接线正确(红外接收器的灯在接收遥控器信号的时候是闪烁的);
2、将IRremote的库函数回退到2.8.0,就可以适配材料包中的红外遥控器发射的信号。(具体原因未知,我刚入门也很难嚼得动库函数的源代码,但版本回退的确是有效的)
如果按按钮过于频繁,在十六进制(HEX)模式下,输出FFFFFFFF是正常的,需要等待片刻再按按钮,就能得出稳定信号。
//我的测试代码,比较基础,仅供测试参考
#include<IRremote.h>
IRrecv IR(9);//定义一个红外接收对象,名称是IR,引脚2
decode_results JG;//解码_多个结果,创建一个地址变量,变量名称是JG
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
IR.enableIRIn();//开启红外接收
}
void loop() {
// put your main code here, to run repeatedly:
if (IR.decode(&JG)){
//&是取地址内容,如果地址里面有数据,内容是true就执行下面内容,如果地址里面没有东西是fault就不执行,
Serial.println(JG.value,HEX);
//结果的值,加上.value,HEX是十六进制数的提示,以16进制输出结果JG.value的值
IR.resume();
//恢复之后,IR.decode里面的1就没有了
}
delay(500);
}
解决方案发现者