一、基本信息
作品名称:噪声检测仪
作者姓名:季晨悦、朱纯艳、黄斯文
作者单位:飞鼠科技
教材名称:《掌控板和物联网编程入门》
教材类型:自编教材
教材简介:这是在谢作如老师指导下,为普及掌控板应用而设计的创客教程。课程的逻辑结构分为神奇屏幕、趣味媒体、智能物联、实战开发四个单元,共18课,综合了编程、造物、物联网等常用技术情境,轻松学习python编程。
执教年级:初中
课时长度:1课时
涉及器材:掌控板
涉及软件:mPython
文件清单:教学设计、配套代码
二、作品内容
声音由物体的振动产生,以波的形式在一定的介质(如固体、液体、气体)中进行传播。但是当声音达到一定强度,就会对人及周围环境造成不良影响,妨碍我们的正常休息、学习和工作,声音就会成为噪音,还会造成声音污染。日常生活中有一些用于检测环境噪声的仪器,我们也可以利用掌控板上的声音传感器制作一个噪声检测仪。
一、项目描述
身边噪音随处可见,正在影响我们的生活,利用掌控板的声音传感器,来检测我们所处的声音环境如何,制作一个噪声监测仪,实现如下功能:
1.在屏幕上实时显示声音值;
2.用进度条将声音显示出来,直观观察传感器值的变化。
二、项目指导
1.显示声音值
掌控板带有声音传感器,可以获取声音数值,mPython也提供了对声音值获取的代码块。
要将获取的声音值显示在屏幕上,首先需要将声音值转化为文本,以文本的形式显示声音值,
;然后结合显示文本代码块,将转化为文本的声音值代码块放入内容的位置,如图所示。
【思考】为什么要将声音值转化成文本形式?若要实时显示声音值,可以结合重复执行循环语句和清屏模块不断更新数据。
2.显示进度条
显示进度条是可以根据设置的位置、宽、高、进度值绘制出一个进度条。与显示文本类似,在“显示”模块中找到“进度条”,用于显示进度条,进度值范围为0-100。
如上图,屏幕中就会显示一个进度值为20的进度条。
为了直观显示声音值,我们需要想办法将声音值的范围(0-4095)对应到0-100的进度值范围中。这里有两种方法来解决这个问题。
方法一:通过映射将声音值范围从0-4095对应到0-100。方法一:通过映射将声音值范围从0-4095对应到0-100。
方法二:通过数学的方法。找出声音的最大值,转换为0-100之间,找出两者的数学关系,这就是数学的方法。
【思考】声音值范围与进度值范围两者有怎样的关系?该如何声音值范围对应到0-100?上图空白处应该除以多少?
三、项目实施
活动1:研究声音传感器,实时显示声音值
1.活动步骤
1)了解掌控板声音传感器工作原理是怎样的?
工作原理:________________________________________________________________;
声音传感器数据返回值范围:___________________________。
2)确定屏幕显示的内容、位置以及声音值的位置
内容:___________________________;位置___________________________;
声音值的位置___________________________。
3)编写代码并测试效果
2.参考程序和效果截图
参考程序:
效果截图:
屏幕会实时显示声音值的大小。
3.可能遇到的问题
如果发现声音值不显示,检查是否加入“OLED显示生效”代码块,或者声音值是否转化为文本形式。
活动2:加上进度条,直观呈现声音的大小
1.活动步骤
1)将声音值的范围0-4095对应到0-100的进度值范围
方法一:通过映射的方法,调用“映射”代码块;
方法二:计算两者数学关系:_____________________________________________;
2)编写代码并测试效果
2.参考程序和效果截图
参考程序:
效果截图:
3.可能遇到的问题
如果发现进度表显示不准确,检查进度条显示的“进度”设置的“映射”是否正确,或者检查两者数学关系是否正确。
四、项目交流
同学们可以根据下面的方式来评价自己项目:
1.基本功能:
___________________________________________________________________________
2.项目的思路:
___________________________________________________________________________
3.项目过程遇到的问题:
___________________________________________________________________________
4.需要改进的地方:
___________________________________________________________________________
点赞