红外接收使用比较简单。
主要注意两点:
1、接线:接收器虽然是三针,但两边的针不是接VCC和GND。而是如下图(圆头面向自己):
2、库文件调用:
需要IRremote库文件。我引用了IRremote.h后,竟然提示我有两个(如下图),不管哪一个了,能用就行。
代码如下:
【针脚:注意接线即可,对arduino的IO口无要求】
【库文件:IRremote】
#include <IRremote.h>
int RECV_PIN = 11;//定义红外接收器的引脚为11
IRrecv irrecv(RECV_PIN);
decode_results results;//注意这个数据类型
void setup()
{
Serial.begin(9600);
irrecv.enableIRIn(); // 初始化红外接收器
}
void loop() {
if (irrecv.decode(&results)) { //注意这里取解码结果的方法,传递的是变量指针。
Serial.println(results.value,HEX); //以16进制换行输出接收代码。注意取值方法【results.value】。
irrecv.resume(); // 给红外传送指令,让其继续接收下一个值。同315M无线接收一个道理。
}
}