Page Title

第三课 噪音提醒


2019-10-24 11:37:10


作品图片


blob.png


情景描述


噪声是发声体做无规则振动时发出的声音,会影响人类的生活。凡是妨碍人们正常休息、学习和工作的声音,以及对人们要听的声音产生干扰的声音都被称之为噪音。本课我们将要制作一个噪音提醒装置,当声音超过一定范围时,提醒人们轻声细语,或者提醒人们噪音过大,注意关窗等。


知识与概念


要学习本课的案例,需要了解以下的三种结构:

1.顺序结构

顺序结构的haoda:bit编程脚本由多条指令顺次拼接而成,并按照从上往下的顺序依次执行。即先执行指令A,再执行指令B。

blob.png    blob.png

程序编写如上图所示,

点阵屏先显示小的爱心,1秒后点阵屏清除,显示大的爱心,1秒后清除。按照先后顺序一个个指令依次执行。

试一试:将上面的程序下载至haoda:bit,观察程序运行情况!


2.循环结构

在执行过程中能够重复执行同一段脚本,这段脚本被称为“循环体”。可以为循环结构的脚本设置一个循环条件,也就是当条件成立时才执行循环体内的指令,当条件不成立时则向下执行后续指令。

如果“顺序结构”的脚本中存在呈周期性重复出现的指令,就可以使用循环结构来进行简化,可以大大减少脚本编辑的工作量。

 blob.png


haoda:bit编程界面的“基本”和“循环”类别指令中有三条循环指令:

blob.png

指令没有循环结束条件,会一直执行,默认指令中使用。


blob.png

指令由参数来确定循环条件,指定重复的次数。


blob.png

指令由参数来确定循环条件,指定重复的条件。


例如如下程序:

blob.png

程序运行结果:爱心跳动四次!

试一试:将上面的程序下载至haoda:bit,观察程序运行情况!


3.分支结构

haoda:bit的分支结构,将根据给定的条件是否成立,来决定是否执行相应的脚本。分支结构有两种分为单分支结构和双分支结构。

blob.png    blob.png 


haoda:bit编程界面的“逻辑”类别指令中有一条单分支结构,双分支结构在这个基础上可以调出。

blob.png

单分支结构   

blob.png

 双分支结构

按指令上的“+”可以增加分支和判断条件


要学习本课的案例,需要了解声音传感器。

声音传感器里面有一个对声音敏感的电容式驻极体话筒,声波会使话筒内的驻极体薄膜振动,产生电压变化,通过转化和采集后输出具体数值。

声音传感器输出信号为模拟量,调用“读模拟口”指令读取,声音强度取值范围是(0,4095)。

blob.png


要学习本课的案例,需要学习新的指令:

1.“模拟口读取”指令

blob.png

使用这个指令可以读取指定模拟口的输出值。指令默认是模拟口“P0”。通过单击下拉列表,可以选择P0、P1、P2这3个模拟端口。


2.”清空屏幕”指令

blob.png

这个指令在基本类别指令下更多里面,使用这个指令可以清空点阵屏上的内容。


3.“暂停”指令

blob.png

这个指令在基本类别指令中,使用这个指令可以设置暂停(也就是程序延时)的时间。指令的参数是延时的时间, 默认是“100”,可以下拉列表选择或者自己输入。


4.“如果否则“指令

blob.png

这个指令在“逻辑“类别指令中,是编程语言三种结构(顺序结构、循环结构、分支结构)的其中之一结构分支结构,分支结构又分单分支和双分支结构,”如果”指令属于双分支结构,如果指令中的参数条件成立为真,则会执行如果下的程序;如果条件不成立,则执行否则下面的程序。


5.“比较“指令

blob.png

这个指令在“逻辑“类别指令中,共有三个参数,第一个参数与第三个进行大小比较,第二个参数通过下拉列表可以选择”等于、大于、大于等于、小于、小于等于、不等于“,与“如果”指令结合使用。

 

作品制作


1.作品描述

噪音提示器是一个对于声音传感器、三种结构综合使用的案例,使用haoda:bit点阵屏作为提示,当声音超过一定范围时,点阵屏显示“哭脸”,提示人们安静轻声细语;当声音小于一定范围时,点阵屏显示“笑脸”,再通过乐高搭建结构,从而完成噪音提醒装置。


2.硬件连接

将模块与haoda:bit连接起来:声音传感器连接“P0”端口;接着haoda:bit与计算机连接,将haoda:bit开机,确定电脑资源管理器跳出“MICROBIT”U盘,进入下载模式。

blob.png


3. 在点阵屏上显示声音传感器的值

登录“好好搭搭”网站,选择“创作”栏目中的“好搭bit模板”,进入“haoda:bit编程设计页”进行编程。

要在点阵屏上显示声音传感器的值,可以在默认指令“无线循环”指令下,重复执行“清空屏幕”、“显示数”及“暂停”指令,再将“读模拟口”指令作为“显示数”指令的显示数值参数。由于声音传感器连接的是“P0”端口,因此就会在点阵屏上每隔“0.5”秒刷新显示当前环境的声音响度值。

具体程序如下:

blob.png


试一试:将上图所示代码编译后下载到主控板上,然后按下表要求测试不同环境下的声音响度值,将数码管上显示的数值记录下来。

blob.png


4.噪音提醒装置

利用点阵屏图案显示直观反应环境声音大小:比如如果环境噪音比较大,点阵屏显示”哭脸”表情;如果环境声音比较适宜,点阵屏显示”笑脸表情,程序代码如下:

blob.png


试一试:调整数值和显示内容,制作更有趣的噪音装置。


拓展与思考


结合生活中的常识,你还能做出什么更有趣的噪音提醒装置吗?

我打算这么做:____________________________________________________________________________________。

做的时候需要注意:___________________________________________ ____________________________________。