跳转到主要内容

【教程】《Smart Node与物联网》之控制LED

kelly 提交于


作者:谢作如 张敬云 李守良

第一单元 连接物理世界

项目1-1控制LED

学习目标:

1、认识Smart_Node及其界面,了解Smart_Node的编程特点;

2、理解并能正确完成按钮控制LED灯的制作;

3、认识扩展板的针脚和按钮、LED等模块的连接。

一、项目描述

顾名思义,物联网就是物物相连的网络。要学会通过网络控制万物,首先要从点亮一个LED开始。我们用爱迪生完成的第一个项目,就是用按钮控制LED的开和关。

图 1 灯


二、项目分析

这是一个很简单的项目,只需要当按钮按下时触发LED就可以实现,硬件部分除了Edison和扩展板外,还需要按钮和LED灯即可。项目分析可参考下表 1所示:

表 1 “按钮控制的LED灯”项目分析


三、基础知识

(一)爱迪生

Intel Edison核心是一款22纳米的凌动系统(代号Silvermont),基本信息是:双核500M处理器+独立MCU、1G DDR3 内存、4G EMMC存储、WIFI、蓝牙,这些都作为SOC方案封装在一个芯片里面。 整个核心部分浓缩到只有邮票大小,如图2(开发板左下角那个小块块是核心,可以拆下来单独用),小到令人难以置信。

小是小,但是功能不弱,使用Edison可以完成很多不可思议的创造。例如图3所示。

图2 Edison板

图3 使用Edison的制作智能水杯


(二)Smart_Node

Smart Node是创客大爆炸针对没有开发经验的智能硬件开发者,在Node-Red的基础上开发的一款在线图形化编程工具。Smart Node的操作流程极其简单。开发人员不需要下载程序, 只需要支持Smart Node的开发板和一个连接上Wifi的浏览器,就能开始对智能硬件进行设计开发。编程流程分为拖拽所需功能(drag&drop)、配置 (configure)、连接(link)、运行(done)4步,在输入相关参数的基础上,将各功能模块按照逻辑连接在一起,通过部署让程序在开发板上运行,基本的硬件模型就可以完成。

Smart_Node操作界面如下图 4所示。Smart_Node界面主要由三大部分组成:1.节点区;2.节点编辑区;3.信息显示和调试区。用户可以在节点区去拖拽所需节点进入节点编辑区,在节点编辑区进行编辑。

图 4 Smart_Node的界面


四、实现过程

(一)硬件连接

我们将Edison、按钮和LED连接起来,在这里我们将按钮连接到数字口11,LED灯连接到数字口5,如下图 5所示。

图 5 “按钮控制的LED灯”的连接图


(二)流程设计

为了实现“按钮控制LED灯”的制作,我们需要引入按钮节点和LED节点,然后将节点连起来,触发按钮使LED灯工作。参考程序如图 6所示。

图 6 “按钮控制的LED灯”的程序


(三)节点设置

按钮作为整个程序运行的起来,重要性不言而喻。双击按钮节点之后会出现如下图 7所示的界面,根据自己的需要,我们可以设置数字口为11,触发时间设置为500毫秒。

图 7 按钮节点及其设置


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

图 8 LED节点及其设置


通过对以上节点的设置,将各个节点连接起来,就可以实现我们“按钮控制LED灯”的程序编写。

(四)效果测试

点击“部署”按钮,按下按钮后可以观察LED灯是否正常工作。需要注意的是,只有当按钮按下的时间超过impulse(触发)时间,按钮才能触发下一节点。如果不能产生预期的效果,可以老师或同学交流问题所在。最后分享自己的作品和经验。

五、挑战自我

“按钮控制的LED灯”很简单吧,Smart_Node包含了触摸传感器等丰富的节点,除了使用按钮外,我们还可以使用别的节点控制LED吗?同学们,动手试试吧。

六、扩展阅读

针脚原有多种解释,现在我们常指的是硬件芯片向外提供的接口方式,由于采用的是针式接口,所以称为针脚。

Edison使用DFRobot扩展板V7,扩展板V7共有18个针脚,为了方便用户使用,扩展板V7开发者将三线合一,只需要将连接线插入针脚即可。针脚主要功能如表2所示:

表2 针脚的功能


注:

1.数字针脚0(RX)和1(TX)用于计算机和Edison之间的通信,其中数字针脚0用于接收信号,数字针脚1用于发送信号,所以在接线的时候数字针脚0和1不要接。

2.数字输入(DI)和数字输出(DO)都属于二进制值输入和输出。例如开关接通是1,断开是0。

3.模拟输入(AI)和模拟输出(AO)则为多个连续变化的状态。例如使用温度传感器获取外界的温度,则需要使用模拟输入,制作了呼吸灯(灯的亮度渐变)则需要使用模拟输出。在DFRobot硬件模块中,模拟输入取值的范围是:0~1023,模拟输出取值的范围是:0~255。

文章来源:Smart Node