目标
1.了解声音传感器和蜂鸣器
2.学习声音传感器和蜂鸣器使用相关指令
3.根据所学指令编写噪音提醒程序
噪声是发声体做无规则振动时发出的声音,会影响人类的生活。凡是妨碍人们正常休息、学习和工作的声音,以及对人们要听的声音产生干扰的声音都被称之为噪音。本课我们将要制作一个噪音提醒装置,当声音超过一定范围时,提醒人们轻声细语,或者提醒人们噪音过大,注意关窗等。
实践与探究
步骤一:了解声音传感器和蜂鸣器
1.声音传感器模块
声音传感器里面有一个对声音敏感的电容式驻极体话筒,声波会使话筒内的驻极体薄膜振动,产生电压变化,通过转化和采集后输出具体数值。
声音传感器输出信号为模拟量,调用“读模拟口”指令读取,声音强度取值范围是(0,4095)。
2.蜂鸣器模块
蜂鸣器是一种能够发出指定频率声音的装置,能将音频信号转化为声音信号的发音器件,在家用电器上,在银行、公安的报警系统中,在电子玩具、游戏机中都得到普遍应用。
声音是由物体振动产生的声波。它有三个主观属性:音量、音调和音色。音量指人耳感受到的声音强弱,也叫做“响度”;音调指人耳能分辨一个声音调子的高低程度,主要由声音的频率决定;音色指声音振动频率的特性,不同的物体由于材料、结构不同,发声时的振动频率特性不同,就会产生不同音色的声音。
对于徽章板蜂鸣器来说:驱动电流决定了所发声音的音量,驱动电流固定,所以音量固定;工作频率决定了所发声音的音调;它的内部结构与发声原理决定了所发声音的音色。
步骤二:硬件搭建
噪音提醒装置:声音传感器用来检测环境中声音的大小,当声音超过一定范围时,点阵屏提醒噪音过大,轻声细语;蜂鸣器作为一个直观的提醒装置,当声音超过一定范围时,响起提醒噪音过大,低于一定范围时自动关闭。
将模块与徽章板扩展板连接起来:声音传感器连接“A0”端口,蜂鸣器模块连接“D0”端口;接着把徽章板和扩展板连接起来,最后把徽章板关机与计算机连接,确定电脑资源管理器跳出“haohaodada”U盘,进入下载模式。
![1568281001524792.png blob.png](/ueditor/php/upload/image/20190912/1568281001524792.png)
步骤三:程序编写与调试
1.指令学习
要制作本课的范例作品,还需要使用以下新的指令
声音传感器指令:
![1568281014671786.png blob.png](/ueditor/php/upload/image/20190912/1568281014671786.png)
使用这个指令可以读取指定模拟口的输出值。指令默认是模拟口“A0”。通过单击下拉列表,可以选择A0、A1这2个模拟端口。
蜂鸣器模块指令:
![1568281029960787.png blob.png](/ueditor/php/upload/image/20190912/1568281029960787.png)
使用这个指令可以设置指定数字端口的PWM频率。指令默认是“D0”、频率为“523”。通过单击下拉列表,可以选择D0、D1这2个数字端口和A0、A1这两个模拟接口;具体频率值可以在第二个参数的文本框中输入。
![1568281061955784.png blob.png](/ueditor/php/upload/image/20190912/1568281061955784.png)
使用这个指令可以关闭蜂鸣器。指令默认是“D0”。通过单击下拉列表,可以选择D0、D1这2个数字端口。
2. 在点阵屏上显示声音传感器的值
打开浏览器,登录“好好搭搭”网站;单击网站上方的“创作”按钮,在“创作模板”网页中选择“徽章板”模板,进入“徽章板编程设计页”。
要在点阵屏上显示声音传感器的值,可以在默认指令“重复执行”指令下,重复执行“点阵屏消除”、“点阵屏显示数”及“等待”指令,再将“读模拟口”指令作为“点阵屏显示数”指令的显示数值参数。由于声音传感器连接的是“A0”端口,因此就会在点阵屏上每隔“0.5”秒刷新显示当前环境的声音响度值。
具体程序如下:
![1568281077221295.png blob.png](/ueditor/php/upload/image/20190912/1568281077221295.png)
试一试:将上图所示代码编译后下载到主控板上,然后按下表要求测试不同环境下的声音响度值,将数码管上显示的数值记录下来。
![1569815277727572.png blob.png](/ueditor/php/upload/image/20190930/1569815277727572.png)
3. 噪音提醒装置
利用蜂鸣器直观反应环境声音大小:比如如果环境噪音比较大,那么蜂鸣器就发出声音提醒,同时点阵屏显示“哭脸”表情;如果环境声音比较适宜,那么蜂鸣器停止发声,同时点阵屏显示“笑脸”表情,程序代码如下:
![1670924640252136.png 8.png](/ueditor/php/upload/image/20221213/1670924640252136.png)
试一试:调整数值和显示内容,制作更有趣的噪音装置。
拓展与思考
结合之前所用的传感器,你还能做出什么更有趣的噪音提醒装置吗?
我打算这么做:_______________________________________________________________________________________________________。
做的时候需要注意:___________________________________________________________________________________________________。