延时灯

学习目标:

1.理解并能正确完成延时灯的制作;

2.熟练掌握并能正确使用“改变”和“延迟”节点;

3.熟悉节点间数据传送规则。

一、项目描述

  物联网是在互联网基础上延伸和扩展的一种网络,核心与基础仍是互联网。在学会使用Smart_Node实现强大的物联网之前,我们需要从基础做起。这节课我们就利用手中的Arduino/Genuino101套材制作一个按钮控制的延时LED灯吧,如图 1所示。

201412021657436473

图 1 传统的家用灯

二、项目分析

  由于Smart_Node采用节点数据流的形式传送数据,因此制作延时灯的关键问题就是控制节点信息传送的流入和流出,并且我们还需要使用“改变”节点和“延时”节点,项目分析可参考下表1所示:

表 1 项目分析表

项目名称

延时灯

项目功能

当按钮触发时,LED灯变亮一定时间后自动熄灭

器材清单

Arduino/Genuino101、扩展板、按钮、LED灯

三、基础知识

  (一)按钮

  按钮,也称为按键,是一种常用的控制电器元件,常用来接通或断开“控制电路”,从而达到控制电动机或其他电器设备运行目的的一种开关。

  我们使用的开关属于按压式的开关数字输入模块,能够实现非常有趣的互动作品,使用方便可以做到“即插即用”。按钮有两种状态,即按下或者放开。如图 2 所示。我们使用的这款按钮按下时1(HIGH),放开是0(LOW),所以按钮模块连接Arduino/Genuino101控制器的数字口。

bitmap

图 2 按钮

  (二)LED灯

  LED灯是最为畅销的入门级产品。它具有可爱的外形、强力的亮度、斑斓的色彩和简单的操作,是入门玩家必备的电子元件。如图 3所示,你可以用数字端口控制灯的亮灭,也可以用模拟口控制它的亮度。LED模块为输入高电平发亮,低电平则灯灭。

g23286

图 3 LED灯

  (三)节点间数据的传送规则

  Smart_Node节点间数据传输采用数据流的形式,默认按照从左到右的形式传输数据。在本案例中由于LED只能接受“0”和“1”两种数据,因此需要引用“改变”节点向LED传送数据。如图 4所示,“按钮”节点触发后将数据传输分成两部分,一部分是通过“改变”节点(开启)直接传入LED节点;一部分传输到“延迟”节点和“改变”节点(闭合),最后同样流入LED节点。

图 4 节点间数据传输案例

四、实现过程

  (一)硬件连接

  我们将Arduino/Genuino101、扩展板、按钮和LED连接起来,在这里我们将按钮连接到数字口11,LED灯连接到数字口5,如图 5 所示。

图 5 “延时灯”连接图

  (二)流程设计

  为了实现延时灯的功能,我们需要使用按钮触发程序的运行,还需要引入延时模块,延时控制LED亮灭,通过控制节点间的连接方式控制节点间信息的传送,参考程序如图 6所示。

图 6 延时灯参考程序

  (三)节点设置

  双击“按钮”节点之后会出现如下图7所示的界面,根据自己的需要,我们可以设置数字口为11,功能类别设置为按钮。

图 7 按钮节点及其设置

  “延迟”节点,顾名思义就是将从上一节点的信息延时发送到下一节点。在Smart Node中已经将延时模块进行了分装,用户只需要拖入并连接即可。此节点的设置也比较简单。如图 8所示,我们选择“功能”下拉框中的“延迟”,设置时间为“4秒”。为了程序的可读性,也可以对节点名称进行设置。

图 8 “延时”节点及其设置

  “改变”节点主要功能是对传入的信息进行条件分配。其作用相当于编程语言中的switch和if else分支,点击左下角“+规则”添加分支。在本案例中为了控制LED灯打开,我们将“规则”设置为1,控制LED灯熄灭,我们将“规则”设置为0,如图 9所示。

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

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

图 10  LED节点及其设置

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

  (四)效果测试

  点击“部署”按钮,按下按钮后可以观察LED灯是否正常延时的效果。如果不能产生预期的效果,可以老师或同学交流问题所在。最后分享自己的作品和经验。

五、挑战自我

  “延时灯”的制作很简单吧,大家已经对对于Smart_Node节点间数据传输有了一定的了解,那么同学们能不能实现按钮按下LED亮,再按下LED灭的效果呢?动手试试吧。

发表评论

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

跳至工具栏