小白求助帖 关于红外遥控的
今天学红外遥控,在论坛找了一个测试按键值的代码,可是打开串口监视器后,不停地跳出数据。本来以为是遥控器问题,可是就算把遥控器电池拆了,监视器还是不停跳数据。代码如下:
/*
程序说明:解码红外遥控器
*/
#include <IRremote.h>
int RECV_PIN = 11; //红外线接收器OUTPUT端接在pin 11
IRrecv irrecv(RECV_PIN); // 定义IRrecv 对象来接收红外线信号
decode_results results; //解码结果放在decode_results构造的对象results里
void setup()
{
Serial.begin(9600);
irrecv.enableIRIn(); // 启动红外解码
}
void loop() {
if (irrecv.decode(&results)) {
// 解码成功,收到一组红外线信号
Serial.print("irCode: ");
Serial.print(results.value,HEX); // 输出红外线解码结果(十六进制)
//results.value 是unsigned long型,头文件有介绍
delay(100);//按键消抖
Serial.print(", bits: ");
Serial.println(results.bits); // 红外线码元位数
irrecv.resume();
}
}
难道是因为我所处环境不合适,都是红外信号?{:soso_e110:} 有没有可能是串口设置不对? 我也遇到过这样的情况过,主要是实验时都是临时的,在接收管子接触不好时,arduino的端口是悬空的,这时就会乱蹦数字进来的,检查一下吧。 pumpitup 发表于 2014-8-17 04:06 static/image/common/back.gif
有没有可能是串口设置不对?
谢谢,我的串口设置是对的。:P 林定祥 发表于 2014-8-17 08:59 static/image/common/back.gif
我也遇到过这样的情况过,主要是实验时都是临时的,在接收管子接触不好时,arduino的端口是悬空的,这时就会 ...
嗯嗯。我刚刚测试的时候,能够正确的显示数据了,除了偶尔有几个FFFFFF。:lol 我也有这个问题,乱跳一些无相关的数据!
遥控器的按键,值也是能正常接收到的
页:
[1]