Page Title

第7课 使用超声波传感器——魔法音乐盒


2019-08-01 11:29:01

image.png 

音乐盒又称八音盒,是一种通过机械力自动演奏音乐的玩具。它悠扬的乐声,经常勾起人们对美好往事的回忆。本课范例作品所制作的“魔法音乐盒”,能够让人隔空挥动手掌演奏音符,充满了魔幻色彩。

image.png 

要制作本课的范例作品,需要使用以下新的硬件模块:

 

超声波传感器模块


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


blob.png

 

图7-1 超声波传感器模块

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

 

要制作本课的范例作品,还需要使用以下新的指令:

blob.png 

使用这个指令可以读取指定端口的超声波传感器探头到前方物体的直线距离,取值范围是(1400),单位是“厘米”。指令默认是“S0”端口;通过单击下拉列表,可以选择S0S34个数字端口以及A0A34个模拟端口。

image.png 

要制作本课的范例作品,可以按以下步骤先连接硬件、连接网络,然后进入“好好搭搭”网站编写、调试、编译、下载程序。

第一步:连接硬件、连接网络                        


首先将模块与主控板连接起来:超声波传感器模块连接S0”端口、蜂鸣器连接“S1”端口、数码管模块连接“C0”端口,将电池插入电源接口(如下图7-2所示);接着打开电源开关,等待主控板连接网络成功。


blob.png


图7-2 “魔法音乐盒”范例作品硬件连接图

第二步:在数码管上显示超声波传感器的值                        


打开浏览器,登录“好好搭搭”网站;单击网站上方的“创作”按钮,在“无线编程”网页中选择“WULink-NOVA”模板,进入“WULink-NOVA”编程设计页”。

要在数码管上显示超声波传感器的值,可以使用“重复执行”指令,重复执行“数码管消除”、“数码管显示”及“延时”指令,再将“读超声波传感器”指令作为“数码管显示”指令的显示数值参数。由于超声波传感器连接的是“S0”端口,因此会在数码管上每隔“500”毫秒,即间隔0.5秒刷新显示超声波传感器与被测量的障碍物之间的距离。具体程序代码如下图7-3所示:

blob.png

 

图7-3 “在数码管上显示超声波传感器值”程序代码

image.png 

将上图7-3所示代码编译后下载到主控板上,然后按下表要求进行测试,将数码管上显示的数值记录下来,你发现了什么?

 

 

image.png

我发现:________________________________________________________________

_______________________________________________________________________

 

第三步:用超声波传感器控制蜂鸣器发声                   


要让超声波传感器控制蜂鸣器发声,需要对超声波传感器的值进行判断:如果超声波传感器所连接的S0”端口读取的值小于“10”、也就是在10厘米以内有障碍物,那么蜂鸣器发出一秒“中1DO”的声音。具体的程序代码如下图7-4所示:


blob.png

 

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

image.png 

用这种方法控制蜂鸣器发声,与第4课用红外遥控控制有什么不同?你喜欢哪种方式?

 

第四步: 用超声波传感器控制的魔法音乐盒                       


本课所制作的“魔法音乐盒”可以用手掌隔空挥动来控制音符演奏。其实就是检测超声波传感器检测与手掌之间的距离,不同的距离值演奏不同的音符。

在如下图7-5所示的“魔法音乐盒”范例主程序代码中,使用了七个“如果那么”指令,根据超声波传感器所测量距离数值的不同,使用“读超声波传感器”、“设置板载蜂鸣器的音调”和“设置板载蜂鸣器的响度”指令,演奏不同的音符。

blob.png

7-5 “魔法音乐盒”主程序代码

 



image.png 

进一步完善程序,使得“魔法音乐盒”音符演奏控制更精准、更好玩。

 

 

image.png 

超声波传感器除了控制蜂鸣器发声、制作魔法音乐盒,你还能用它制作哪些更好玩的智能装置作品?

我打算这么做:_______________________________________________________

______________________________________________________________________

做的时候需要注意:____________________________________________________

______________________________________________________________________