Page Title

第13课 超声波传感器——魔法钢琴


2019-08-05 14:02:56

图片.png 

图片.png

在宇宙探测工作中,移动机器人完成了很多人类还做不到的采样和探测工作。那移动机器人是如何在未知复杂的环境中行走呢?超声波发挥了巨大的作用。超声波作为一种频率超越人耳听觉范围的声波,作用也超级强大。它不仅可以治病还可以用于距离测量。好搭BOX中超声波传感器便可以利用超声波检测与不同物体之间的距离, 只是我们如何能够得知检测的结果呢?

图片.png 

在深入探究如何展示超声波传感器内容之前,我们先学习一下它的工作原理:

超声波传感器模块

图片.png 

超声波传感器模块是一种能够把超声波信号转换为电信号的传感器, 好搭BOX套件中的超声波传感器是一种专门利用超声波测量距离的传感器(如下图13-1所示)能够测量的最远距离为5m。它可以发射和接收超声波,发射的超声波碰到障碍物后会反射,这些反射波被超声波传感器接收到以后,通过计算发射和接收的时间间隔来确定与障碍物的距离。


图片.png

13-1超声波传感器模块

注:声音是由于物体振动产生的。人耳能听到的声音频率一般在20HZ20KHZ范围内,超过20KHZ称为超声波,低于20HZ的称为次声波,超声波因其频率下限大于人的听觉上限而得名。

 

要获取超声波传感器的数值,可以使用以下指令:

 

图片.png 

图片.png 

使用这个指令可以读取超声波传感器测量出来的距离值,单位是“厘米”。

 

图片.png 

 

准备工作:搭建硬件、运行插件、进入网站                        

blob.png 


 

第一步:搭建硬件。将超声波模块、数码管模块、单色LED灯模块和蜂鸣器模块,放置在主控板上的任意六边形区域,磁铁吸合;接着用USB线把主控板和计算机连接起来,然后打开主控板电源开关(如下图13-2所示)。


1564984640742350.png

13-2 “魔法钢琴”范例作品硬件连接图

第二步:运行插件。打开“好好搭搭硬件下载”插件,确认插件程序显示“打开端口成功”。

第三步:进入网站。打开浏览器,登录“好好搭搭”网站;单击网站上方的“创作”按钮,在“创作模版”网页中选择“好搭BOX”模版,进入“模版项目页”;在“模版项目页”中单击网页右上角的“转到设计页”按钮,进入“好搭BOX编程设计页”。


人可以通过视觉、听觉、嗅觉、味觉、触觉这五官获取相关信息。在这里,是否可以将无法直接得知的超声波传感器数值转换成人眼可以获取的文字或者光信号呢?或者是人耳可以听到的声音呢?

案例一:可读的超声波测距仪                        

图片.png 

这个案例我们需要请出老朋友——数码管。

让数码管显示超声波传感器的数值,为了能够更准确地读取每一个测得的数值,每一个“数码管显示”语句之前切记要添加一个“数码管清除”语句。此外,为了让人眼能够更好地捕捉到每一个数值,依然需要添加等待语句。

具体程序代码如下图13-3所示:

图片.png

13-3“可读的超声波测距仪”程序代码

图片.png 

图片.png除了让数码管显示数值之外,是否可以增加灯光的提示。当超声波传感器检测距离小于5时,让单色LED灯中的红灯点亮,起到警示的作用。

 

 

 

案例二:用蜂鸣器展示超声波传感器数值                  

图片.png 

蜂鸣器发出的声音是人耳可以听到的。要让蜂鸣器根据超声波传感器检测数值发声,需要对超声波传感器的值进行判断。若是超声波传感器检测到的数值小于10时,蜂鸣器就用连续的声音发出警报。若是超声波检测到的数值大于10,蜂鸣器则不发出声音。具体的程序代码如下图13-4所示:


图片.png

13-4 “用超声波传感器控制蜂鸣器发声”程序代码

图片.png 

图片.png倒车雷达多采用超声波传感器帮助司机“看见”后视镜中看不见的障碍物,根据超声波传感器检测到的不同数值会有不同的声音以及灯光提示。例如距离小于10cm,蜂鸣器持续警报,音量为20,并有红灯警示;距离大于等于10cm小于20cm时蜂鸣器发出间断的警报,间断时间为1音量5;当距离大于20厘米时,蜂鸣器不发出声音,绿灯亮起。

 

案例三:魔法钢琴                       

图片.png 

案例二中,根据超声波检测到的不同数值,蜂鸣器可以发出不同的声音。若是用手有节奏地去控制超声波检测到的距离,并让蜂鸣器发出的声音频率能对应到相关音符,就好像生成了一个魔法钢琴。 理解创意之后可尝试按以下步骤实现魔法钢琴的创想。

第一步,整理出基本音调。最为常用的有12345677个音调,根据第5课中提供的音调表,可知这7个音调符分别对应的频率为:523586658697783879987

第二步,利用分支结构将音调和频率进行关系对应。具体程序可见图13-5

第三步,新建功能模块。基于第五课音乐盒的制作,可知一个音调的发声需要四个语句,为了方便程序的制作,可以新建一个名为Note”的功能模块,并设置两个数字参数,名为“tone”和“beat”,分别代表“音调”和“节奏”。此处不同的是,选择哪一个音调需要进行判断。所以这里的新建功能模块由第二步所做的程序再加上“设置蜂鸣器响度为5”“等待”“设置蜂鸣器响度为0”组成。具体程序代码可见图13-6

 

图片.png                 

图片.png 

13-5

13-6

第四步,新建一个变量,名为Distance”,用于存储超声波传感器的数值。

第五步,认识测距键盘。为了让手能够较为准确得控制超声波传感器的数值,可以使用下图13-7测距键盘。测距键盘上有七个长方形柱体,每一个柱体代表一个音符,从左至右依次是1do),2re3mi),4fa,5(so),6la),7xi。该测距键盘使用时,需将放置有超声波传感器的主控板置于图上超声波图示位置,让第一个音符1do)距超声波的距离为4cm,第二个音符2re)距超声波的距离为8cm,按照两个音符之间间隔4cm的规律.一直到7个音符7(xi)距超声波的距离为28cm,

图片.png 

13-7 测距键盘

第六步:

图片.png 

13-8 “魔法钢琴”主程序代码

图片.png 

    文中提到了超声波在测量距离方面的功能,你是否能够找到更多关于超声波的功能和应用,并且将你认为超声波最有趣或者最强大的一项功能分享给你的同学或者朋友。

我打算这么做:_______________________________________________________

______________________________________________________________________

做的时候需要注意:____________________________________________________