miércoles, 24 de mayo de 2017

CONSTRUYA UN VUMETRO CON ARDUINO Y MICROFONO ELECTRET

Hola Amigos en esta ocasión quiero compartir con ustedes un proyecto que en lo personal me ha dado muchas satisfacciones. Se trata de un indicador de sonido de doce niveles construido con ARDUINO UNO.

Materiales:

1 Micrófono ELECTRET
12 LED (seis verdes, tres azules, dos tomates, un rojo)
12 resistencias de 330 Ohm
2 resistencias de 1k
1 resistencia de 100k
1 condensador de 1uf
1 plaqueta perforada
1 placa ARDUINO UNO R3

Para explicar como funciona lo dividiremos en tres etapas:

ETAPA DE CAPTACIÓN DE SEÑAL

El sonido que hay en el ambiente es captado por el micrófono electret, éste a su vez entrega una señal eléctrica que es proporcional a la intensidad del sonido

Debido a que la señal entregada por el micrófono es demasiado débil se hace necesario amplificarla y filtrarla; para ello utilizamos armamos el siguiente circuito:





ETAPA DE PROCESAMIENTO

La señal ya amplificada y acondicionada es llevada hasta el canal analógico del microcontrolador donde la convertimos en un dato digital para luego enviar al puerto serie del computador y poder examinarlo con la herramienta Serial Ploter de ARDUINO.




ETAPA DE PRESENTACIÓN

Si observamos el gráfico de la señal; Podemos fijarnos que ésta cambia en un rango comprendido entre 200 y 900. Debido a que la medición se representa con una barra de 12 diodos LED. Debemos hacer un mapeo de la señal (cambio escala de 200-900 a 0-12) Mientras más intenso es el sonido mayor numero de leds encenderán.

Todos leds están conectados a los pines digitales 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 a través de resistencias de 330 ohmios para limitar la corriente y evitar daños en los mismos.

SKETCH

//Teniendo en cuenta todos los elementos teóricos, se escribió el siguiente programa para Arduino
//Conectar la señal de audio amplificada en el canal A1
//Conectar doce leds con sus respectivas resistencias a los pines 2,3,4,5,6,7,8,9,10,11,12,13

const int ledCount = 12; // numero de leds

int sensorReading;       // lectura del ADC 0-1024  



int ledPins[] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13};

void setup() {
  Serial.begin(9600); //inicamos el puerto Serial
  for (int thisLed = 0; thisLed < ledCount; thisLed++) {pinMode(ledPins[thisLed], OUTPUT);}// programamos desde el pin 2 al pin 13 como salidas   
}

void loop() {
  sensorReading = analogRead(A1);//tomamos la lectura del ADC
  Serial.println(sensorReading); //imprimimos en el puerto serie
  int ledLevel = map(sensorReading, 200,500, 0, ledCount);  // mapeamos desde 300 hasta 900 para los LEDS desde 2 a 13 
  
  for (int thisLed = 0; thisLed < ledCount; thisLed++) {
    if (thisLed < ledLevel) {
      digitalWrite(ledPins[thisLed], HIGH);// encendemos los LED segun la intensidad de la señal 
    }
     else {
      digitalWrite(ledPins[thisLed], LOW);// apagamos los LED segun la intensidad de la señal
    }
  }
  delay(10);
  }

ENSAMBLE.

Armamos el siguiente circuito sobre una placa perforada procurando que todas las conexiones coincidan con los pines de arduino.




A continuación se muestra fotografías del circuito ya ensamblado



En este vídeo podemos ver al vumetro funcionando



VUMETRO GIGANTE SEIS EFECTOS

Si lo que deseamos es hacer un vumetro gigante con un gran número de LEDs debemos emplear transistores que conmutan los LED a 12V como se muestra en el siguiente circuito;


A continuación se muestra unas fotos del vumetro construido con un PIC18F4550



Con un poco de imaginación podemos hacer que los Led se enciendan mostrando secuencias muy agradables.


En este ultimo video vemos al vumetro funcionando en completa oscuridad


Gracias!

No hay comentarios.:

Publicar un comentario

CONSTRUYA UN ANALIZADOR DE ESPECTRO CON ARDUINO Y WINAMP

Este articulo explica como hacer un analizador de espectro utilizando el reproductor de música WINAMP y el Plugin "gen_crownsoft_lcd...