INFORMACIÓN
Medidor de Nivel de Sonido Analógico Gravity (también conocido como medidor de decibeles o medidor de ruido) es un circuito que incorpora un micrófono con bajo nivel de ruido, el cual se habilita para medir con precisión el nivel de sonido del entorno y permite tener mediciones precisas del sonido del ambiente, el valor de decibeles es lineal con el voltaje de salida, así nada más tendrás que hacer una simple conversión de valores sin usar algoritmos complejos. Este circuito es compatible con tarjetas de desarrollo como Arduino, solo necesitas conectar la tarjeta sin necesidad de soldar.
*Nota: La película negra en el micrófono es un componente sensible, para evitar daños, no lo toques con las uñas de los dedos o con otros objetos afilados. También evita colocar la tarjeta sobre una superficie conductora o semiconductora, ya que puedes cortocircuitar la tarjeta. Se recomienda colocar Separadores para PCB de Nylon o Separadores de Latón (se venden por separado).
ESPECIFICACIONES Y CARACTERÍSTICAS
- Marca: DFROBOT
- Matrícula: SEN0232
- Tipo: Medidor de sonido analógico
- Voltaje de entrada: 3.3 a 5V
- Corriente de entrada:
- A 3.3V: 22 mA
- A 5V: 14 mA
- Voltaje de salida: 0.6 a 2.6V
- Rango de medición: 30 a 130 dBA
- Tolerancia de la medición: ±1.5 dB
- Ponderación de frecuencia: Tipo A
- Respuesta de frecuencia: 315 Hz a 8.5 KHz
- Dimensiones: 60.3 mm x 42.4 mm
Incluye:
- x1 Tarjeta de Medidor de Nivel de Sonido Analógico Gravity
- x1 Cable con conector de 3 pines dupont hembra de 2.54mm y JST PH de 2 mm
Pines:
- A: Salida de señal analógica
- VCC
- GND
DOCUMENTACIÓN Y RECURSOS
INFORMACIÓN ADICIONAL
¿Cómo funciona el Medidor de Nivel de Sonido Analógico Gravity?
El valor de los decibeles es lineal con el voltaje de salida, para determinar el valor seguimos esta relación:
Donde dBA es el valor de decibeles y Vout el voltaje de salida.
De esta manera si el voltaje de salida es de 0.6V, el valor de decibeles debería ser 30 dBA.Y si el voltaje de salida es de 2.6V, el valor de decibeles debería ser 130 dBA.
¿Cómo usar el Medidor de Nivel de Sonido Analógico Gravity?
Para usar el medidor de sonido utilizaremos un Arduino UNO y un Display Oled de 128×64 Pixeles I2C (Se venden por separado) para obtener el nivel de ruido que hay en el ambiente. En caso de que no tengas un display Oled, no te preocupes, aún puedes visualizar lo datos en el monitor serial usando el mismo código.
Usaremos el siguiente diagrama de conexiones para armar nuestro circuito:
Una vez armado nuestro circuito debemos programar el Arduino desde el IDE, el medidor de nivel de sonido no necesita alguna librería en especifico para funcionar, debido a que el sensor ya nos entrega un valor de voltaje que va cambiando con el número de decibeles que detecta el micrófono, solo hay que configurar nuestro ADC del Arduino para poder tomar estos valores y hacer una conversión de voltaje a decibeles.
Para usar el display Oled, usaremos las librerías Adafruit GFX graphics y Adafruit_SH1106, si necesitas más información sobre como usar este display, recuerda que puedes visitar nuestra entrada Cómo programar y conectar el Display Oled de 0.96 con Arduino Uno en el blog de UNIT.
Usaremos el siguiente código en nuestro Arduino IDE:
#include <SPI.h> #include <Wire.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h> #define OLED_RESET LED_BUILTIN Adafruit_SSD1306 display(OLED_RESET); #define Sound A1 //pin analogico, tendra el voltaje del nivel de sonido medido #define VREF 5.0 //voltaje de entrada de referencia AREF pin,default:voltaje de operación void setup() { Serial.begin(115200); display.begin(SSD1306_SWITCHCAPVCC, 0x3C); display.clearDisplay(); display.display(); } void loop() { float voltageValue, dbValue; voltageValue = analogRead(Sound) / 1024.0 * VREF; dbValue = voltageValue * 50.0; // conversión de voltaje a decibeles Serial.print(dbValue, 1); Serial.println(" dBA"); delay(125); if (dbValue <= 30) { Serial.println(" BAJO"); display.setTextSize(1); display.setTextColor(WHITE); display.setCursor(0, 0); display.println("dB BAJO"); display.setTextSize(2); display.setCursor(10, 18); display.println(dbValue, 1); display.display(); delay(125); display.clearDisplay(); } else if ( dbValue <= 60) { Serial.println(" NORMAL"); display.setTextSize(1); display.setTextColor(WHITE); display.setCursor(0, 0); display.println("dB NORMAL"); display.setTextSize(2); display.setCursor(10, 18); display.println(dbValue, 1); display.display(); delay(125); display.clearDisplay(); } else if (dbValue <= 100) { Serial.println(" ALTO"); display.setTextSize(1); display.setTextColor(WHITE); display.setCursor(0, 0); display.println("dB ALTO"); display.setTextSize(2); display.setCursor(10, 18); display.println(dbValue, 1); display.display(); delay(125); display.clearDisplay(); } else if (dbValue <= 120) { Serial.println(" MUY ALTO"); display.setTextSize(1); display.setTextColor(WHITE); display.setCursor(0, 0); display.println("dB ELEVADO "); display.setTextSize(2); display.setCursor(10, 18); display.println(dbValue, 1); display.display(); delay(125); display.clearDisplay(); } else if (dbValue <= 130 ) { Serial.println("DAÑINO"); display.setTextSize(1); display.setTextColor(WHITE); display.setCursor(0, 0); display.println("dB DAÑINO"); display.setCursor(10, 18); display.println(dbValue, 1); display.display(); delay(125); display.clearDisplay(); } else { Serial.println("CALCULANDO"); display.setTextSize(2); display.setTextColor(WHITE); display.setCursor(0, 0); display.println("Midiendo"); display.setCursor(10, 18); display.println("......."); display.display(); display.clearDisplay(); } }
Una vez cargado nuestro código en el Arduino, podremos visualizar el nivel de ruido en el display y en el monitor serial:
Valoraciones
No hay valoraciones aún.