ocrobot:modules:max4466
麦克风模块
介绍
这是一个精心设计过的麦克风模块,配备了一个20-16KHz的驻极体麦克风,使用了专用麦克风放大器,具有很优异的电源噪声抑制,几乎没有什么噪音或者沙沙声。
模块上有一个电位器,它用来调节增益幅度(灵敏度)。
他使用起来也非常简单,GND引脚接地,VCC使用2.4-5V的DC。为了获得最佳的效果,请使用一个单独的LDO为他供电,防止其他设备产生噪声。(在Arduino控制板上,您可以使用3.3V)。音频波形通过OUT引脚输出。输出具有VCC/2的直流偏置,所以当周围环境为完全安静的时候,电压将是一个稳定的VCC/2伏特(DC耦合)。
如果您使用的音频设备是需要交流耦合音频,那么您需要在麦克风输出引脚和设备输入引脚之间加一个100uF的电容。如果是连接到音频放大器,具有差分输入并包含了退偶电容,那么就不需要100uF的电容。
模块的OUT引脚设计的并不是直接连接扬声器或者耳机的,如果您需要连接到扬声器或者耳机,您需要一个音频放大器。如果您连接到单片机的ADC口,那么就不需要放大器,也不需要退偶电容,直接OUT引脚连接到ADC接口即可。
参数
灵敏度:-42DB±2DB
信噪比:60DB
检测频率范围:20Hz-16KHz
接口:2.54间距标准排针
尺寸:1.651cm × 2.032cm
示例代码
1、测量声音强度代码,VCC接到3.3V。(本代码为Arduino代码)
const int sampleWindow = 50; // Sample window width in mS (50 mS = 20Hz) unsigned int sample; void setup() { Serial.begin(9600); } void loop() { unsigned long startMillis= millis(); // Start of sample window unsigned int peakToPeak = 0; // peak-to-peak level unsigned int signalMax = 0; unsigned int signalMin = 1024; // collect data for 50 mS while (millis() - startMillis < sampleWindow) { sample = analogRead(0); if (sample < 1024) // toss out spurious readings { if (sample > signalMax) { signalMax = sample; // save just the max levels } else if (sample < signalMin) { signalMin = sample; // save just the min levels } } } peakToPeak = signalMax - signalMin; // max - min = peak-peak amplitude double volts = (peakToPeak * 3.3) / 1024; // convert to volts Serial.println(volts); }
图片详情
文档
ocrobot/modules/max4466.txt · 最后更改: 2023/06/07 04:23 由 127.0.0.1