(SKU:RB-02S084)声音检测传感器

来自ALSROBOT WiKi
2015年12月8日 (二) 15:34Arduino77讨论 | 贡献的版本

(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索
02S08400.png

目录

产品概述

声音传感器是哈尔滨奥松机器人科技有限公司自主研发的一款简单易用、小巧轻便、性价比较高的一款传感器,此款声音传感器是由一个小型驻极体麦克风和运算放大器构成。它可以将捕获的微小电压变化放大100倍左右,能够被微控制器轻松的识别,并进行AD转换,输出模拟电压值,使得您只需采集模拟量电压就可以读出声音的幅值,判断声音的大小。这么贴心的声音检测传感器您都不打算带回家、那您还在等什么呢?声音传感器可在各种单片机控制器上应用,尤其在Arduino控制器上更为简单,通过3P传感器连接线插接到Arduino专用传感器扩展板上,可以非常容易地实现与环境感知相关的互动作品。

规格参数

  1. 工作电压:2.7V-5.5V
  2. 数据类型:模拟输入
  3. 尺寸:30mm×23mm

接口定义

  • S:信号输出
  • +:电源正极 (VCC)
  • -:电源地 (GND)

使用方法

接线方法

将声音传感器连接到 Arduino 的 A0 引脚,LED 发光模块连接到 Arduino 的 D13 引脚。

例子程序

const int analogInPin = A0;   // 定义声音传感器模拟值输入引脚为模拟0
int sensorValue = 0;          // 定义声音传感器模拟值变量
int led=13;                   // 定义LED发光模块引脚为数字13
//初始化函数
void setup() {
  Serial.begin(115200);     //设置串口波特率为115200
  pinMode(led,OUTPUT);       //定义led引脚为输出
}
//主函数
void loop() {
  sensorValue = analogRead(analogInPin);   //读取模拟引脚声音传感器反馈的模拟值
 if(sensorValue>580||sensorValue<423){     //判断声音传感器反馈的模拟值,由于声波是一种波动,故需要判断两段数值
      digitalWrite(led,HIGH);              //通过逻辑或来判断声音的大小,当检测声音大于声音传感器返回值580时点亮LED
  }
  else digitalWrite(led,LOW);              //无声音时LED熄灭 
  delay(50);                               //短暂延时
  Serial.print("sensor = " );             //串口打印字符串
  Serial.print(sensorValue);              //串口打印声音传感器返回模拟值
  delay(100);                             //长延时,消除声波反射
}

说明

Arduino 声音检测传感器的原理不是很复杂,使用一个话筒收集声音,经过滤波、放大之后接到Arduino的模拟输入接口上,这样当人对着话筒说话的时候,在Arduino的模拟输入端口上就能感知到电压的变化,说话声音越大,电压变化的幅度就越大。
但是,由于声波是不断变化的正弦波,所以在模拟输入端口上读取的值相应的也是变化的,我们根据某个时间点上读取的值来对声音进行判断,这时可能读到的是声波波形的最小值,也可能是读取的声波的最大值,所以在判断声音返回值时,需要判断两段数值。

程序效果

当声音输出模拟量在580到423之间时,LED点亮,如果不在范围内,LED熄灭。

视频演示

Sheng yin 01.png




















产品相关推荐

Erweima.png

购买地址

声音检测传感器

周边产品推荐

声音检测传感器
Arduino 旋转角度传感器
Arduino 电容触摸传感器
通用传感器连接线 3P杜邦连接线

相关问题解答

Scratch传感器案例 —— 看!声音的样子!
Arduino Sound Detector 声音检测模块测评
源自Sparkfun——SOUND DETECTOR声音检测传感器评测

相关学习资料

Sparkfun 官方使用手册
声音传感器电路原理图 PDF 文件
声音传感器 Eagle Files 文件下载
奥松机器人技术论坛