声音检测传感器

声音传感器的作用相当于一个话筒(麦克风)。它用来接收声波,显示声音的振动图象,但不能对噪声的强度进行测量。传感器内置一个对声音敏感的电容式驻极体话筒。

声波使话筒内的驻极体薄膜振动,导致电容的变化,而产生与之对应变化的微小电压。这一电压随后被转化成0-5V的电压,经过A/D转换被数据采集器接收。

模块有两个输出,AO输出模拟量,实时输出麦克风两端电压值;当声音强度到达某个阈值时,DO引脚输出高电平信号,否则输出为低电平信号。(阈值可通过电位器调节)

引脚说明

接线方式如下:

模块引脚 Stduino 开发板管脚
AO A0
G GND
+ 5V
DO D8

必需的组件

你将需要以下组件:

  • 1×声音传感模块。
  • 1×Stduino UNO/Nano

连接

按照电路图连接面包主板的组件,如下图所示。

Stduino代码

数字信号检测

#include <Arduino.h>
int LED = 13;
int BUTTON = 8;//DO接口
int val;//数字变量val
void setup()
{
  // put your setup code here, to run once:
    pinMode(LED,OUTPUT);
    pinMode(BUTTON,INPUT);
}
void loop()
{
  // put your main code here, to run repeatedly:
    val=digitalRead(BUTTON);
    if(val ==HIGH)//当监测到有声音时,LED闪烁
    {
        digitalWrite(LED,LOW);
    }
    else
    {
        digitalWrite(LED,HIGH);
    }
    delay(1000);
    val = 0;
}

模拟信号输入

#include <Arduino.h>
int sensorPin = A0;//A0接口
int ledPin = 13;
int sensorValue = 0;//数字变量val
void setup()
{
  // put your setup code here, to run once:
    pinMode(ledPin,OUTPUT);
    pinMode(sensorPin,INPUT_ANALOG);
    Serial.begin(9600);
}
void loop()
{
  // put your main code here, to run repeatedly:
    sensorValue=analogRead(sensorPin);
    digitalWrite(ledPin,LOW);
    delay(sensorValue);
    digitalWrite(ledPin,HIGH);
    delay(sensorValue);
    Serial.println(sensorValue);
}

结果

程序编写完成后,上传到Stduino UNO/Nano,就可以看到超声波传感器正检测声音。

文档更新时间: 2021-02-14 14:28   作者:admin