欢迎来到天天文库
浏览记录
ID:50123836
大小:638.20 KB
页数:5页
时间:2020-03-04
《Arduino下使用红外遥控器.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、这一节我们介绍怎么在Arduino下使用红外遥控器~这里我们会用到“库”,Arduino的一大特点就在于他有很多高手们写好的“库”,能用几行很简单的代码实现很复杂的功能。“库”可以理解为把一些复杂的代码封装后的函数。Arduino的所用到的语言比如:Serial.begin(9600); delay(1);等也是把底层封装成的一个个库。这次我们会用到IRremote这个库,这个库支持众多的红外协议,如:NEC,SonySIRC,PhilipsRC5,PhilipsRC6等。首先我们先把这次使用到的IRremote库下载回来
2、。Arduino_IRremote_master.zip(33.25KB,下载次数:3391)把压缩包解压到ArduinoIDE的libraries文件夹中比如我们这次使用的IRremote可以解压到Arduino_IRremote_master文件夹中。需要注意的是在库文件夹下要直接显示*.cpp和*.h文件,绝对不可以把这些库文件再套一层二级目录,这样子就会导致IDE无法识别。接下来我们需要用到一个38K的红外接收器,如果,红外接收器的三个引脚分别为OUT,GND,VCC。按照下图连接好Arduino。然后把代码放入ID
3、E编译下载ARDUINO代码复制打印1.#include //使用IRRemote函数库2. 3.constintirReceiverPin=2; //红外接收器的OUTPUT引脚接在PIN2接口定义irReceiverPin变量为PIN2接口4. 5.IRrecvirrecv(irReceiverPin);//设置irReceiverPin定义的端口为红外信号接收端口6.decode_resultsresults; //定义results变量为红外结果存放位置7. 8.voidsetup()9
4、.{10. Serial.begin(9600); //开启串口,波特率为960011. irrecv.enableIRIn(); //启动红外解码12.}13. 14.voidloop()15.{16. if(irrecv.decode(&results)){ //解码成功,把数据放入results变量中17. //把数据输入到串口18. Serial.print("irCode:"); 19. Serial.print(results.value,HEX);//显示红外编码20. Ser
5、ial.print(", bits:"); 21. Serial.println(results.bits);//显示红外编码位数22. irrecv.resume(); //继续等待接收下一组信号23. } 24. delay(600);//延时600毫秒,做一个简单的消抖25.}然后打开串口监视器,波特率设置为9600,使用遥控器对着红外头按下按键,串口监视器上就会出来当前按键的红外编码与位数。显示irCode:FFFFFFFF,bits:32是因为遥控器上没有做中断,误码导致,只要按一下松开
6、,再按一下松开就没问题。
此文档下载收益归作者所有