作品图片
![1570601178690302.png blob.png](/ueditor/php/upload/image/20191009/1570601178690302.png)
情景描述
随着科学技术的飞速发展,超声波在生产、生活中的应用范围越来越广。目前,离生活最近的超声波应用就是测距。如泊车辅助系统、智能导盲系统、移动机器人等距离测量都会用到超声波测距。同时,超声波测距技术还能够实现对障碍物距离的精确测量。本课我们将利用超声波传感器,做一把可以测距的枪。
知识与概念
要学习本课的案例,需要了解以下的概念与原理:
1.数码管模块
最多可以显示由四个数字组成的数,所以叫做“四位数码管”。数码管的每个数都是由八段LED组成,其中七段LED用于显示数字,第八段在数字的右下角,用于显示小数点。
![1570601221660265.png blob.png](/ueditor/php/upload/image/20191009/1570601221660265.png)
2.按钮模块
可以作为开关使用。按键有“按下”和“弹起”两种状态。默认状态是“弹起”;当用手指按住按键帽往下按、并且保持不动的时候,就处于“按下”状态;松开手指,按键又会重回“弹起”状态。
![1570601248479229.png blob.png](/ueditor/php/upload/image/20191009/1570601248479229.png)
3.超声波传感器
超声波传感器模块是一种能够把超声波信号转换为电信号的传感器。超声波传感器是一种专门利用超声波测量距离的传感器。它可以发射和接收超声波,发射的超声波碰到障碍物后会反射,这些反射波被超声波传感器接收到以后,通过计算发射和接受的时间间隔来确定与障碍物之间的距离。超声波模块有效探测距离范围为4-400cm。
![1570601271517487.png blob.png](/ueditor/php/upload/image/20191009/1570601271517487.png)
要制作本课的范例作品,还需要学习以下新的指令:
1.”数码管显示数”指令
![1570601278226207.png blob.png](/ueditor/php/upload/image/20191009/1570601278226207.png)
这个指令在HaodaBit类别指令中,使用这个指令可以设置指定端口数码管显示指定的数值。指令默认是“I2C”端口、“整数”类型、显示内容是“100”。需要显示的数值可以在参数框中输入。
2.”数码管清除”指令
![1570601286825781.png blob.png](/ueditor/php/upload/image/20191009/1570601286825781.png)
这个指令在HaodaBit类别指令中,使用这个指令可以清除指定端口数码管上显示的内容。
3.“数字口读取 “指令
![1570601296235737.png blob.png](/ueditor/php/upload/image/20191009/1570601296235737.png)
这个指令在高级类别指令中的引脚类别指令下,使用这个指令可以读取指定数字口的输出值。指令默认是数字口“P0”。通过单击下拉列表,可以选择P0~P2这3个模拟端口和P8、P12、P16这3个数字端口(注意:模拟端口具备数字端口功能,可以当作数字端口使用)。
4.“超声波“指令
![1570601306631602.png blob.png](/ueditor/php/upload/image/20191009/1570601306631602.png)
这个指令在HaodaBit类别指令中,使用这个指令可以读取指定端口的超声波传感器探头到前方物体的直线距离,取值范围是(1,400),单位是“厘米”。指令默认是“P0”端口;通过单击下拉列表,可以选择P0~P2这3个模拟端口和P8、P12、P16这3个数字端口。
作品制作
1.作品描述
超声波测距枪是一个对于数码管模块、按钮模块和超声波传感器综合使用的案例,使用按钮来控制超声波传感器进行测距,按下按钮,返回距离数值,显示在数码管上,松开按钮,不测距,数码管不显示距离数值。再通过乐高搭建,搭出枪型的结构造型,从而完成超声波测距枪的制作。
2.硬件连接
将模块与haoda:bit连接起来:按钮模块连接在“P0”端口,超声波传感器连接在“P1”端口,数码管模块连接在“I2C“端口;接着haoda:bit与计算机连接,将haoda:bit开机,确定电脑资源管理器跳出“MICRBIT”U盘,进入下载模式。
![1570601340235467.png blob.png](/ueditor/php/upload/image/20191009/1570601340235467.png)
3. 在数码管上显示按键值
登录“好好搭搭”网站,选择“创作”栏目中的“好搭bit模板”,进入“haoda:bit编程设计页”进行编程。
要在数码管上显示按键值,应将数码管相关的指令与“数字口读取“指令结合使用,具体程序代码如下图所示:
![1570601348794575.png blob.png](/ueditor/php/upload/image/20191009/1570601348794575.png)
试一试:将上图代码编译后下载到主控板上,然后“按下”或者“弹起”按键,观察点阵屏上显示的数值,并记录下来。
![1570601457284896.png blob.png](/ueditor/php/upload/image/20191009/1570601457284896.png)
我发现:________________________________________________________________________________
4.在数码管上显示超声波测距值
要让数码管显示超声波测距值,应将数码管相关的指令与“超声波”指令结合使用,具体程序代码如下图所示:
![1570601362433803.png blob.png](/ueditor/php/upload/image/20191009/1570601362433803.png)
5.用按钮控制测距
用按钮控制测距,在上面程序编写的基础上加上“如果”与“比较”指令。使用比较指令,比较当按键按下,也就是等于1时,超声波传感器开始测距,数码管显示测距值;当松开按键时,也就是数值等于0时,超声波停止测距,数码管清除。具体程序代码如下图所示:
![1570601481136986.png blob.png](/ueditor/php/upload/image/20191009/1570601481136986.png)
拓展与思考
超声波传感器除了制作测距枪,你还能结合之前所学的传感器用它制作哪些更好玩的智能装置作品?
我打算这么做:________________________________________________ ________________________。
做的时候需要注意:____________________________________________________________________。