3017 views|26 replies

3386

Posts

0

Resources
The OP
 

[Hua Diao Experience] 17 Beetle ESP32C3 and WS2812 screen music visualization rhythm light [Copy link]

 

The MAX9814
is a low-cost, high-performance microphone amplifier with automatic gain control (AGC) and low-noise microphone bias. The device features a low-noise front-end amplifier, a variable gain amplifier (VGA), an output amplifier, a microphone bias voltage generator, and an AGC control circuit.
●Automatic gain control (AGC)
●Three gain settings (40dB, 50dB, 60dB)
●Programmable attack time
●Programmable attack and release time ratio
●Supply voltage range 2.7V to 5.5V
●Low THD: 0.04% (typ)
●Low-power shutdown mode
●Built-in 2V low-noise microphone bias

This post is from DIY/Open Source Hardware

Latest reply

This speaker is of very good quality. Is this post by Supersonic?   Details Published on 2022-7-11 08:45
 

3386

Posts

0

Resources
2
 

Main features of WS2812B
Intelligent reverse connection protection, reverse connection of power supply will not damage IC.
IC control circuit and LED point light source share a power supply.
Control circuit and RGB chip are integrated in a 5050 package component to form a complete externally controlled pixel.
Built-in signal shaping circuit, any pixel receives the signal and then outputs it after waveform shaping, ensuring that line waveform distortion will not accumulate.
Built-in power-on reset and power-off reset circuits.
The three primary colors of each pixel can achieve 256 levels of brightness display, complete 16777216 colors of true color display, and the scanning frequency is not less than 400Hz/s.
Serial cascade interface, can complete data reception and decoding through a signal line.
No circuit needs to be added when the transmission distance between any two points does not exceed 5 meters.
When the refresh rate is 30 frames/second, the number of cascades is not less than 1024 points.
The data transmission speed can reach 800Kbps.
The color of light is highly consistent and cost-effective.

Main application areas:
LED full-color luminous character light string, LED full-color module, LED full-color soft light bar, hard light bar, LED guardrail tube,
LED point light source, LED pixel screen, LED special-shaped screen, various electronic products, and electrical equipment marquee.

This post is from DIY/Open Source Hardware
 
 

3386

Posts

0

Resources
3
 

Beetle ESP32-C3 is a main control board based on the ESP32-C3 RISC-V 32-bit single-core processor chip, designed for Internet of Things (IoT) devices. Beetle ESP32-C3 has up to 13 IO ports in a coin-sized volume, so you don't have to worry about insufficient IO ports when making projects. At the same time, the main control board also integrates lithium battery charging management function, which can directly connect lithium batteries without the need for peripheral modules, while ensuring application volume and safety. The expansion board that comes with Beetle ESP32-C3 has more power without increasing the volume, making welding more convenient when making projects, and the onboard GDI display interface solves the wiring troubles when using the screen.

Beetle ESP32-C3 supports Wi-Fi and Bluetooth 5 (LE) dual-mode communication, which reduces the difficulty of device network configuration. It also supports Bluetooth Mesh (Bluetooth Mesh) protocol and Espressif Wi-Fi Mesh to achieve higher communication stability and larger coverage area, suitable for a wide range of IoT application scenarios. Beetle ESP32-C3 has detailed example tutorials, through which you can easily use the wireless function of the controller to connect to IoT platforms such as Alibaba Cloud and IFTTT. At the same time, DFRobot Mall provides thousands of sensors and actuators, which also have detailed tutorials, so you can easily build your own IoT system.

This post is from DIY/Open Source Hardware
 
 
 

3386

Posts

0

Resources
4
 

Beetle ESP32-C3 Interface Pinouts
Digital I/O x13
LED PWM controller 6 channels
SPI x1
UART x2
I2C x1
I2S x1
Infrared transceiver: 2 transmit channels, 2 receive channels (any pin)
2 × 12-bit SAR analog/digital converters, 6 channel
DMA controller, 3 receive channels and 3 transmit channels

The pins used in the experiment are A0 and D6

This post is from DIY/Open Source Hardware
 
 
 

3386

Posts

0

Resources
5
 
This post was last edited by eagler8 on 2022-7-10 06:37

MAX9814
is a microphone amplifier module with AGC control produced by Maxim. It is very suitable for the front part of various microphone amplifiers and control circuits. With less than 10 peripheral components, it can meet the needs of general users. The microphone amplifier is at a distance of 0-8 meters, ensuring that the output level remains approximately consistent. It is a good representative work that simply replaces complex microphone control circuits. MAX9814 is a low-cost, high-quality microphone amplifier with automatic gain control (AGC) and low-noise microphone bias. The device has a low-noise preamplifier, a variable gain amplifier (VGA), an output amplifier, a microphone bias voltage generator and an AGC control circuit.


The low-noise preamplifier has a fixed 12dB gain, while the VGA gain automatically adjusts from 20dB to 0dB depending on the output voltage and AGC threshold. The output amplifier offers selectable gains of 8dB, 18dB, and 28dB. Cascading of the amplifiers results in a total gain of 40dB, 50dB, or 60dB without compression. A three-level digital input programs the gain of the output amplifier. An external resistor divider controls the AGC threshold, and a single capacitor sets the attack/release times. A three-level digital input programs the ratio of the attack time to the release time. The hold time of the AGC is fixed at 30ms. A low-noise microphone-bias-voltage generator enables biasing of most electret microphones.

The MAX9814 is available in a space-saving 14-pin TDFN package. The device is rated for the -40°C to +85°C temperature range.

This post is from DIY/Open Source Hardware
 
 
 

3386

Posts

0

Resources
6
 
This post was last edited by eagler8 on 2022-7-10 06:42

MAX9814 Key Features
Automatic Gain Control (AGC)
Three gain settings (40dB, 50dB, 60dB)
Programmable attack time
Programmable attack and release ratio
2.7V to 5.5V supply voltage range
Low input-referred noise density of 30nV/s
Low total harmonic distortion (THD): 0.04% (typical)
Low-power shutdown mode
Internal low-noise microphone bias, 2V
Available in space-saving 14-pin TDFN (3mm × 3mm) package
-40°C to +85°C extended temperature range

This post is from DIY/Open Source Hardware
 
 
 

3386

Posts

0

Resources
7
 
This post was last edited by eagler8 on 2022-7-10 06:48

Module electrical schematic

This post is from DIY/Open Source Hardware
 
 
 

3386

Posts

0

Resources
8
 

[Hua Diao Experience] 17 Beetle ESP32C3 and WS2812 screen music visualization rhythm light
experiment procedure 1: Test MAX9814 microphone amplifier module
Module wiring:
MAX9814 Beetle ESP32C3
VCC 5V
GND GND
OUT A0

/*
  【花雕体验】17 Beetle ESP32C3与WS2812屏音乐可视化节奏灯
  实验程序一:测试MAX9814麦克风放大器模块
  模块接线:
  MAX9814  Beetle ESP32C3
  VCC            5V
  GND            GND
  OUT            A0
*/

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

void loop() {
  Serial.println(analogRead(A0));
  delay(100);
}

This post is from DIY/Open Source Hardware
 
 
 

3386

Posts

0

Resources
9
 

Experimental serial port return status

This post is from DIY/Open Source Hardware
 
 
 

3386

Posts

0

Resources
10
 

Open Arduino IDE - Tools - Serial Port Plotter to view the experimental waveform

This post is from DIY/Open Source Hardware
 
 
 

3386

Posts

0

Resources
11
 

Experimental serial port plotter return status

This post is from DIY/Open Source Hardware
 
 
 

3386

Posts

0

Resources
12
 

Experimental scene diagram

This post is from DIY/Open Source Hardware
 
 
 

3386

Posts

0

Resources
13
 

[Hua Diao Experience] 17 Beetle ESP32C3 and WS2812 screen music visualization rhythm light
experiment procedure 2: Simple measurement of ambient sound level
module wiring:
MAX9814 Beetle ESP32C3
VCC 5V
GND GND
OUT A0

/*
  【花雕体验】17 Beetle ESP32C3与WS2812屏音乐可视化节奏灯
  实验程序二:简易测量环境声级
  模块接线:
  MAX9814  Beetle ESP32C3
  VCC            5V
  GND            GND
  OUT            A0
*/

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

void setup() {
   Serial.begin(115200);
   pinMode(A0,INPUT); 
}

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

   unsigned int signalMax = 0;
   unsigned int signalMin = 3600;

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

   Serial.println(volts);
}

This post is from DIY/Open Source Hardware
 
 
 

3386

Posts

0

Resources
14
 

Experimental serial port plotter return situation (environmental noise)

This post is from DIY/Open Source Hardware
 
 
 

3386

Posts

0

Resources
15
 

Experimental serial port plotter return status (current affairs broadcast)

This post is from DIY/Open Source Hardware
 
 
 

3386

Posts

0

Resources
16
 

[Hua Diao Experience] 17 Beetle ESP32C3 and WS2812 screen music visualization rhythm light
experiment program three: display spectrum on ws2812b light board through fast Fourier transform

/*
  【花雕体验】17 Beetle ESP32C3与WS2812屏音乐可视化节奏灯
  实验程序三:通过快速傅里叶变换在ws2812b灯板上显示频谱
*/

#include  "arduinoFFT.h" 
#include <FastLED.h>    

#define NUM_LEDS 256    
#define LED_TYPE WS2812 
#define COLOR_ORDER GRB 

arduinoFFT FFT = arduinoFFT(); 
CRGB leds[NUM_LEDS];           

#define CHANNEL A0 
#define DATA_PIN 6 

const uint8_t max_bright = 2;          
const uint16_t samples = NUM_LEDS / 4;
const byte halfsamples = samples / 2;  
uint8_t gHue;                          
int value;                             
double vReal[samples];                 
double vImag[samples];                 
char toData[halfsamples];              

int pointJump[halfsamples]; 
int uJump[halfsamples];     
int dJump[halfsamples];    

int uValue;                 
int dValue;                 
int tValue;                 
int toDown = 0;             
uint8_t toDownSpeed = 3;    
int pointDown = 0;          
uint8_t pointDownSpeed = 9; 

void setup(){
  delay(100);              
  Serial.println("Ready"); 
  FastLED.addLeds<LED_TYPE, DATA_PIN, COLOR_ORDER>(leds, NUM_LEDS).setCorrection(TypicalLEDStrip);
  FastLED.setBrightness(max_bright); 
}

void loop(){
  FastLED.clear();                         
  EVERY_N_MILLISECONDS(10) {
    gHue += 10;  
  }
  for (int i = 0; i < samples; i++)        
  {
    value = analogRead(CHANNEL); 
    vReal[i] = value;       
    vImag[i] = 0.0;         
  }
  
  FFT.Windowing(vReal, samples, FFT_WIN_TYP_HAMMING, FFT_FORWARD);
  FFT.Compute(vReal, vImag, samples, FFT_FORWARD);
  FFT.ComplexToMagnitude(vReal, vImag, samples);
  
  for (int i = 0; i < halfsamples; i++) 
  {
    toData[i] = vReal[i + halfsamples / 2];   
    toData[i] = constrain(toData[i], 0, 100); 
    toData[i] = map(toData[i], 0, 100, 1, 7); 
  }
  for (int i = 0; i < halfsamples; i++) 
  {
    uValue = toData[i];    
    uJump[i]++;            
    if (uValue > uJump[i]) 
    {
      uValue = uJump[i]; 
    }
    else
    {
      uJump[i] = uValue;
    }
    dValue = uValue; 
    toDown++;                      
    if (toDown % toDownSpeed == 0) 
    {
      dJump[i]--; 
      toDown = 0; 
    }
    if (dValue > pointJump[i]) 
    {
      dJump[i] = dValue; 
    }
    else
    {
      dValue = dJump[i]; 
    }
    tValue = uValue;                     
    pointDown++;                         
    if (pointDown % pointDownSpeed == 0) 
    {
      pointJump[i]--; 
      pointDown = 0;  
    }
    if (tValue > pointJump[i]) 
    {
      pointJump[i] = tValue; 
    }
    else
    {
      tValue = pointJump[i]; 
    }
    fill_rainbow(leds + 8 * i, uValue, gHue, 30);
    fill_rainbow(leds + 8 * i, dValue, gHue, 30);
    fill_solid(leds + 8 * i + tValue, 1, CRGB::White);
    
  }
  FastLED.show(); 
  delay(10);      
}

This post is from DIY/Open Source Hardware
 
 
 

3386

Posts

0

Resources
17
 

Experimental scene diagram

This post is from DIY/Open Source Hardware
 
 
 

3386

Posts

0

Resources
18
 

Video recording of the experiment

https://v.youku.com/v_show/id_XNTg4NTgwNTkyNA==.html?spm=a2hcb.playlsit.page.1


This post is from DIY/Open Source Hardware
 
 
 

6818

Posts

11

Resources
19
 

This speaker is of very good quality. Is this post by Supersonic?

This post is from DIY/Open Source Hardware

Comments

Thanks for the encouragement, the speaker is less than 20 TB, the effect is OK  Details Published on 2022-7-11 11:45
 
 
 

3386

Posts

0

Resources
20
 
lugl4313820 posted on 2022-7-11 08:45 This speaker is of very good quality. Is the original poster posting at supersonic speed?

Thanks for the encouragement, the speaker is less than 20 TB, the effect is OK

This post is from DIY/Open Source Hardware
 
 
 

Just looking around
Find a datasheet?

EEWorld Datasheet Technical Support

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号
快速回复 返回顶部 Return list