为什么Arduino红外遥控按钮每次读取的编码有所不同?
新手,写的读取红外遥控器按键编码的程序,但是都出来的编码不一样,请问大神是什么原因呢?
#include<IRremote.h>
int REC_PIN=11;
IRrecv irrecv(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();
}
}
jetcourage 发表于 2017-4-1 13:34
这是按下同一个按钮读取的编码
这个感觉是遥控器上单片机程序的问题,好一些的遥控器我记得是不会这样子的。你可以试试其他遥控器。便宜的遥控器按键如果你一直按住,或者按键没有做消抖。就容易出现这种情况。 这是按下同一个按钮读取的编码 :L我用的1块钱的遥控器也有这个问题 红外头是有角度差的,你对应的角度不同,编码会不同, 和遥控器无关,是这个库的问题。
这个库在Arduino上的运行优先级不高,定时过程被抢占,导致计时数据不准,解出来的码就不一样。
这个库我也用过,发现误差很大。还是直接用AVR单片机编程(不用arduino系统)准确。
页:
[1]