page-title-bg2
  >  Blog   >  Control del volumen con sensor de sonido y Arduino: Tutorial paso a paso
Resultado control de volumen

Control del volumen con sensor de sonido y Arduino: Tutorial paso a paso

Comparte en RRSS
 

En este tutorial vamos a ver cómo podemos usar un sensor de sonido con Arduino. Con este proyecto tendremos control del volumen de una canción ya que se iluminará un LED u otra dependiendo del volumen.

Pero antes de ponernos manos a la obra, tenemos que aprender unos conceptos básicos.

¿Para qué sirve el sensor de sonido?

Sensor de sonido

El funcionamiento del sensor es bastante simple, cuando el sensor detecta sonido por el micrófono, pasa por un amplificador y se transforma en una señal analógica que lo envía a la placa Arduino, esta señal analógica tiene un rango que normalmente se encuentra entre los 0 hasta los 1023.

El sensor lleva incorporado un pequeño potenciómetro con el que podemos ajustar la entrada de sonido, de una manera más simple, con esto podemos ajustar lo sensible que queramos que sea el sensor.

Componentes necesarios para el control del volumen

Todos los componentes están disponibles en shop.flexbot.es

Esquema del sensor de sonido

Esquema Sensor de sonido

El sensor de sonido solo tiene tres pines de salida, para poder conectarlos a la placa, los tendremos que conectar de la siguiente manera:

  • VCC -> 5v
  • GND -> GND
  • OUT -> A0

El circuito tendría que verse de la siguiente manera:

Circuito sensor de sonido

Esquema de conexión de los LEDs

Control de volumen

Para este proyecto tenemos que conectar 5 LEDs a la placa de Arduino, cada led representa un valor de volumen. Los LEDs ocupan desde el pin D2 hasta el pin D6.

Para conectar el LED hay que conectar el ánodo (la pata larga del LED), a la punta de una resistencia y la otra punta la conectaremos a un pin digital. El cátodo (la pata mas corta) ira a un pin GND.

El esquema total del circuito se vería tal que así:

Esquema control de volumen

Hora de programar el control del volumen

Este es el código que tenemos que reproducir, para este proyecto no necesitamos instalar ninguna librería.

#define MIC A0 // Declaramos el sensor
int sig = 0; // Decalaramos una variable en la que volcaremos los datos que nos proporcione el sensor
void setup() {
// Declaramos los led que tengamos como OUTPUT
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
// Declaramos el puerto del monitor serie
Serial.begin(9600);
}
// Hacemos una función para controlar los LED
void led() {
sig = analogRead(MIC); // Leemos lo que mide el sensor de sonido
Serial.println(sig); // Lo imprimimos por el monitor serie para ver que valores esta marcando el sensor
// If para controlar los valores, si supera cierto valor, encendemos un pin
// hay un if por cada led que hemos puesto cada uno tiene su valor para que se encienda.
if (sig>34){ digitalWrite(2, HIGH);} else{ digitalWrite(2, LOW);}
if (sig>255){ digitalWrite(3, HIGH);} else {digitalWrite(3, LOW);}
if (sig>510){digitalWrite(4, HIGH);} else {digitalWrite(4, LOW);}
if (sig>765){digitalWrite(5, HIGH);} else {digitalWrite(5, LOW);}
if (sig>1022){digitalWrite(6, HIGH);} else {digitalWrite(6, LOW);}
}
void loop() {
led(); // Llamamos a la función led
}
Una vez completado todos los pasos ya solo queda probar el proyecto, para eso tenemos que reproducir nuestra canción favorita y ver cómo se van iluminando los led, prueba a ajustar el sensor y ver los cambios que suceden.
Control de volumen

 

Si te ha gustado este proyecto y quieres reproducirlo, compártelo por las redes sociales y etiquétanos para verlo! Facebook y Twitter. 

Comments

  • Yair
    05/08/2021

    Hola! Gran tutorial! Una duda.. como coloco el sensor de sonido en Tinkercad? Gracias!!

    Reply
  • Norb
    22/11/2021

    Hola, como lo haces para llegar a 1022? El sensor marca 50 en normal y màximo 170 con mucho sonido. Gracias.

    Reply

Post a Comment

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.