常用传感器讲解五–声音传感器-(KY-037)
具体讲解
该模块由一个用于检测声音的灵敏电容麦克风和一个放大电路组成。该模块的输出既是模拟的又是数字的。数字输出用作键,并且它当声音强度达到某个阈值时激活。灵敏度阈值可以通过传感器上的电位计进行调整。模拟输出电压随麦克风接收的声音强度而变化。您可以将此输出连接到Arduino模拟引脚并处理输出电压。
电路连接
电路实验次材料 要将此模块与Arduino一起使用,只需连接模块的电源,然后根据需要将其模拟或数字引脚连接到Arduino。![在这里插入图片描述](https://img-blog.csdnimg.cn/20210428072955349.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NzU2NzQwMQ==,size_16,color_FFFFFF,t_70)
在这里,我们使用了模拟输出。 如下图所示将传感器连接到Arduino ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210428072921394.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NzU2NzQwMQ==,size_16,color_FFFFFF,t_70)
代码部分
在图表上显示传感器的模拟输出
将传感器的模拟输出连接到Arduino A0引脚,然后将以下代码上传到Arduino板上。然后从“工具”菜单中选择“串行绘图仪”。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210428072908879.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NzU2NzQwMQ==,size_16,color_FFFFFF,t_70)
int sensor_value = 0;
int threshold = 540; //Enter Your threshold value here
int abs_value = 0;
int ledCount = 10; //number of Bargraph LEDs
int bargraph[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; // Bargraph pins
void setup() {
Serial.begin(9600); // setup serial
for (int i = 0; i
digitalWrite(i, LOW);
}
}
void loop() {
sensor_value = analogRead(A0);
abs_value = abs(sensor_value - threshold);
int ledLevel = map(abs_value, 0, (1024 - threshold), 0, ledCount);
for (int i = 0; i
digitalWrite(bargraph[i], HIGH);
Serial.println(i);
}
// turn off all pins higher than the ledLevel:
else {
digitalWrite(bargraph[i], LOW);
}
}
}
|