学习目标:
- 认识Smart_Node及其界面,了解Smart_Node的编程特点;
- 理解并能正确完成按按钮控制的LED灯的制作;
- 认识扩展板的针脚和按钮、LED等模块的连接。
一、项目描述
顾名思义,物联网就是物物相连的网络。要学会通过网络控制万物,首先要从点亮一个LED开始。我们用爱迪生完成的第一个项目,就是用按钮控制LED的开和关。
图 1 灯
二、项目分析
这是一个很简单的项目,只需要当按钮按下时触发LED就可以实现,硬件部分除了Edison和扩展板外,还需要按钮和LED灯即可。项目分析可参考下表 1所示:
项目名称 | 按钮控制的LED灯 |
项目功能 | 当按钮按下触发LED灯,LED灯变亮;当按钮离开时,再次触发LED灯,LED灯熄灭 |
器材清单 | 按钮、LED灯 |
工作流程 | ![]() |
表 1 “按钮控制的LED灯”项目分析
三、基础知识
(一)爱迪生
Intel Edison核心是一款22纳米的凌动系统(代号Silvermont),基本信息是:双核500M处理器+独立MCU、1G DDR3 内存、4G EMMC存储、WIFI、蓝牙,这些都作为SOC方案封装在一个芯片里面。 整个核心部分浓缩到只有邮票大小(开发板左下角那个小块块是核心,可以拆下来单独用),小到令人难以置信。
小是小,但是功能不若,使用Edison可以完成很多不可思议的创造。例如图2和图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 针脚的功能
针脚 | 功能 | 针脚 | 功能 | 针脚 | 功能 |
A0 A1
A2 A3 A4 A5 |
模拟输入 |
D2 D4 D7 D8 D13 | 数字输入
数字输出 |
RX TX |
串口 |
D3 D5 D6
D9 D10 D11 D12 |
数字输入和输出
模拟输出 |
注:
- 数字针脚0(RX)和1(TX)用于计算机和Edison之间的通信,其中数字针脚0用于接收信号,数字针脚1用于发送信号,所以在接线的时候数字针脚0和1不要接。
- 数字输入(DI)和数字输出(DO)都属于二进制值输入和输出。例如开关接通是1,断开是0。
模拟输入(AI)和模拟输出(AO)则为多个连续变化的状态。例如使用温度传感器获取外界的温度,则需要使用模拟输入,制作了呼吸灯(灯的亮度渐变)则需要使用模拟输出。在DFRobot硬件模块中,模拟输入取值的范围是:0~1023,模拟输出取值的范围是:0~255。