实验串口返回情况
				
			
		实验场景图
				
			
		【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百八十五:MAX4466声音传感器 低功耗驻极体话筒放大器 麦克风可调功放模块 microphone
项目之三:声控LED之二
实验开源代码
/*
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百八十五:MAX4466声音传感器 低功耗驻极体话筒放大器 麦克风可调功放模块 microphone
项目之三:声控LED之二
模块接线:LED接 D13
MAX4466Arduino
VCC      5V
GND      GND
OUT         A0
*/
int Sen = 0;
int val = 0;
int LED = 13;
int I = 0;
void setup() {
pinMode(LED, OUTPUT);
Serial.begin(9600);
}
void loop() {
val = analogRead(Sen);
Serial.println(val);
Serial.println(I);
if (val > 700 || val <385 ) {
    I = I + 1;
}
if (I == 1) {
    digitalWrite(LED, HIGH);
    Serial.println("LED_ON");
}
if (I == 2) {
    digitalWrite(LED, LOW);
    Serial.println("LED_OFF");
    I = 0;
}
delay(200);
}
				
			
		实验串口返回情况
				
			
		实验串口绘图器返回情况
				
			
		实验开源图形编程(Mind+、Mixly、编玩边学)
项目之四:简易声控开关
				
			
		实验串口返回情况
				
			
		 本帖最后由 驴友花雕 于 2021-8-14 06:43 编辑 
                                          
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百八十五:MAX4466声音传感器 低功耗驻极体话筒放大器 麦克风可调功放模块 microphone
项目之五:简易测量噪音水平(以dB为单位)
实验开源代码
/*
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百八十五:MAX4466声音传感器 低功耗驻极体话筒放大器 麦克风可调功放模块 microphone
项目之五:简易测量噪音水平(以dB为单位)
模块接线:
MAX4466Arduino
VCC      5V
GND      GND
OUT         A0
*/
const int MIC = 0; //麦克风放大器输出连接到引脚 A0
int adc;
int dB, PdB; //将保存每次从麦克风读取的值的变量
void setup() {
Serial.begin(9600); //将波特率设置为 9600,以便我们可以检查麦克风在串行监视器上获得的值
pinMode(13, OUTPUT); //LED灯接入D13脚,并设置为输出
}
void loop() {
PdB = dB; //在此处存储 dB 的前一个
adc = analogRead(MIC); //从放大器读取 ADC 值
Serial.println (adc);//打印 ADC 用于初始计算
dB = (adc + 83.2073) / 11.003; //使用回归值将 ADC 值转换为 dB
if (PdB != dB)
    Serial.print ("dB=");
    Serial.println (dB);
if (dB > 50) //当dB值大于50时,点亮LED灯
{
    digitalWrite(13, HIGH);   // 打开 LED(HIGH 是高电平)
    delay(100);               // 等一下,延时500毫秒
    digitalWrite(13, LOW);
}
delay(100);
}
				
			
		                                          
实验串口绘图器返回情况(讲话声)
				
			
		 本帖最后由 驴友花雕 于 2021-8-14 06:44 编辑 
                                          
 【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百八十五:MAX4466声音传感器 低功耗驻极体话筒放大器 麦克风可调功放模块 microphone
项目之六:测量噪音水平(简化版本)
模块接线:
 MAX4466Arduino
VCC      5V
GND      GND
OUT         A0
 实验开源代码
/*
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百八十五:MAX4466声音传感器 低功耗驻极体话筒放大器 麦克风可调功放模块 microphone
项目之六:测量噪音水平(简化版本)
模块接线:
MAX4466Arduino
VCC      5V
GND      GND
OUT         A0
*/
const int MIC = 0; //麦克风放大器输出连接到引脚 A0
int adc;
int dB, PdB; //将保存每次从麦克风读取的值的变量
void setup() {
Serial.begin(9600); 
}
void loop() {
PdB = dB; //在此处存储 dB 的前一个
adc = analogRead(MIC); //从放大器读取 ADC 值
//Serial.println (adc);//打印 ADC 用于初始计算
dB = (adc + 83.2073) / 9.8; //使用回归值将 ADC 值转换为 dB
if (PdB != dB)
Serial.print ("dB=");
Serial.println (dB);
delay(10);
}
				
			
		                                          
实验串口返回情况
                                                                            
                  
                                          
                        
                  
                
				
			
		                                          
实验串口绘图器返回情况(尖峰为咳嗽声)
                                                                            
                  
                                          
                        
                  
                
				
			
		 本帖最后由 驴友花雕 于 2021-8-17 14:24 编辑 
                                          
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百八十五:MAX4466声音传感器 低功耗驻极体话筒放大器 麦克风可调功放模块 microphone
项目之七:高灵敏度的声级波形测试(人声与拍手声)
实验开源代码
/*
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百八十五:MAX4466声音传感器 低功耗驻极体话筒放大器 麦克风可调功放模块 microphone
项目之七:高灵敏度的声级波形测试(人声与拍手声)
模块接线:
MAX4466Arduino
VCC      5V
GND      GND
OUT         A0
*/
#define MIC_IN A0
// 以毫秒为单位的采样窗口宽度(50 ms = 20Hz)
int sampleWindow = 50;
void setup(){
Serial.begin(9600);
pinMode( MIC_IN, INPUT );
}
void loop(){
//将模拟传感器读取为声级的数值
double soundSensed = sampleSoundPeak();
// 转换为声级数值
double volts = (soundSensed * 3.3)/1.83; //系数是自定的实验值
// 打印出来
Serial.println(volts);
}
/**
    Sense 最大输入差异是从模拟 MIC 传感器输入
    在某个“时间窗口”内。
    返回值在 0 - 1024 范围内。
**/
double sampleSoundPeak(){
// 记录开始时间
double startMillis = millis();
// 这将是最高峰,所以从很小开始
int signalMax = 0;
// 这将是最低峰,所以从高处开始
int signalMin = 1024;
// 将保持麦克风的当前值
int sample;
// 收集 50 毫秒的数据
while ( (millis() - startMillis) < sampleWindow ){
    // 从 mic 读取一个值并将其记录到示例变量中
    sample = analogRead( MIC_IN );
    // 丢弃虚假读数
    if (sample < 1024)
    {
      // 如果当前样本大于最大值
      if (sample > signalMax)
      {
      // 这是新的最大值——保存它
      signalMax = sample;
      }
      // 否则,如果当前样本小于最小值
      else if (sample < signalMin)
      {
      // 这是新的数值——保存它
      signalMin = sample;
      }
    }
}
   // 现在我们已经收集了我们的数据,
   // 确定峰峰值幅度为最大值 - 最小值
int peakDifference = signalMax - signalMin;
// 将其返回给此方法的调用者
return peakDifference;
}
				
			
		 本帖最后由 驴友花雕 于 2021-8-13 09:46 编辑 
                                          
实验串口绘图器返回情况之一
半米处低声讲话,幅度变化可有4倍以上
				
			
		 本帖最后由 驴友花雕 于 2021-8-13 09:45 编辑 
                                          
实验串口绘图器返回情况之二
三米处拍手声,幅度变化可达18倍
				
			
		                                          
实验串口绘图器返回情况之三
测试各种情况下声级变化,最高动态幅度变化达到25倍
				
			
		                                          
实验场景图
                                                                            
                  
                                          
                        
                  
                
				
			
		 本帖最后由 驴友花雕 于 2021-8-16 17:43 编辑 
                                          
 【Arduino】108种传感器模块系列实验(资料+代码+图形+仿真)
实验一百八十五:MAX4466声音传感器 低功耗驻极体话筒放大器 麦克风可调功放模块 microphone
项目之八:打开串行绘图仪窗口以观察平均音频幅度(简化版本)
程序说明:将 3.3V 连接到 AREF 输入以使用 3.3V 进行 ADC 操作
实验开源代码
/*
【Arduino】108种传感器模块系列实验(资料+代码+图形+仿真)
实验一百八十五:MAX4466声音传感器 低功耗驻极体话筒放大器 麦克风可调功放模块 microphone
项目之八:打开串行绘图仪窗口以观察平均音频幅度(简化版本)
程序说明:将 3.3V 连接到 AREF 输入以使用 3.3V 进行 ADC 操作
模块接线:
MAX4466Arduino
VCC      5V
GND      GND
OUT         A0
*/
int const SAMPLE_WINDOW = 50; // 以毫秒为单位的采样窗口宽度(50 毫秒 = 20Hz)
int const PREAMP_PIN = A0;      // 前置放大器输出引脚连接到A0
unsigned int sample;
void setup() {
analogReference(EXTERNAL); // 将 3.3V 连接到 AREF 以提供参考电压
Serial.begin(9600);
}
void loop() {
unsigned long startMillis = millis(); // 示例窗口的开始
unsigned int amplitude = 0;   // 峰峰值
unsigned int soundMax = 0;
unsigned int soundMin = 1024;
// 收集 50 毫秒的数据,然后绘制数据
while (millis() - startMillis < SAMPLE_WINDOW) {
    sample = analogRead(PREAMP_PIN);
    if (sample > soundMax) {
      soundMax = sample;// 保存最大级别
    }
    else if (sample < soundMin) {
      soundMin = sample;// 保存最低级别
    }
}
amplitude = soundMax - soundMin;// 最大值 - 最小值 = 峰峰值幅度
Serial.println(amplitude);
}				
			
		                                          
实验串口绘图器返回情况之一
实测环境噪音波形
				
			
		                                          
实验串口绘图器返回情况之二
断续讲话声波形
				
			
		                                          
实验串口绘图器返回情况之三
播放背景音乐的波形