【导语】
在公园里散步,本来是一件非常惬意的事情,但有时候噪音问题却让人难以忍受。最近,小喵发现了公园噪音屏,原来它是解决这个问题的神器。只要周围的环境有比较大的噪音,噪音检测器就会发出提示信号。
小喵觉得这个想法非常实用!所以决定结合仿真和硬件来还原公园的噪音检测装置,难度不大,下面一起来看一下要怎么做吧~
【材料准备】
这次是仿真案例和硬件案例一起做,硬件案例中只需要用到一块未来板Lite即可。
【编程软件使用】
【功能概述】
无论是硬件程序还是仿真程序,都是以真实的公园噪声检测装置为基础,其原理就是通过将噪音的连续量通过设定的阈值转化为指令,从而输出噪音提示。
硬件功能:
当噪音低于一定阈值时屏幕显示“安静”。 当噪音高于一定阈值时屏幕显示“吵闹”,并且发出红光提示。
仿真功能:
结合图表插件绘制噪音折线图,对数据进行统计并实现数据可视化。
【前期准备】
分贝转化:
由于无论是仿真还是硬件实现,它们返回的都是声音的电信号,而不是分贝值。而电信号和分贝值是存在一定的对应关系的。为了能够尽量还原出真实的声音大小,我们可以先用手机下载一个音量检测APP,并找一个相对安静的环境对着手机麦克风用最大力气吹气或喊叫,观察数值的变化情况。
可以看到最大是83dB,最小应该是40dB左右(图片显示最小13dB是不准的)。 所以我们通过程序编写音量检测时也要控制在这个范围,至于怎么控制,接下来我们看一下。
【程序编写】
这里再次强调,本次案例分为仿真和硬件两种程序,两个程序不互通。这里先说一下仿真程序的编写方式。
【仿真程序】
根据【功能概述】的介绍,仿真程序中可以用图表记录噪声数值,为了实现这个功能,我们需要在扩展中找到图表绘制插件。
然后对图表的参数进行一个初始化,设置图表类型为折线图、标题名称和X轴Y轴的数值。其中X轴表示时间,Y轴表示噪音,最后打开图表窗口。程序和运行效果如下。
之后重复执行不断采集噪音,结合响度积木获取电脑检测的环境声音,变量【噪音】的数值通过限制积木和四舍五入积木进行数值计算,使分贝值介于35-100之间。程序如下。
之后把噪音数据添加到图表中,首先确定输入的数据名称,X轴获取当前的电脑系统时间,Y轴获取响度计算得到的噪音。
之后设定阈值,判断当前音量是否为安静或者吵闹,阈值设定为70,并结合舞台角色说出来。采集数据时最好添加2s左右的延时方便观察显示效果,到此仿真程序编写完成,可以满足基本的使用。
【硬件程序】
未来板Lite硬件只需要尽量还原真实的检测噪音效果即可,不需要进行可视化数据呈现。根据【功能概述】的描述编写程序,首先是初始化的部分,没有什么特别要强调的,不要忘记彩灯需要初始化。
在主程序中,通过【噪音】变量来记录分贝值,注意这里计算的方法发生了变化,由于未来板Lite的板载麦克风的返回数值是0-4096,所以需要对其进行映射调整。如果大于70则吵闹,小于70则安静,并且用【颜色】变量记录RGB的数值。
最后将信息显示在屏幕上,环境音量的字体颜色会随着【噪音】数值的变化而发生改变,安静时显示字体为绿色,吵闹时显示字体为红色。最后加上3s的延时,意为每隔3s检测一次。到此所有程序已编写完成。注意,本次案例只是模拟分贝值,并不能代表真实的噪音检测装置来使用,具体的映射算法可以根据效果做进一步的调整。
【程序获取】
如果需要获取程序源文件的友友,可以在论坛下方留言后免费下载哈~
【功能演示】
稍后发布演示视频!
|