Arduino入门教程(16)—遥控灯

Arduino入门教程(16)—遥控灯

ID:44164543

大小:562.40 KB

页数:3页

时间:2019-10-19

Arduino入门教程(16)—遥控灯_第1页
Arduino入门教程(16)—遥控灯_第2页
Arduino入门教程(16)—遥控灯_第3页
资源描述:

《Arduino入门教程(16)—遥控灯》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Arduino入门教程(16)—遥控灯前一节对红外接收管如何使用有了简单的了解,这一节我们做个好玩儿的东西,遥控灯!所需材料1×5mmLED灯1×220欧电阻1×红外接收管1×Mini遥控器STEP1:硬件连接其实就是在原有的基础上,加了个LED和电阻,LED使用的是数字引脚10。红外接收管仍然接的是数字引脚11。STEP2:输入代码这里不建议一步一步输入代码,可以在原有的代码上进行修改,观察下相对前一段代码增加了哪些内容。1.#include2.intRECV_PIN=11;3.intledPin=10;//LED–digita

2、l104.booleanledState=LOW;//ledstate用来存储LED的状态5.IRrecvirrecv(RECV_PIN);6.decode_resultsresults;7.8.voidsetup(){9.Serial.begin(9600);10.irrecv.enableIRIn();11.pinMode(ledPin,OUTPUT);//设置LED为输出状态12.}13.14.voidloop(){15.if(irrecv.decode(&results)){16.Serial.println(results.value,HEX)

3、;17.18.//一旦接收到电源键的代码,LED翻转状态,HIGH变LOW,或者LOW变HIGH19.if(results.value==0xFD00FF){20.ledState=!ledState;//取反21.digitalWrite(ledPin,ledState);//改变LED相应状态22.}23.irrecv.resume();24.}25.}26.STEP3:代码回顾程序一开始还是对红外接收管的一些常规定义,按原样搬过来就可以了。1.#include//调用IRremote.h库2.intRECV_PIN=11;/

4、/定义RECV_PIN变量为113.IRrecvirrecv(RECV_PIN);//设置RECV_PIN(也就是11引脚)为红外接收端4.decode_resultsresults;//定义results变量为红外结果存放位置5.6.intledPin=10;//LED–digital107.//ledstate用来存储LED的状态booleanledState=LOW;setup()函数中,对使用串口,启动红外解码,数字引脚模式进行设置。到了主函数loop(),一开始还是先判断是否接收到红外码,并把接收到的数据存储在变量results中。1.if(i

5、rrecv.decode(&results))一旦接收到数据后,程序就要做两件事。第一件事,判断是否接收到了电源键的红外码。1.if(results.value==0xFD00FF)第二件事,就是让LED改变状态。1.ledState=!ledState;//取反2.digitalWrite(ledPin,ledState);//改变LED相应状态这里可能对“!”比较陌生,“!”是一个逻辑非的符号,“取反”的意思。我们知道“!=”代表的是不等于的意思,也就是相反。这里可以类推为,!ledState是ledState相反的一个状态。“!”只能用于只有两种状

6、态的变量中,也就是boolean型变量。最后,继续等待下一组信号。1.irrecv.resume();可以做些其他的事1、通过这个遥控项目,再结合上一个项目的风扇,能不能再给遥控器增加一个功能,既可控灯,还可控风扇。2、DIY一个你的遥控作品吧!比如简单的会动的小人,结合我们前面的舵机,通过遥控器上不同的按键,让舵机转动不同的角度,感觉随你的控制转动,发挥你的想象做出更多Arduino作品吧!

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。