Descripción
Utilizaremos el sensor de sonido para activar un circuito, en este caso para encender un LED
• En el centro tenemos la conexión a 5V y a GND (+ y G).
• D0 es una salida digital que actúa a modo de comparador. Si el sonido captado por el micrófono supera un determinado nivel se pone a HIGH.
• A0 es una salida analógica que nos da un valor entre 0 y 1023 en función del volumen del sonido.
Además tenemos dos LEDs, uno que nos indica si hay alimentación en el sensor y otro que se ilumina si D0 está a HIGH.
El ajuste de sensibilidad del micrófono lo hacemos mediante un potenciómetro que tendremos que girar con un destornillador plano.
Materiales
Placa de Arduino
1 Resistencia 330
Placa de Arduino
1 Resistencia 330
1 LED de mm
1 Sensor de sonido KY-038
Protoboard, Cables para conexiones y el cable USB para conectar arduino al PC y sirve además de alimantación.
Esquema
CIRCUITO DE ILUMINACIÓN ACTIVADO POR SONIDO
Primero vamos a usar la salida digital D0 como señal para encender un LED, de forma que cuando demos una palmada, un silbido o hagamos algún ruido un poco alto, se encienda o se apague un LED.
Sólo necesitamos conectar el pin D0 y los dos pines de alimentación, tal como se ve en el esquema electrónico
Si hemos conectado bien el sensor, se debería iluminar el LED de alimentación. El de salida digital accionada puede o no estar encendido.
Montaje
AJUSTANDO EL LÍMITE DE DISPARO
Esta es seguramente la parte más complicada. Para ajustar el límite de disparo lo que hacemos es girar el potenciómetro con un destornillador. Tenemos que dejarlo de tal forma que el LED que marca si está accionada la salida digital esté apagado, pero lo más próximo posible al límite en el que se enciende.
• Si lo ajustamos mal y el LED está encendido, no detectaremos ningún cambio y no podremos reaccionar a ningún estímulo sonoro.
• Si lo ajustamos de forma que esté apagado pero demasiado lejos del límite en el que se enciende, habrá que llamar al increíble Hulk para que dé una palmada por nosotros.
Código
El programa para controlarlo es muy sencillo y es el mismo que hemos utilizado varias veces para controlar un interruptor. La diferencia es que en vez de utilizar un pulsador, si el sensor detecta un sonido por encima del límite enviará una señal que recogeremos en la entrada digital 2.
Si no sois capaces de encender el LED de una palmada, probad a pegar un silbido, un soplido o a hablar cerca del micrófono.
AJUSTANDO EL LÍMITE DE DISPARO
Esta es seguramente la parte más complicada. Para ajustar el límite de disparo lo que hacemos es girar el potenciómetro con un destornillador. Tenemos que dejarlo de tal forma que el LED que marca si está accionada la salida digital esté apagado, pero lo más próximo posible al límite en el que se enciende.
• Si lo ajustamos mal y el LED está encendido, no detectaremos ningún cambio y no podremos reaccionar a ningún estímulo sonoro.
• Si lo ajustamos de forma que esté apagado pero demasiado lejos del límite en el que se enciende, habrá que llamar al increíble Hulk para que dé una palmada por nosotros.
Código
El programa para controlarlo es muy sencillo y es el mismo que hemos utilizado varias veces para controlar un interruptor. La diferencia es que en vez de utilizar un pulsador, si el sensor detecta un sonido por encima del límite enviará una señal que recogeremos en la entrada digital 2.
int LED = 10 ;
int sensor = 2 ;
bool estado = false ;
void setup()
{
pinMode( LED, OUTPUT) ;
pinMode( sensor , INPUT_PULLUP) ;
digitalWrite(LED , LOW) ; // Apagamos el LED al empezar
}
void loop()
{
bool valor = digitalRead(sensor) ; //leemos el estado del sensor
if ( valor == true ){ //Si está activada la salida D0
estado = ! estado ; // cambiamos el estado del LED
digitalWrite(LED, estado) ; // escribimos el nuevo valor
delay (1000);
}
}
Para no volverte loco como yo, si el LED se enciende y se apaga, o no se enciendo solo tiene que ajustar el potenciómetro, para evitar varios rebotes, no hay que cambiar el código.
No hay comentarios:
Publicar un comentario