【花雕体验】20 音乐可视化:ESP32_C3与WS2812B的系列尝试-Arduino中文社区 - Powered by Discuz! Archiver

eagler8 发表于 2022-7-19 09:18

实验串口返回情况



eagler8 发表于 2022-7-19 09:29

打开Arduino IDE——工具——串口绘图器,查看实验波形



eagler8 发表于 2022-7-19 09:33

实验串口绘图器返回情况(实测环境噪音的波形)



eagler8 发表于 2022-7-19 09:37

实验串口绘图器返回情况(实测播放音乐<当中部分>的波形)







eagler8 发表于 2022-7-19 10:28

实验场景图



perfect268 发表于 2022-7-19 10:48

不错,如果能显示更美的图就更完美了

eagler8 发表于 2022-7-19 11:04

perfect268 发表于 2022-7-19 10:48
不错,如果能显示更美的图就更完美了

谢谢鼓励,正在学习之中.......

eagler8 发表于 2022-7-19 12:41

【花雕体验】20 音乐可视化:ESP32_C3与WS2812B的系列尝试
实验程序二:声级测量
模块接线:
MAX9814   ESP32_C3
VCC          5V
GND         GND
OUT       4(ADC4)

/*
【花雕体验】20 音乐可视化:ESP32_C3与WS2812B的系列尝试
实验程序二:声级测量
模块接线:
MAX9814   ESP32_C3
VCC          5V
GND         GND
OUT       4(ADC4)
*/

const int sampleWindow = 50; // 以mS为单位的采样窗口宽度(50 mS = 20Hz)   
unsigned int sample;

void setup(){
   Serial.begin(9600);
   pinMode(4,INPUT);
}


void loop(){
   unsigned long startMillis= millis();// 样本窗口的开始
   unsigned int peakToPeak = 0;   // 峰峰值

   unsigned int signalMax = 0;
   unsigned int signalMin = 3000;

   // collect data for 50 mS
   while (millis() - startMillis < sampleWindow)
   {
      sample = analogRead(4);
      if (sample < 3000)// 抛出错误的读数
      {
         if (sample > signalMax)
         {
            signalMax = sample;// 只保存最大级别
         }
         else if (sample < signalMin)
         {
            signalMin = sample;// 仅保存最低级别
         }
      }
   }
   peakToPeak = signalMax - signalMin;// max-min =峰峰值幅度
   double volts = (peakToPeak * 5.0) / 50;// 转换为伏特

   Serial.println(volts);
}

eagler8 发表于 2022-7-19 12:43

实验串口绘图器返回情况



eagler8 发表于 2022-7-19 15:09

搭配的第二款数字声音模块INMP441(实物还在快递路上)



页: 1 [2] 3
查看完整版本: 【花雕体验】20 音乐可视化:ESP32_C3与WS2812B的系列尝试