arduino|如何用arduino去检测声音大小?

arduino|如何用arduino去检测声音大小?

文章图片

arduino|如何用arduino去检测声音大小?

文章图片

arduino|如何用arduino去检测声音大小?

文章图片


arduino是一款小巧 , 方便上手的开关电子硬件开发板 , 可以实现很多有趣的电子硬件产品 。

arduino本身只是一块裸机主板 , 所以如果想要实现某些功能就需要使用它的适配软件arduino IDE来对它进行编程烧入 , 板子上的微控制器可以通过它来编写程序 , 编译成二进制文件 , 烧录进微控制器 。

并且Arduino能通过各种各样的传感器来感知外接的环境 , 比如通过通过控制灯光 , 马达和其他的装置来反馈 , 影响环境;通过温度 , 湿度来感知外界温湿度;红外超声波检测外界物体等等 。
所以如果想要设计一个可以检查声音大小的电子硬件设计要如何做呢?
【arduino|如何用arduino去检测声音大小?】
首先会想到的是需要一个可以检测外界声音的传感器或硬件模块 , 比如说声音传感器模块 。
LM393声音传感器模块介绍:

(1)它可以检测周围环境的的声音强度 , 使用注意:此传感器只能识别声音的有无(根据振动原理)不能识别声音的大小或特地呢频率的声音 。
(2)灵敏度可调
(3)工作电压:3.3V-5V
(4)输出形式:数字开关量输出(0和1高低电平)
(5)设有固定螺栓孔 , 方便安装
(6)PCB板尺寸:3.2cm*1.7cm
但是这个传感器虽然说可以检测到声音 , 但是它不能够很好的检测出声音的强度 , 也就是当外界声音分贝大于某个阀值 , 它能监测到 , 小于这个阀值就过滤掉 , 不能起到检测声音大小的目的 , 只能在声音大于某个分贝时触发开关的作用 。
所以就需要寻找其他可替代的硬件模块 , 这里找到LM386型号的声音传感器 , 它就可以实现检测声音大小的功能 。

那这两个模块有什么区别呢?
这两个模块最大的区别是芯片 , 一个是LM393芯片 , 一个是LM386芯片 , 其中LM393是一个比较器 , LM386是一个放大器 。 所以超声波传感器只能检测到一个预设值 , 通过预设值来判断声音有无 。
而LM386芯片的这个模块会将采集到的信号放大 , 所以声音的大小会改变这个波形的最大值和平均值 , 所以程序端要做的就是每间隔很小的一段时间进行采用一次 , 取平均值或最大值就可以得到声音的具体变化 , 从而实现检测声音大小的目的 。
所以最后可以利用LM386声音传感器做出的电子制作就会非常丰富了 , 比如通过检测外界声音的大小来调节灯光的亮度 , 或者提供相应的噪声语音播报警告等等 。