【KittenBot信息科技案例】制作公园噪音检测屏(文末有源文件)

[复制链接]
18 |1
rmq 发表于 3 天前 | 显示全部楼层 |阅读模式
【导语】

在公园里散步,本来是一件非常惬意的事情,但有时候噪音问题却让人难以忍受。最近,小喵发现了公园噪音屏,原来它是解决这个问题的神器。只要周围的环境有比较大的噪音,噪音检测器就会发出提示信号。

1.jpeg
小喵觉得这个想法非常实用!所以决定结合仿真和硬件来还原公园的噪音检测装置,难度不大,下面一起来看一下要怎么做吧~
2.gif

【材料准备】

这次是仿真案例和硬件案例一起做,硬件案例中只需要用到一块未来板Lite即可。

3.png
【编程软件使用】


      Kittenblock1.89   点击进入在线编程

【功能概述】


无论是硬件程序还是仿真程序,都是以真实的公园噪声检测装置为基础,其原理就是通过将噪音的连续量通过设定的阈值转化为指令,从而输出噪音提示。

4.png
硬件功能:

当噪音低于一定阈值时屏幕显示“安静”。
当噪音高于一定阈值时屏幕显示“吵闹”,并且发出红光提示。

5.png

仿真功能:

结合图表插件绘制噪音折线图,对数据进行统计并实现数据可视化。

2024-12-23_14-11-14.png

【前期准备】


分贝转化:

由于无论是仿真还是硬件实现,它们返回的都是声音的电信号,而不是分贝值。而电信号和分贝值是存在一定的对应关系的。为了能够尽量还原出真实的声音大小,我们可以先用手机下载一个音量检测APP,并找一个相对安静的环境对着手机麦克风用最大力气吹气或喊叫,观察数值的变化情况。

7.png


可以看到最大是83dB,最小应该是40dB左右(图片显示最小13dB是不准的)。
所以我们通过程序编写音量检测时也要控制在这个范围,至于怎么控制,接下来我们看一下。

【程序编写】


这里再次强调,本次案例分为仿真和硬件两种程序,两个程序不互通。这里先说一下仿真程序的编写方式。

【仿真程序】


根据【功能概述】的介绍,仿真程序中可以用图表记录噪声数值,为了实现这个功能,我们需要在扩展中找到图表绘制插件。

8.png

然后对图表的参数进行一个初始化,设置图表类型为折线图、标题名称和X轴Y轴的数值。其中X轴表示时间,Y轴表示噪音,最后打开图表窗口。程序和运行效果如下。

9.png

10.png
之后重复执行不断采集噪音,结合响度积木获取电脑检测的环境声音,变量【噪音】的数值通过限制积木和四舍五入积木进行数值计算,使分贝值介于35-100之间。程序如下。
11.png

之后把噪音数据添加到图表中,首先确定输入的数据名称,X轴获取当前的电脑系统时间,Y轴获取响度计算得到的噪音。

12.png

之后设定阈值,判断当前音量是否为安静或者吵闹,阈值设定为70,并结合舞台角色说出来。采集数据时最好添加2s左右的延时方便观察显示效果,到此仿真程序编写完成,可以满足基本的使用。

13.png


【硬件程序】


未来板Lite硬件只需要尽量还原真实的检测噪音效果即可,不需要进行可视化数据呈现。根据【功能概述】的描述编写程序,首先是初始化的部分,没有什么特别要强调的,不要忘记彩灯需要初始化。

14.png

在主程序中,通过【噪音】变量来记录分贝值,注意这里计算的方法发生了变化,由于未来板Lite的板载麦克风的返回数值是0-4096,所以需要对其进行映射调整。如果大于70则吵闹,小于70则安静,并且用【颜色】变量记录RGB的数值。

15.png

最后将信息显示在屏幕上,环境音量的字体颜色会随着【噪音】数值的变化而发生改变,安静时显示字体为绿色,吵闹时显示字体为红色。最后加上3s的延时,意为每隔3s检测一次。到此所有程序已编写完成。注意,本次案例只是模拟分贝值,并不能代表真实的噪音检测装置来使用,具体的映射算法可以根据效果做进一步的调整。

16.png

【程序获取】


如果需要获取程序源文件的友友,可以在论坛下方留言后免费下载哈~

游客,如果您要查看本帖隐藏内容请回复

【功能演示】


稍后发布演示视频!

技术狂人5678 发表于 3 天前 | 显示全部楼层
简单实用 不错~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

热门版块
快速回复 返回顶部 返回列表