常用传感器讲解五--声音传感器-(KY-037)

常用传感器讲解五–声音传感器-(KY-037)

具体讲解

在这里插入图片描述
该模块由一个用于检测声音的灵敏电容麦克风和一个放大电路组成。该模块的输出既是模拟的又是数字的。数字输出用作键,并且它当声音强度达到某个阈值时激活。灵敏度阈值可以通过传感器上的电位计进行调整。模拟输出电压随麦克风接收的声音强度而变化。您可以将此输出连接到Arduino模拟引脚并处理输出电压。

电路连接

电路实验次材料在这里插入图片描述要将此模块与Arduino一起使用,只需连接模块的电源,然后根据需要将其模拟或数字引脚连接到Arduino。在这里插入图片描述

在这里,我们使用了模拟输出。
如下图所示将传感器连接到Arduino
在这里插入图片描述

代码部分

在图表上显示传感器的模拟输出

将传感器的模拟输出连接到Arduino A0引脚,然后将以下代码上传到Arduino板上。然后从“工具”菜单中选择“串行绘图仪”。

在这里插入图片描述

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 <= ledCount; i++) // Define bargraph pins OUTPUT
{
pinMode(bargraph[i], OUTPUT);
}
for (int i = 0; i <= 9; 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 < ledCount; i++) {
// if the array element's index is less than ledLevel,
// turn the pin for this element on:
if (i < ledLevel) {
digitalWrite(bargraph[i], HIGH);
Serial.println(i);
}
// turn off all pins higher than the ledLevel:
else {
digitalWrite(bargraph[i], LOW);
}
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

翼达口香糖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值