|
|
用网上的红外解码例子,每次解码结果都不一样,用电视遥控每次解码是三行?
#include <IRremote.h> // 使用IRRemote函数库
const int irReceiverPin = 11; // 红外接收器的 OUTPUT 引脚接在 PIN2 接口 定义irReceiverPin变量为PIN2接口
IRrecv irrecv(irReceiverPin); // 设置irReceiverPin定义的端口为红外信号接收端口
decode_results results; // 定义results变量为红外结果存放位置
void setup()
{
Serial.begin(9600); // 开启串口,波特率为9600
irrecv.enableIRIn(); // 启动红外解码
}
void loop()
{
if (irrecv.decode(&results)) { // 解码成功,把数据放入results变量中
// 把数据输入到串口
Serial.print("irCode: ");
Serial.print(results.value, HEX); // 显示红外编码
Serial.print(", bits: ");
Serial.println(results.bits); // 显示红外编码位数
irrecv.resume(); // 继续等待接收下一组信号
}
}
这是电视遥控1键
irCode: 81972EE, bits: 32
irCode: A3FFD1CF, bits: 32
irCode: DB14D038, bits: 32
irCode: DCC8CD07, bits: 32
irCode: 8710B0D6, bits: 32
irCode: D23DF6A9, bits: 32
irCode: 811DAB6C, bits: 32
irCode: 48B1C77F, bits: 32
irCode: DD54345E, bits: 32
irCode: 6FCEEDD0, bits: 32
irCode: C199D1CC, bits: 32
irCode: BD65FF34, bits: 32
|
|