SmartNode与物联网:项目1-9 智能温度报警器

学习目标:

  • 理解并能正确使用“蜂鸣器”和“DF-风扇”节点;
  • 能正确连接并使用温度传感器、蜂鸣器、风扇和Edison,完成智能温度报警器的制作;
  • 了解温度传感器、风扇和蜂鸣器的工作原理。

 

一、项目描述

物联网通过网络将不同物体联系在一起,控制的范围大到城市社区,小到普通的家用电器。在实现强大的网络控制之前,我们需要从基础做起。本节课我们就尝试使用Edison制作一个当温度过高时可以声音报警提醒和风扇降温的智能温度报警器,如图 1 所示。

image236

图 1 智能温度报警器

 

二、项目分析

制作智能温度报警器的关键是需要解决两个问题:1.实时获取外界温度值;2.当温度值高于一定阙值时触发蜂鸣器报警提醒和风扇降温。本项目中我们需要使用DFRobot出产的蜂鸣器、温度传感器和DF-小风扇。项目设计列表可以参考下表1所示。

表 1 智能温度报警器的项目设计

项目名称 智能温度报警器
项目功能 获取外界的温度值,当高于阙值时蜂鸣器报警和风扇转动降温
器材清单 温度传感器、蜂鸣器、DF-小风扇
工作流程  image238

三、基础知识

(一)温度传感器

本案例用到的温度传感器是DFRobot的LM35线性模拟温度传感器,如图

2所示。基于LM35半导体的温度传感器,可以用来对环境温度进行定性的检测。温度测量常用的传感器包括热电偶,铂电阻,热敏电阻和半导体测温芯片,其中热电偶常用于高温测量,铂电阻用于中温测量(到摄氏800度左右),而热敏电阻和半导体温度传感器适合于100-200度以下的温度测量,其中半导体温度传感器的应用简单,有较好的线性度和较高的灵敏度。

LM35半导体温度传感器是美国国家半导体公司生产的线性温度传感器。

其测温范围是-40℃到150℃,灵敏度为10mV/℃,输出电压与温度成正比。LM35线性温度传感器与Edison专用传感器扩展板结合使用,可以非常容易地实现与环境温度感知相关的互动效果。

image240

图 2 温度传感器

 (二)蜂鸣器

蜂鸣器其实就是一种会发声的电子元件。蜂鸣器一般分为有源蜂鸣器和

无源蜂鸣器,其根本区别是输入信号的要求不一样。这里的“源”不是指电源,而是值振荡源,有源蜂鸣器内部带振荡源,说白了就是只要一通电就会响。而无源内部不带振荡源,所以如果仅用直流信号无法使其响,必须是2K-5K的方波去驱动它。

从外观上看,有源无源的区别在于,有源蜂鸣器有长短脚,也就是所谓

正负极,长脚为正极,短脚为负极。而无源蜂鸣器则没有正负极,两个引脚长度相同。

初学者使用有源蜂鸣器比较简单,本案例中我们使用数字蜂鸣器模块,如下图3所示,该模块不用考虑长脚短脚问题,数字蜂鸣器的针脚定义为:绿线——模拟输出信号,黑线——GND,红线——VCC。

image242

图 3 数字蜂鸣器模块

 

(三)DF-风扇

“DF-风扇”模块主要部件就是交流电动机,主要通过通电线圈在磁场中

受力而转动,如图4所示。该模块可以搭配其他小模块做一些有趣的应用(电风扇,散热,螺旋桨),不仅可以通过Edison的数字口进行设置,而且还是通过PWM进行调速。

通常由于Edison的端口电流太弱通常无法带动电机,但是开发者们将驱动和电机集成在这款模块上,直接插上Edison扩展板就搞定了。帮忙节省了很多麻烦,我们常见的灭火小车,就可以安装这款风扇进行操作。

image244

图 4 DF-风扇

 

四、实现过程

(一)硬件连接

将Edison、温度传感器、蜂鸣器和DF-小风扇连接起来,如下图 5所示,温度传感器连接到模拟输入(A0),蜂鸣器连接到数字口5(D5)和DF-小风扇连接到数字口9(D9)。

image246

图 5 “智能温度报警器”硬件连接图

(二)流程设计

智能温度报警器通过“模拟输入”节点触发,当获取的外界温度值高于一定的阙值后触发“蜂鸣器”节点和“DF-Fan”节点。具体流程如下图6所示。

image248

图6  智能温度报警器的程序设计图

(三)节点设置

由于要持续监测温度传感器所获取的数值,因此我们需要对“模拟输入”节点进行设置。在本案例中,“模拟输入”节点的针脚设置为模拟口A0,触发时间为100ms。如下图7所示:

 image250  image252

图 7“模拟输入”节点设置

为了设置外界温度的阙值,我们需要在Smart_Node引入“判断”节点,并且需要对此节点进行设置,如下图8所示:

 image254 image256

图8 “判断”节点设置

当温度高于一定阙值时需要出发“蜂鸣器”节点,因为在Smart_Node中只有当节点接受到“1”的时候才能被触发,所以我们需要引入“改变”节点,并设置为“1”,具体如图 9所示。

image258  image260

图 9  “改变”节点设置

想一想:

  • 在“设置”下拉框输入大于1的数字,结果会有什么不同呢?

 

在本案例中的“蜂鸣器”节点设置也比较简单,我们选择数字口针脚D3,在Tone中选择6即可,如下图10所示。

 

 image262  image264

图 10 “蜂鸣器”节点设置

由于“DF-小风扇”节点没有转速设置选项,我们需要通过引用“改变”节点向DF-小风扇输入字符串(即转速)。在本案例中我们设置为“100”,具体如下图11所示。

 image267  image269

图 11 “改变”节点设置

“DF-小风扇”节点的设置也比较简单,只需要对数字口进行设置即可,在本案例中我们设置为数字口9(D9),如图 12所示。

 

 image271 image273

图 12 “DF-小风扇”节点设置

通过对以上节点的设置,将各个节点连接起来,就可以实现我们的智能温度报警器程序编写。

(四)效果测试

点击“部署”按钮,可以观察智能温度报警器是否正常工作。如果不能正常工作,可以老师或同学交流查找问题所在。最后,分享自己的作品和经验。

五、挑战自我

点击“部署”后,我们的智能温度报警器就完成。但是如果主人不在身旁,蜂鸣器的叫声就不能及时有效的提醒。那么当温度过高时能不能使用别的方式提醒主人呢?Smart_Node已经有一些使用网络传递信息的节点,例如“E-mail”节点和“微信发送”节点。我们可以尝试使用“微信发送”或“E-mail”节点及时向主人发送一段微信或邮件提醒,动手尝试一下吧。

六、扩展阅读

  • E-mail”节点

“E-mail”节点分成“E-mail接受”和“E-mail发送”节点,如下图13所示。可以通过Smart_Node向指定用户邮箱发送邮件提醒,用户也可以通过邮件向Smart_Node发送邮件完成某一功能,例如发送邮件触发一盏灯的亮灭。这就使得Smart_Node可以通过网络的形式将物体连接起来,形成完整的物联网的形式。“E-mail”节点的设置也不是那么复杂,主要涉及邮件的用户名、密码、服务器和端口设置。

image275

图13 “E-mail”节点

  • “微信”节点

“微信”节点也同样分成“微信接受”和“微信发送”节点。

发表评论

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

跳至工具栏