基于物联网的声音污染监测系统-使用NodeMCU测量和跟踪分贝(dB)
扫描二维码
随时随地手机看文章
我们当然无法想象一个没有声音的世界。声音是我们日常生活中不可或缺的一部分,没有声音的存在,一切都会变得单调。但是任何东西太多都是危险的,随着汽车、扬声器等的出现,最近几天声音污染已经成为一种威胁。因此,在这个项目中,我们将构建一个物联网分贝计来测量特定位置的声音,并使用物联网将值记录在图表中。像这样的设备在医院和学校这样的地方很有用,可以跟踪和监测声音水平,并采取相应的行动。此前,我们还建立了一个空气污染仪表,使用物联网监测空气质量。
声级计用于声学(通过空气传播的声音)测量。最简单的一种用于声级计的传声器是电容传声器,它将精度与稳定性和可靠性相结合。麦克风的隔膜对声波引起的气压变化作出反应。这就是为什么该仪器通常被称为声压级(SPL)计。
声级计通常用于声污染研究,以量化各种噪音,特别是工业、环境、采矿和飞机噪音。声级计的读数与人类感知的响度不太相关,而人类感知的响度最好由响度计来测量。比响度可能是一种压缩非线性,并在某些级别和某些频率下变化。这些指标也可以用其他几种方法来计算。
在这里,我们将制作一个基于物联网的分贝计,它将使用声音传感器测量以分贝(dB)为单位的声音,并将其显示在LCD显示屏上,它还将将读数推送到Blynk物联网平台,使其可以从世界各地访问。
组件的要求
•ESP8266 nodecu单板
•麦克风传感器
•16*2液晶模块
•电路试验板
•连接电线
麦克风模块是如何工作的?
基于麦克风的声音传感器用于检测声音。它可以测量声音的大小。声音传感器模块是一个小板,混合了一个麦克风(50Hz-10kHz)和一些处理电路,将声波转换为电信号。该电信号被馈送到板载LM393高精度比较器进行数字化,并在OUT引脚上可用。
该模块具有内置电位器,用于输出信号的灵敏度调整。我们将用电位器来设定一个阈值。这样,当声音的振幅超过边缘值时,模块将输出LOW,否则输出HIGH。除此之外,该模块还有两个led。当模块通电时,设备LED将亮起。当数字输出变为LOW时,状态LED将亮起。
声音传感器只有三个引脚:VCC, GND和OUT。VCC引脚为传感器供电,工作电压为3.3V至5V。当条件安静时,OUT引脚输出高电平,当检测到声音时输出低电平。
物联网声音计电路图
连接非常简单,我们只需要将声音传感器连接到一个模拟引脚,并将LCD连接到I2C引脚。
在上图中,我们将声音传感器和LCD显示器的电源引脚连接到NodeMCU的3v3和GND引脚上。与此同时,我们还将模块的SCL和SDA引脚分别连接到D1和D2上,声音传感器的OUT引脚连接到A0引脚上。
设置Blynk远程监控
对于物联网部分,我们将使用Blynk物联网平台。我们以前使用Blynk和Nodemcu来构建许多不同的项目。您还可以查看我们之前构建的其他Blynk项目。在这个应用程序中,我们将添加一个以分贝显示声音强度的仪表。让我们快速设置应用程序。
•首先,从PlayStore安装Blynk应用程序并创建一个帐户。
•单击create按钮并创建您的新项目。
•给你的项目起一个名字,选择NodeMCU板和Wi-Fi连接类型。
•一个验证令牌将被发送到您的注册电子邮件id。确保它的安全,因为它将在以后的编程中使用。
认证令牌是一个唯一的字母数字字符串,用于识别Blynk服务器中的项目并通过它分配正确的数据。
•现在从列表中拖放一个量规并对其进行配置。
•将仪表连接到虚拟引脚V0上,将数值分别设置为0和90,也将读取速率设置为1秒。
现在你搞定了陷害布林克的事。让我们跳到编码部分。
物联网分贝计程序
在这里,我们必须开发一个代码,从声音传感器获取输入并将其值映射到分贝,在比较响度之后,它不仅应该将其打印到16*2 LCD显示器上,还应该将其发送到Blynk服务器。
这个项目的完整代码可以在本页底部找到。您可以直接将其复制粘贴到IDE中,并仅更改三个参数,即SSID, pass和验证令牌。代码解释如下。
在代码的第一部分中,我们包含了所有必要的库和定义。此外,我们还定义了进一步编程所需的变量和对象。
进一步,我们创建了一个Blynk函数来处理我们的仪表连接到的虚拟引脚。我们只是将存储在dB变量中的值发送到V0引脚。
在代码的设置部分,我们定义引脚模式作为输入,并开始LCD显示以及Blynk功能。
在循环部分,我们将执行所有的处理任务,如比较和赋值,同时运行Blynk函数。
项目运作
现在您已经理解了代码,您可以简单地将其上传到您的NodeMCU板,然后项目就应该开始工作了。
为了确保这些数值是正确的,我将它们与手机上可以测量声音的android应用程序进行了比较。正如你从图片中看到的,结果非常接近。
本文编译自iotdesignpro