所有分类
主题 主题
平台 平台
我的工作台
userHead
注册时间 [[userInfo.create_time]]
创造力 [[userInfo.creativity]]
[[userInfo.remark]]
[[d.project_title]]
articleThumb
[[d.material_name]]
timelineThumb
进入工作台
折叠
所有分类 我的工作台
展开
探索者D1系列教程五 火焰传感器与蜂鸣器
Ski 2018-12-28 11:38:37
1
0
简单

                                                          火灾报警器

使用火焰传感器和蜂鸣器制作火灾报警器。

器材清单

       Romeo、USB数据线、蜂鸣器、火焰传感器

火焰传感器

        火焰传感器可以用来探测波长在760纳米~1100纳米范围内的光源。如下图所示,该模块印有“A”(A为Analog的缩写)标识,说明该传感器为模拟传感器,需要连接到模拟针脚(如下图所示)。模拟传感器是一种能够将感受到的信息转化为模拟信号输出的装置,如光线传感器、声音传感器、温度传感器等。

Romeo上的模拟针脚共有8组,编号从A0到A7,输入值的范围为0到1023(输入值的范围与Romeo自身的配置有关。Romeo无法直接读取模拟值,需要用到“模数转换器”将模拟量转化为它能处理的数据。每一个模数转换器的精度为10bit,也就是说能读取2的10次方(1024)个状态,因此输入值得范围为0~1023)。

火焰传感器有黑、红、蓝三根线,在接线时注意将其颜色与Romeo模拟针脚颜色一一对应。

projectImage

模拟输入

       温度、光照强度等物理量不只有0或1两个值,而是在某一范围内变化,这样的物理量被称之为模拟量(Analog)。模拟输入是指读取指定模拟针脚的模拟量,如下图所示。假如将火焰传感器连接到模拟针脚A3,该程序读取到的模拟量则在0到1023之间。

projectImage

         模拟输入的针脚范围为A0~A7。

projectImage

        模拟传感器的类型大致有以下几种,如下图所示。

projectImage

串口区

       如何观察传感器所获取到的模拟量呢?Mind+中的串口区可以监控串口的通讯状况,并可用来显示从Romeo发来的数据。Mind+中的串口区位于界面右下角,如下图所示。

projectImage

       串口区的两大功能:1、显示烧录状态以及程序运行状况的区域;2、显示串口通信数据。

上图左下角为串口的开关,打开之后会显示程序运行结果。

开关旁边为清除输出,用以清空终端框窗口。

中间位置为串口输入框,用以向串口输入数据。

右下角点击菜单栏,可选择是否自动滚屏,设置串口波特率,还可更改输出格式。

       若想在串口监视器中显示对应传感器获取的值,需要在程序中用到“Romeo”中的串口模块。假如火焰传感器连接Romeo的模拟针脚A3,则利用串口监视器显示读取到的模拟量的参考程序如下图所示。

projectImage

如果/否则语句

        如果/否则语句是一种二分支选择结构,即如果条件满足,执行语句体,否则执行另一语句体。当检测到火源时蜂鸣器报警,否则蜂鸣器不会发出声音,这种二选一的情况正适合用如果/否则语句实现。如下图所示,当条件满足时,即读取模拟针脚A3的值大于100时,蜂鸣器报警;当条件不满足时,蜂鸣器静音。

projectImage

实现过程

       (一)连接蜂鸣器、火焰传感器与Romeo

         准备器材,将蜂鸣器及火焰传感器(虽然本款传感器能够用于探测火源,但是它并不防火,使用时应当尽量避免其与火源直接接触)与Romeo进行连接,如下图所示,蜂鸣器连接数字针脚3,火焰传感器连接模拟针脚A7。

projectImage

     (二)编写程序

       火灾报警器程序中,假设模拟针脚A7读取到的模拟量达到100时蜂鸣器报警,参考程序如下图所示。

projectImage

       (三)测试效果

        上传程序,验证火灾报警器是否可以起到预期的作用。

拓展提升

       本实验制作的火灾报警器的警报声是持续且没有变化的报警声,请将其制作成类似于警车的警报声。结合蜂鸣器的知识,尝试制作拥有不同警报声的火灾报警器。

Makelog作者原创文章,未经授权禁止转载。
1
0
评论
[[c.user_name]] [[c.create_time]]
[[c.parent_comment.count]]
[[c.comment_content]]