声音检测传感器
声音传感器的作用相当于一个话筒(麦克风)。它用来接收声波,显示声音的振动图象,但不能对噪声的强度进行测量。传感器内置一个对声音敏感的电容式驻极体话筒。
声波使话筒内的驻极体薄膜振动,导致电容的变化,而产生与之对应变化的微小电压。这一电压随后被转化成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