BREAKOUT BOARD SCHEMATIC CIRCUITSCHEMATIC
LasondaverdeesparaDSOylasondarojaesparaDMM
Frecuencia de 100 a 10kHz resp. VPP = 200mV Dc sesgo = 700mV Zout = 450 ohmios
El problema al que me estoy enfrentando es que cuando tomo mis dedos o aplaudo mi mano, el voltaje de salida aumenta (como se esperaba) PERO toma 4-5 segundos para volver a la lectura normal. Idealmente, no debería tomar tanto tiempo volver a la lectura normal. Debería tomar 10 ms para volver a las lecturas normales.
Estoy sondeando cada 500 microsegundos y la atenuación del ESP32 se ha establecido en 0 db para que la escala de voltaje REF esté en 0 - 1V. Este problema similar ocurre con el arduino uno (con el mismo conjunto de condiciones de prueba). La entrada de adc está conectada al pin de CC de la placa de arranque. (El cual NO tiene ningún capacitor entre la o / p del micrófono y la I / p de adc.)
Aquí está el código que estoy usando
#include<esp32-hal-adc.h>
#define ANALOG_PIN 4
void setup()
{
pinMode(ANALOG_PIN,INPUT);
Serial.begin(115200);
/*
* typedef enum
{
ADC_0db, // 0 to 1 v
ADC_2_5db, // 0 to 1.27 v
ADC_6db, // 0 to 1.75 v
ADC_11db // 0 to 3.3 v
} adc_attenuation_t; // changes Ref Voltage Scale
*/
analogSetPinAttenuation(ANALOG_PIN,ADC_0db);
// Set the attenuation for particular pin currently 0-1 v
}
void loop()
{
int raw_value = 0; // to store raw value of mic
raw_value = analogRead(ANALOG_PIN); // Reading the op voltage of mic
Serial.print("Raw value is : ");
Serial.println(raw_value);
delayMicroseconds(500); // Sampling every 500 uSec
}
También tengo un voltímetro. Conecté una sonda a GND y otra a la salida de pin DC del MEMS Mic. La lectura de voltaje es de 700mV. Cuando chasqueo el dedo, alcanza los 800 mV inmediatamente. Pero tarda 4-5 segundos en volver a los 700 mV