该实验的实验目的在于用红外遥控器向arduino发送的信号,arduino接收到信号并以一串十六进制字符的形式在arduino串口监视器显示。
该实验用到的器材有:arduino uno;面包板;导线若干;红外线接收器;红外遥控器
其实物如下图所示:
图1,实验所需硬件实物
需注意的是,红外接收器的三个引脚的示意图如下图所示:
图2,红外接收器引脚示意图
我们在代码编写中定义11号引脚为红外接收器信号的接收引脚,硬件连接效果图如下:
图3,实验实物连接图
该实验的代码如下所示:
#include <IRremote.h> // IRremote库声明
int RECV_PIN = 11; //定义红外接收器的引脚为11
IRrecv irrecv(RECV_PIN);
decode_results results; //解码结果放在 decode results结构的 result中
void setup()
{
Serial.begin(9600);
irrecv.enableIRIn(); // 启动接收器
}
void loop() {
if (irrecv.decode(&results))//解码成功,收到一组红外讯号
{
Serial.println(results.value, HEX);//以16进制换行输出接收代码
irrecv.resume(); // 接收下一个值
}
delay(100);
}
然后你就可以在你的串口收到你的红外发射模块的红外编码了。
图4,串口监视器显示内容