智能植物生长灯

智能植物生长灯

学习目标:

        1.理解并能正确使用调试输出和分支结构等节点;

        2.能正确连接并使用光线传感器,完成智能植物生长灯的制作;

        3.理解并能够正确设置注入节点、判断等节点以及掌握使用Smart_Node制作智能植物生长灯的逻辑。

一、项目描述

        植物生长灯是一种特殊的灯具,依照植物生长必须需要太阳光的原理,当光线强度较低时继续向植物提供光线从而促进植物生长,如图1所示。现在市场中已经出现大量的植物生长灯,但是目前市场上植物生长灯主要针对经济作物,对于家庭室内植物提供的较少,并且价格比较昂贵。本节课我们就使用Curie Neurons Kit的套材和Smart_Node相结合制作可以判断外界环境光线的强弱,当光线较弱时,触发LED灯亮灭的智能植物生长灯。

说明: 23-32-49-44-449516

图 1 植物生长灯

二、项目分析

        制作植物生长灯的关键问题就是判断外界环境的强弱,当光线低于一定的阙值时,就可以触发LED的亮灭来为植物提供外界光线。为了解决这个问题,我们可以使用光线传感器判断外界光线的强弱,项目设计列表可以参考下表1所示。

表 1 智能植物生长灯的项目设计

项目名称

智能植物生长灯

项目功能

判断外界光线强弱,当低于一定的值时触发LED灯。

器材清单

Arduino/Genuino101、扩展板、光线传感器、LED灯

三、基础知识

(一)光线传感器

        光线传感器也称为环境光线传感器,可以用来对环境光线的强度进行检测,通常用来制作随光线强度变化产生特殊效果的互动作品,如图 2 所示。光线传感器是一种模拟传感器,需要接到模拟口上,值的范围为0~1023,光线强弱的不同会输出不同的值,光线越强数值越大,光线越暗数值越小。

说明: bitmap

图 2 光线传感器

(二)串口调试

        “串口调试”节点在Smart_Node中运用比较广泛,我们在调试程序时会常用到。“串口调试”节点可以将我们需要调试的数据呈现在“调试”窗口中,其作用类似于编程中的print。例如在本案例中,我们需要用“串口调试”实时获得光线传感器的数值,才能根据数值设定判断的条件。

(三)判断/切换

        由于Smart_Node在采用数据流的形式,所以我们常常需要使用判断/切换完成分流。例如在本次案例中,我们就需要判断外界光线是否大于20,如果小于20则数据流流入“1”节点中,如果大于等于20则流入“0”节点中。

四、实现过程

(一)硬件连接

        将Arduino/Genuino101、扩展板、LED灯和光线传感器连接起来,如下图 3所示。LED灯连接到数字口5(D5),光线传感器连接到模拟输入(A0)。

说明: C:\Users\WYP\AppData\Local\Temp\WeChat Files\872591216454339148.png

图 3 智能植物生长灯硬件连接图

(二)流程设计

        智能植物生长灯采用数据流的形式,通过串口输入打开光传感器,switch(判断)节点判断外界光线的强弱,当光线值低于一定值时向LED灯发送“1”,LED灯亮;当光线值高于一定值时向LED灯发送“0”,则LED灯灭。具体流程如下图 4所示。

                              

图 4 智能植物生长灯的流程设计图

(三)节点设置

        由于要持续监测监测光强传感器所获取的数值,因此我们需要对“串口输入”节点进行设置。其设置也和硬件开关类似,我们将输入设置为1来打开光强传感器,设置名称为软件开关,Serial Port根据自己的电脑串口进行配置。如下图5所示:

 

图 5“串口输入”节点设置

    光线传感器节点配置传感器的管脚等,具体如下图6。

图6 光线传感器节点设置

        光线传感器可以实时获取外界的光线强度,那么我们如何读取呢?为了解决这个问题,我们就需要用到调试节点了。调试节点的设置比较简单,本案例主要将“输出”设置为“消息属性”,将“输出到”设置“调试标签页”,具体如图7所示。

 

图7  “调试节点”设置

        怎么能够判断光线的强弱呢?不用担心,这个时候我们需要用到判断/切换节点了。使用判断/切换节点当外界光线低于一定的阙值时,我们从2口输出;当高于一定阙值时,从1口输出。具体设置也很简单的,如下图 8所示。

图8 判断/切换节点设置

        我们知道LED灯的亮灭主要取决于输入的是0还是1,因此我还需要一个节点,通过switch节点对外界光线强弱判断后,我们选择“改变”节点,向LED灯输入数字。具体设置如图 9所示。

图 9“改变”节点输出1的设置

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

(七)效果测试

        点击“部署”按钮,可以观察智能植物生长灯是否正常工作。如果不能正常工作,我们可以选择“调试”框对光线传感器的阙值进行设置,也可以老师或同学交流查找问题所在。最后,分享自己的作品和经验。

五、挑战自我

        点击“部署”后,我们的智能植物生长灯就完成了,很简单吧。但是我们发现每次LED灯的亮度值都是一定的,我们能不能根据外界的光线强度自动调整LED的亮度值呢?

发表评论

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

跳至工具栏