SmartNode与物联网:项目1-7 遥控LED

学习目标:

  • 理解红外遥控的工作原理;
  • 能正确连接并使用红外遥控套件和LED,完成红外遥控爱迪生的制作;
  • 掌握遥控控制多个LED的程序编写。

一、项目描述

前面几节课我们学习如何使用Edison控制LED的亮灭,但是我们发现现实生活中,我们常常需要使用遥控器等方式远程控制LED的亮灭,如图 1所示。那么我们的Edison能否做到使用遥控器控制LED呢?我们动手试一试吧。

image172

图 1 遥控控制LED

 

二、项目分析

制作遥控控制多个LED需要解决主要的问题就是判断遥控器发送的内容,并触发对应的LED。项目分析可参考下表1所示:

表 1 项目分析表

项目名称 遥控控制多个LED
项目功能 根据不同的键值,控制不同的LED
器材清单 红外遥控套件、LED灯×2
工作流程  image174

 

三、基础知识

(一)红外遥控套件

红外遥控是目前使用最广泛的一种通信和遥控手段。由于红外遥控装置具有体积小、功耗低、功能强、成本低等特点,继彩电、录像机之后,在录音机、音响设备、空凋以及玩具等其它小型电器装置上也纷纷采用红外遥控。工业设备中,在高压、辐射、有毒气体、粉尘等环境下,采用红外线遥控不仅完全可靠而且能有效地隔离电气干扰。

红外遥控主要包括红外遥控器和红外接收头,如图2所示。红外遥控器有21个按键,红外接收头针脚的定义是:D连接数字口,VCC接5V,GND接GND。

image176image178 

图2 红外遥控套件

红外遥控器都有对应的键值,在使用时,首先需对遥控器进行解码,本书中用到的红外遥控器的键值(十六进制的数值)如表2所示。

表2 红外遥控器键值附表

遥控器字符 键值 遥控器字符 键值
红色按钮 FD00FF ST/REPT FD708F
VOL+ FD807F 1 FD08F7
FUNC/STOP FD40BF 2 FD8877
左2个三角 FD20DF 3 FD48B7
暂停键 FDA05F 4 FD28D7
右2个三角 FD609F 5 FDA857
向下三角 FD10EF 6 FD6897
VOL- FD906F 7 FD18E7
向上三角 FD50AF 8 FD9867
0 FD30CF 9 FD58A7
EQ FDB04F    

 

四、实现过程

(一)硬件连接

我们将红外遥控套件和LED连接起来,在这里我们将LED连接到数字口5和10,红外遥控套件连接到数字口2,如图 3 所示。

image179

图 3 “遥控控制多个LED”连接图

 

  • 流程设计

为了实现遥控控制多个LED的功能,我们需要实时判断遥控器的输入,当遥控器输入1时,则LEDD10亮;当遥控器输入2时,则LEDD5亮,参考程序如图 4所示。

image181

 

图 4 “遥控控制多个LED”参考程序

 

  • 节点设置

为了远程控制LED的亮灭,我们需要引用“红外接收模块”节点。双击“模拟输入”节点之后会出现如下图5所示的界面,根据自己的需要,我们可以设置数字口为2。

 image182  image183

图 5“红外接收模块”节点及其设置

 

为了判断遥控器的输入值,我们需要双击“判断”节点,如图 6所示。点击“+规则”按钮,在下拉框中选择“=”并输入1时并生成连接点1,在下拉框选择“=”输入2并生成连接点2。为了程序的可读性,也可以对节点名称进行设置。

image184  image186

图 6 “判断”节点及其设置

 

引入“改变”节点可以实现当遥控器输入值与预设值相同时触发下一节点,双击“改变”节点即可对于“改变”节点进行设置,如图 7所示。

 image188  image190

图 7“改变”节点及其设置

image192

LED节点的设置也比较简单,只需要对数字口进行设置即可,在本案例中我们设置为数字口5和10,如图 8所示。

 

 image193  image194

图 8  LED节点及其设置

 

通过对以上节点的设置,将各个节点连接起来,就可以实现我们智能声光控灯的程序编写。

  • 效果测试

点击“部署”按钮,点击遥控器可以观察LED灯是否可以正常工作。需要注意的是,在测试时遥控器和红外接收模块距离要比较近。如果不能产生预期的效果,可以老师或同学交流问题所在。最后分享自己的作品和经验。

五、挑战自我

“遥控控制多个LED”程序比较简单,前面我设置了闪烁灯,那么我们能不能使用红外遥控套件控制闪烁灯呢?动手试试吧。

 

六、扩展阅读

红外遥控工作原理

红外遥控器发出的信号是一连串的二进制脉冲码,为了使其在无线传输过程中免受其他红外信号的干扰,通常都是先将其调制在特定的载波频率上,然后再经红外发射二极管发射出去,而红外线接收装置则要滤除其他杂波,只接收该特定频率的信号并将其还原成二进制脉冲码,也就是解调。

内置接收管将红外发射管发射出来的光信号转换为微弱的电信号,此信号经由IC内部放大器进行放大,然后通过自动增益控制、带通滤波、解调变、 波形整形后还原为遥控器发射出的原始编码,经由接收头的信号输出脚输入到电器上的编码识别电路。

要想对某一遥控器进行解码必须要了解该遥控器的编码方式,这就叫知己知彼,百战不殆 。本节课使用的遥控器的编码方式为:NEC协议。下面就介绍一下NEC协议:

(1)8位地址位,8位命令位;

(2)为了可靠性,地址位和命令为被传输两次;

(3)脉冲位置调制;

(4)载波频率38khz;

(5)每一位的时间为1.125ms或2.25ms。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

跳至工具栏