驴友花雕 发表于 2021-8-8 13:23:19

实验串口返回情况


驴友花雕 发表于 2021-8-8 13:46:44

实验场景图


驴友花雕 发表于 2021-8-8 19:38:28

【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);
}

驴友花雕 发表于 2021-8-8 19:39:59

实验串口返回情况


驴友花雕 发表于 2021-8-8 19:40:32

实验串口绘图器返回情况


驴友花雕 发表于 2021-8-8 20:08:12

实验开源图形编程(Mind+、Mixly、编玩边学)
项目之四:简易声控开关



驴友花雕 发表于 2021-8-8 20:09:21

实验串口返回情况


驴友花雕 发表于 2021-8-13 07:36:46

本帖最后由 驴友花雕 于 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-13 07:40:59

                                          


实验串口绘图器返回情况(讲话声)



驴友花雕 发表于 2021-8-13 08:16:09

本帖最后由 驴友花雕 于 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-13 08:18:46

                                          
实验串口返回情况


                                                                           
                  
                                          
                        
                  
               

驴友花雕 发表于 2021-8-13 08:20:39

                                          
实验串口绘图器返回情况(尖峰为咳嗽声)


                                                                           
                  
                                          
                        
                  
               

驴友花雕 发表于 2021-8-13 08:48:59

本帖最后由 驴友花雕 于 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:35:22

本帖最后由 驴友花雕 于 2021-8-13 09:46 编辑

                                          


实验串口绘图器返回情况之一
半米处低声讲话,幅度变化可有4倍以上


驴友花雕 发表于 2021-8-13 09:40:07

本帖最后由 驴友花雕 于 2021-8-13 09:45 编辑

                                          


实验串口绘图器返回情况之二
三米处拍手声,幅度变化可达18倍




驴友花雕 发表于 2021-8-13 09:46:52

                                          


实验串口绘图器返回情况之三
测试各种情况下声级变化,最高动态幅度变化达到25倍



驴友花雕 发表于 2021-8-13 11:57:50

                                          
实验场景图


                                                                           
                  
                                          
                        
                  
               

驴友花雕 发表于 2021-8-13 20:04:42

本帖最后由 驴友花雕 于 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);
}

驴友花雕 发表于 2021-8-14 07:07:47

                                          


实验串口绘图器返回情况之一
实测环境噪音波形


驴友花雕 发表于 2021-8-14 07:09:41

                                          


实验串口绘图器返回情况之二
断续讲话声波形



驴友花雕 发表于 2021-8-14 07:13:46

                                          


实验串口绘图器返回情况之三
播放背景音乐的波形



                                                                        
页: 1 [2] 3
查看完整版本: 【Arduino】168种传感器系列实验(185)---MAX4466声音模块