Grove - 声音传感器
Grove - 声音传感器可以检测环境的声音强度。该模块的主要组件是一个简单的麦克风,基于 L358 放大器和驻极体麦克风。该模块的输出是模拟信号,可以很容易地被 Seeeduino 采样和测试。
特性
- 易于使用
- 提供模拟输出信号
- 易于与 Grove 电路输入端的逻辑模块集成
此声音传感器用于检测周围是否有声音,请不要使用该模块来收集声音信号。例如,您可以使用它制作声控灯,但不能用作录音设备。
规格参数
项目 | 值 |
---|---|
工作电压范围 | 5 V |
工作电流(Vcc=5V) | 4~5 mA |
电压增益(V=6V, f=1kHz) | 26 dB |
麦克风灵敏度(1kHz) | -60~-56dBV/Pa |
麦克风阻抗 | 2.2k Ohm |
麦克风频率 | 16-20 kHz |
麦克风信噪比 | 54 dB |
有关 Grove 模块的更多详细信息,请参考 Grove 系统
支持的平台
Arduino | Raspberry Pi | |||
---|---|---|---|---|
![]() | ![]() | ![]() | ![]() | ![]() |
上述提到的支持平台是/是该模块软件或理论兼容性的指示。在大多数情况下,我们只为 Arduino 平台提供软件库或代码示例。不可能为所有可能的 MCU 平台提供软件库/演示代码。因此,用户必须编写自己的软件库。
开始使用
如果这是您第一次使用Arduino,我们强烈建议您在开始之前先查看Arduino入门指南。
与Arduino一起使用
硬件
- 步骤1. 准备以下物品:
Seeeduino V4.2 | Base Shield | Grove-声音传感器 |
---|---|---|
![]() | ![]() | ![]() |
立即获取 | 立即获取 | 立即获取 |
- 步骤2. 将Grove-声音传感器连接到Grove-Base Shield的A0端口。
- 步骤3. 将Grove - Base Shield插入Seeeduino。
- 步骤4. 通过USB线将Seeeduino连接到PC。
如果我们没有Grove Base Shield,我们也可以直接将Grove-声音传感器连接到Seeeduino,如下所示。
Seeeduino | Grove-声音传感器 |
---|---|
5V | Red |
GND | Black |
A1 | White |
A0 | Yellow |
软件
- 步骤1. 请将下面的代码复制到Arduino IDE并上传到arduino。如果您不知道如何上传代码,请查看如何上传代码。
// Grove - 声音传感器测试代码
// loovee @ 2016-8-30
const int pinAdc = A0;
void setup()
{
Serial.begin(115200);
//Serial.println("Grove - 声音传感器测试...");
}
void loop()
{
long sum = 0;
for(int i=0; i<32; i++)
{
sum += analogRead(pinAdc);
}
sum >>= 5;
Serial.println(sum);
delay(10);
}
- 步骤2. 点击串口 > 绘图器来获取传感器的变化曲线。请制造一些噪音来查看数值的变化。
与Codecraft一起使用
硬件
步骤1. 将Grove - 声音传感器连接到Base Shield的A0端口。
步骤2. 将Base Shield插入您的Seeeduino/Arduino。
步骤3. 通过USB线将Seeeduino/Arduino连接到您的PC。
软件
步骤1. 打开Codecraft,添加Arduino支持,并拖拽一个主程序到工作区域。
如果这是您第一次使用Codecraft,请同时查看使用Arduino的Codecraft指南。
步骤2. 按照下图拖拽代码块或打开可在本页面末尾下载的cdc文件。
将程序上传到您的Arduino/Seeeduino。
当代码上传完成后,您将在串口监视器中看到显示的声音数值。
与Raspberry Pi一起使用(使用Grove Base Hat for Raspberry Pi)
硬件
- 步骤1. 本项目中使用的物品:
Raspberry pi | Grove Base Hat for RasPi | Grove - 声音传感器 |
---|---|---|
![]() | ![]() | ![]() |
立即获取 | 立即获取 | 立即获取 |
- 步骤2. 将Grove Base Hat插入Raspberry。
- 步骤3. 将Grove - 声音传感器连接到Base Hat的A0端口。
- 步骤4. 通过USB线将Raspberry Pi连接到PC。
对于步骤3,您可以将声音传感器连接到任何模拟端口,但请确保您使用相应的端口号更改命令。
软件
如果您使用的是Raspberry Pi with Raspberrypi OS >= Bullseye,您必须仅使用Python3运行此命令行。
- 步骤1. 按照设置软件来配置开发环境。
- 步骤2. 通过克隆grove.py库来下载源文件。
cd ~
git clone https://github.com/Seeed-Studio/grove.py
- 步骤3. 执行以下命令来运行代码。
cd grove.py/grove
python3 grove_sound_sensor.py 0
以下是grove_sound_sensor.py代码。
import math
import sys
import time
from grove.adc import ADC
class GroveSoundSensor:
def __init__(self, channel):
self.channel = channel
self.adc = ADC()
@property
def sound(self):
value = self.adc.read(self.channel)
return value
Grove = GroveSoundSensor
def main():
if len(sys.argv) < 2:
print('Usage: {} adc_channel'.format(sys.argv[0]))
sys.exit(1)
sensor = GroveSoundSensor(int(sys.argv[1]))
print('Detecting sound...')
while True:
print('Sound value: {0}'.format(sensor.sound))
time.sleep(.3)
if __name__ == '__main__':
main()
如果一切顺利,您将能够看到以下结果
pi@raspberrypi:~/grove.py/grove $ python3 grove_sound_sensor.py 0
Detecting sound...
Sound value: 499
Sound value: 525
Sound value: 529
Sound value: 493
Sound value: 457
Sound value: 457
Sound value: 503
Sound value: 537
Sound value: 606
Sound value: 614
Sound value: 661
^CTraceback (most recent call last):
File "grove_sound_sensor.py", line 67, in <module>
main()
File "grove_sound_sensor.py", line 64, in main
time.sleep(.3)
KeyboardInterrupt
您可以通过简单地按下 ++ctrl+c++ 来退出此程序。
您可能已经注意到,对于模拟端口,丝印引脚编号类似于 A1, A0,但在命令中我们使用参数 0 和 1,就像数字端口一样。所以请确保您将模块插入正确的端口,否则可能会出现引脚冲突。
与 Raspberry Pi 一起使用(配合 GrovePi_Plus)
硬件
- 步骤 1. 准备以下物品:
Raspberry pi | GrovePi_Plus | Grove-声音传感器 | Grove-蓝色LED |
---|---|---|---|
![]() | ![]() | ![]() | ![]() |
立即获取 | 立即获取 | 立即获取 | 立即获取 |
-
步骤 2. 将 GrovePi_Plus 插入 Raspberry。
-
步骤 3. 将 Grove-声音传感器连接到 GrovePi_Plus 的 A0 端口,将 Grove-蓝色LED连接到 GrovePi_Plus 的 D5 端口
-
步骤 4. 通过USB线将 Raspberry 连接到PC。
软件
如果您使用的是 Raspberry Pi with Raspberrypi OS >= Bullseye,您必须 仅使用 Python3 运行此命令行。
在本wiki中,我们使用路径 ~/GrovePi/ 而不是 /home/pi/Desktop/GrovePi,您需要确保步骤2和步骤3使用相同的路径。
我们强烈建议您更新固件,否则某些传感器可能会出现错误。
- 步骤 3. Git克隆Github仓库。
cd ~
git clone https://github.com/DexterInd/GrovePi.git
- 步骤 4. 导航到演示目录:
cd yourpath/GrovePi/Software/Python/
这是 grove_sound_sensor.py 代码。
#!/usr/bin/env python
#
# GrovePi 使用 Grove 声音传感器和 Grove LED 的示例
#
# GrovePi 连接 Raspberry Pi 和 Grove 传感器。您可以在这里了解更多关于 GrovePi 的信息:http://www.dexterindustries.com/GrovePi
#
# 模块:
# https://www.seeedstudio.com/wiki/Grove_-_Sound_Sensor
# https://www.seeedstudio.com/wiki/Grove_-_LED_Socket_Kit
#
# 对此示例有疑问?请在论坛上提问:http://forum.dexterindustries.com/c/grovepi
#
'''
## 许可证
MIT 许可证 (MIT)
GrovePi for the Raspberry Pi: 一个将 Grove 传感器连接到 Raspberry Pi 的开源平台。
版权所有 (C) 2017 Dexter Industries
特此免费授予任何获得本软件及相关文档文件("软件")副本的人
不受限制地处理软件的权利,包括但不限于使用、复制、修改、合并、
发布、分发、再许可和/或销售软件副本的权利,并允许向其提供软件的
人员这样做,但须符合以下条件:
上述版权声明和本许可声明应包含在软件的所有副本或重要部分中。
本软件按"原样"提供,不提供任何形式的明示或暗示保证,包括但不限于
对适销性、特定用途适用性和非侵权性的保证。在任何情况下,作者或
版权持有人均不对任何索赔、损害或其他责任负责,无论是在合同诉讼、
侵权行为还是其他方面,由软件或软件的使用或其他交易引起、
由此产生或与之相关。
'''
import time
import grovepi
# 将 Grove 声音传感器连接到模拟端口 A0
# SIG,NC,VCC,GND
sound_sensor = 0
# 将 Grove LED 连接到数字端口 D5
# SIG,NC,VCC,GND
led = 5
grovepi.pinMode(sound_sensor,"INPUT")
grovepi.pinMode(led,"OUTPUT")
# 点亮LED的阈值 400.00 * 5 / 1024 = 1.95v
threshold_value = 400
while True:
try:
# 读取声音级别
sensor_value = grovepi.analogRead(sound_sensor)
# 如果声音大,点亮LED,否则熄灭
if sensor_value > threshold_value:
grovepi.digitalWrite(led,1)
else:
grovepi.digitalWrite(led,0)
print("sensor_value = %d" %sensor_value)
time.sleep(.5)
except IOError:
print ("Error")
- 步骤 5. 运行演示。
sudo python3 grove_sound_sensor.py
原理图在线查看器
资源
- [Eagle]Eagle格式的原理图和PCB
- [PDF]PDF格式的原理图
- [PDF]PDF格式的PCB
- [数据手册]LM358.PDF
- [Codecraft]CDC文件
项目
创建多任务物联网Wi-Fi传感器:本教程展示了如何制作一个联网传感器,同时利用Energia和TI LaunchPad的独特多任务功能。
使用Wio-Link和Node-Red的LED声音计量器:SeeedStudio Grove声音传感器和LED灯带连接到Wio-Link,由Node-Red流程驱动。
声音传感器Grove模块:
可升级为工业传感器
使用SenseCAP S2110控制器和S2100数据记录器,您可以轻松将Grove转换为LoRaWAN®传感器。Seeed不仅帮助您进行原型设计,还为您提供了使用SenseCAP系列坚固工业传感器扩展项目的可能性。
IP66外壳、蓝牙配置、与全球LoRaWAN®网络的兼容性、内置19Ah电池以及APP的强大支持,使SenseCAP S210x成为工业应用的最佳选择。该系列包括土壤湿度、空气温湿度、光照强度、CO2、EC传感器以及8合1气象站。为您下一个成功的工业项目尝试最新的SenseCAP S210x。
技术支持与产品讨论
感谢您选择我们的产品!我们在这里为您提供不同的支持,以确保您使用我们产品的体验尽可能顺畅。我们提供多种沟通渠道,以满足不同的偏好和需求。