4466浏览
楼主: 驴友花雕

[项目] 【Arduino】168种传感器系列实验(185)---MAX4466声音模块

[复制链接]

驴友花雕  初级技神
 楼主|

发表于 2021-8-8 13:23:19

实验串口返回情况

20.jpg
回复

使用道具 举报

驴友花雕  初级技神
 楼主|

发表于 2021-8-8 13:46:44

实验场景图

21.jpg
回复

使用道具 举报

驴友花雕  初级技神
 楼主|

发表于 2021-8-8 19:38:28

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百八十五:MAX4466声音传感器 低功耗驻极体话筒放大器 麦克风可调功放模块 microphone
项目之三:声控LED之二

实验开源代码

  1. /*
  2. 【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  3. 实验一百八十五:MAX4466声音传感器 低功耗驻极体话筒放大器 麦克风可调功放模块 microphone
  4. 项目之三:声控LED之二
  5. 模块接线:LED接 D13
  6. MAX4466  Arduino
  7. VCC        5V
  8. GND        GND
  9. OUT         A0
  10. */
  11. int Sen = 0;
  12. int val = 0;
  13. int LED = 13;
  14. int I = 0;
  15. void setup() {
  16.   pinMode(LED, OUTPUT);
  17.   Serial.begin(9600);
  18. }
  19. void loop() {
  20.   val = analogRead(Sen);
  21.   Serial.println(val);
  22.   Serial.println(I);
  23.   if (val > 700 || val <385 ) {
  24.     I = I + 1;
  25.   }
  26.   if (I == 1) {
  27.     digitalWrite(LED, HIGH);
  28.     Serial.println("LED_ON");
  29.   }
  30.   if (I == 2) {
  31.     digitalWrite(LED, LOW);
  32.     Serial.println("LED_OFF");
  33.     I = 0;
  34.   }
  35.   delay(200);
  36. }
复制代码


回复

使用道具 举报

驴友花雕  初级技神
 楼主|

发表于 2021-8-8 19:39:59

实验串口返回情况

22.jpg
回复

使用道具 举报

驴友花雕  初级技神
 楼主|

发表于 2021-8-8 19:40:32

实验串口绘图器返回情况

23.jpg
回复

使用道具 举报

驴友花雕  初级技神
 楼主|

发表于 2021-8-8 20:08:12

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


23-.jpg
回复

使用道具 举报

驴友花雕  初级技神
 楼主|

发表于 2021-8-8 20:09:21

实验串口返回情况

24.jpg
回复

使用道具 举报

驴友花雕  初级技神
 楼主|

发表于 2021-8-13 07:36:46

本帖最后由 驴友花雕 于 2021-8-14 06:43 编辑

                                            


【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验一百八十五:MAX4466声音传感器 低功耗驻极体话筒放大器 麦克风可调功放模块 microphone
  项目之五:简易测量噪音水平(以dB为单位)

  实验开源代码

  1. /*
  2.   【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  3.   实验一百八十五:MAX4466声音传感器 低功耗驻极体话筒放大器 麦克风可调功放模块 microphone
  4.   项目之五:简易测量噪音水平(以dB为单位)
  5.   模块接线:
  6.   MAX4466  Arduino
  7.   VCC        5V
  8.   GND        GND
  9.   OUT         A0
  10. */
  11. const int MIC = 0; //麦克风放大器输出连接到引脚 A0
  12. int adc;
  13. int dB, PdB; //将保存每次从麦克风读取的值的变量
  14. void setup() {
  15.   Serial.begin(9600); //将波特率设置为 9600,以便我们可以检查麦克风在串行监视器上获得的值
  16.   pinMode(13, OUTPUT); //LED灯接入D13脚,并设置为输出
  17. }
  18. void loop() {
  19.   PdB = dB; //在此处存储 dB 的前一个
  20.   adc = analogRead(MIC); //从放大器读取 ADC 值
  21.   Serial.println (adc);//打印 ADC 用于初始计算
  22.   dB = (adc + 83.2073) / 11.003; //使用回归值将 ADC 值转换为 dB
  23.   if (PdB != dB)
  24.     Serial.print ("dB=");
  25.     Serial.println (dB);
  26.   if (dB > 50) //当dB值大于50时,点亮LED灯
  27.   {
  28.     digitalWrite(13, HIGH);   // 打开 LED(HIGH 是高电平)
  29.     delay(100);               // 等一下,延时500毫秒
  30.     digitalWrite(13, LOW);
  31.   }
  32.   delay(100);
  33. }
复制代码

回复

使用道具 举报

驴友花雕  初级技神
 楼主|

发表于 2021-8-13 07:40:59

                                            


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

25.jpg
  
回复

使用道具 举报

驴友花雕  初级技神
 楼主|

发表于 2021-8-13 08:16:09

本帖最后由 驴友花雕 于 2021-8-14 06:44 编辑

                                            


【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验一百八十五:MAX4466声音传感器 低功耗驻极体话筒放大器 麦克风可调功放模块 microphone
  项目之六:测量噪音水平(简化版本)
  模块接线:
MAX4466  Arduino
  VCC        5V
  GND        GND
  OUT         A0

实验开源代码

  1. /*
  2.   【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  3.   实验一百八十五:MAX4466声音传感器 低功耗驻极体话筒放大器 麦克风可调功放模块 microphone
  4.   项目之六:测量噪音水平(简化版本)
  5.   模块接线:
  6.   MAX4466  Arduino
  7.   VCC        5V
  8.   GND        GND
  9.   OUT         A0
  10. */
  11. const int MIC = 0; //麦克风放大器输出连接到引脚 A0
  12. int adc;
  13. int dB, PdB; //将保存每次从麦克风读取的值的变量
  14. void setup() {
  15.   Serial.begin(9600);
  16. }
  17. void loop() {
  18.   PdB = dB; //在此处存储 dB 的前一个
  19.   adc = analogRead(MIC); //从放大器读取 ADC 值
  20.   //Serial.println (adc);//打印 ADC 用于初始计算
  21.   dB = (adc + 83.2073) / 9.8; //使用回归值将 ADC 值转换为 dB
  22.   if (PdB != dB)
  23.   Serial.print ("dB=");
  24.   Serial.println (dB);
  25.   delay(10);
  26. }
复制代码

回复

使用道具 举报

驴友花雕  初级技神
 楼主|

发表于 2021-8-13 08:18:46

                                            
实验串口返回情况

25-.jpg
                                                                           
                    
                                            
                        
                    
               

回复

使用道具 举报

驴友花雕  初级技神
 楼主|

发表于 2021-8-13 08:20:39

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

26.jpg
                                                                           
                    
                                            
                        
                    
               

回复

使用道具 举报

驴友花雕  初级技神
 楼主|

发表于 2021-8-13 08:48:59

本帖最后由 驴友花雕 于 2021-8-17 14:24 编辑

                                            


  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验一百八十五:MAX4466声音传感器 低功耗驻极体话筒放大器 麦克风可调功放模块 microphone
  项目之七:高灵敏度的声级波形测试(人声与拍手声)

  实验开源代码


  1. /*
  2.   【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  3.   实验一百八十五:MAX4466声音传感器 低功耗驻极体话筒放大器 麦克风可调功放模块 microphone
  4.   项目之七:高灵敏度的声级波形测试(人声与拍手声)
  5.   模块接线:
  6.   MAX4466  Arduino
  7.   VCC        5V
  8.   GND        GND
  9.   OUT         A0
  10. */
  11. #define MIC_IN A0
  12. // 以毫秒为单位的采样窗口宽度(50 ms = 20Hz)
  13. int sampleWindow = 50;
  14. void setup(){
  15.   Serial.begin(9600);
  16.   pinMode( MIC_IN, INPUT );
  17. }
  18. void loop(){
  19.   //将模拟传感器读取为声级的数值
  20.   double soundSensed = sampleSoundPeak();
  21.   // 转换为声级数值
  22.   double volts = (soundSensed * 3.3)/1.83; //系数是自定的实验值
  23.   // 打印出来
  24.   Serial.println(volts);
  25. }
  26. /**
  27.     Sense 最大输入差异是从模拟 MIC 传感器输入
  28.     在某个“时间窗口”内。
  29.     返回值在 0 - 1024 范围内。
  30. **/
  31. double sampleSoundPeak(){
  32.   // 记录开始时间
  33.   double startMillis = millis();
  34.   // 这将是最高峰,所以从很小开始
  35.   int signalMax = 0;
  36.   // 这将是最低峰,所以从高处开始
  37.   int signalMin = 1024;
  38.   // 将保持麦克风的当前值
  39.   int sample;
  40.   // 收集 50 毫秒的数据
  41.   while ( (millis() - startMillis) < sampleWindow ){
  42.     // 从 mic 读取一个值并将其记录到示例变量中
  43.     sample = analogRead( MIC_IN );
  44.     // 丢弃虚假读数
  45.     if (sample < 1024)
  46.     {
  47.       // 如果当前样本大于最大值
  48.       if (sample > signalMax)
  49.       {
  50.         // 这是新的最大值——保存它
  51.         signalMax = sample;
  52.       }
  53.       // 否则,如果当前样本小于最小值
  54.       else if (sample < signalMin)
  55.       {
  56.         // 这是新的数值——保存它
  57.         signalMin = sample;
  58.       }
  59.     }
  60.   }
  61.    // 现在我们已经收集了我们的数据,
  62.    // 确定峰峰值幅度为最大值 - 最小值
  63.   int peakDifference = signalMax - signalMin;
  64.   // 将其返回给此方法的调用者
  65.   return peakDifference;
  66. }
复制代码

回复

使用道具 举报

驴友花雕  初级技神
 楼主|

发表于 2021-8-13 09:35:22

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

                                            


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

29.jpg
回复

使用道具 举报

驴友花雕  初级技神
 楼主|

发表于 2021-8-13 09:40:07

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

                                            


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

28.jpg


回复

使用道具 举报

驴友花雕  初级技神
 楼主|

发表于 2021-8-13 09:46:52

                                            


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

27.jpg

回复

使用道具 举报

驴友花雕  初级技神
 楼主|

发表于 2021-8-13 11:57:50

                                            
实验场景图

30.jpg
                                                                           
                    
                                            
                        
                    
               

回复

使用道具 举报

驴友花雕  初级技神
 楼主|

发表于 2021-8-13 20:04:42

本帖最后由 驴友花雕 于 2021-8-16 17:43 编辑

                                            


【Arduino】108种传感器模块系列实验(资料+代码+图形+仿真)
  实验一百八十五:MAX4466声音传感器 低功耗驻极体话筒放大器 麦克风可调功放模块 microphone
  项目之八:打开串行绘图仪窗口以观察平均音频幅度(简化版本)
  程序说明:将 3.3V 连接到 AREF 输入以使用 3.3V 进行 ADC 操作

  实验开源代码
  1. /*
  2.   【Arduino】108种传感器模块系列实验(资料+代码+图形+仿真)
  3.   实验一百八十五:MAX4466声音传感器 低功耗驻极体话筒放大器 麦克风可调功放模块 microphone
  4.   项目之八:打开串行绘图仪窗口以观察平均音频幅度(简化版本)
  5.   程序说明:将 3.3V 连接到 AREF 输入以使用 3.3V 进行 ADC 操作
  6.   模块接线:
  7.   MAX4466  Arduino
  8.   VCC        5V
  9.   GND        GND
  10.   OUT         A0
  11. */
  12. int const SAMPLE_WINDOW = 50; // 以毫秒为单位的采样窗口宽度(50 毫秒 = 20Hz)
  13. int const PREAMP_PIN = A0;      // 前置放大器输出引脚连接到A0
  14. unsigned int sample;
  15. void setup() {
  16.   analogReference(EXTERNAL); // 将 3.3V 连接到 AREF 以提供参考电压
  17.   Serial.begin(9600);
  18. }
  19. void loop() {
  20.   unsigned long startMillis = millis(); // 示例窗口的开始
  21.   unsigned int amplitude = 0;   // 峰峰值
  22.   unsigned int soundMax = 0;
  23.   unsigned int soundMin = 1024;
  24.   // 收集 50 毫秒的数据,然后绘制数据
  25.   while (millis() - startMillis < SAMPLE_WINDOW) {
  26.     sample = analogRead(PREAMP_PIN);
  27.     if (sample > soundMax) {
  28.       soundMax = sample;  // 保存最大级别
  29.     }
  30.     else if (sample < soundMin) {
  31.       soundMin = sample;  // 保存最低级别
  32.     }
  33.   }
  34.   amplitude = soundMax - soundMin;  // 最大值 - 最小值 = 峰峰值幅度
  35.   Serial.println(amplitude);
  36. }
复制代码
回复

使用道具 举报

驴友花雕  初级技神
 楼主|

发表于 2021-8-14 07:07:47

                                            


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

33.jpg
回复

使用道具 举报

驴友花雕  初级技神
 楼主|

发表于 2021-8-14 07:09:41

                                            


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

34.jpg

回复

使用道具 举报

驴友花雕  初级技神
 楼主|

发表于 2021-8-14 07:13:46

                                            


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


35.jpg
                                                                        
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2022 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail