top of page
Buscar
Foto del escritorYeah Tutoriales

Visualizador de audio con pantalla LCD



A la gente le encanta escuchar música. Es como dicen, la música refleja nuestro estado de ánimo. Y es un espectáculo ver cómo la música cobra vida ante nuestros ojos. Bueno, eso es lo que hace la visualización de música.

Según Wikipedia, la visualización de música "genera imágenes animadas basadas en una pieza musical. Las imágenes se generan y representan en tiempo real y se sincronizan con la música que tocamos".

La visualización de música se ve mucho en los conciertos de EDM, donde los artistas se unen a los VJ (o video jockeys) para crear espectáculos visuales que pueden atraer y cautivar a la audiencia. Esto se puede hacer con software de efectos y edición de video como Davinci Resolve Fusion y Adobe After Effects. Sin embargo, esto también se puede lograr usando hardware.

En este Instructable vamos a crear un visualizador de audio simple y fácil de hacer usando un Arduino UNO, un sensor de sonido o un micrófono y una pantalla LCD de 16x2. Entonces, sin más preámbulos, comencemos 👉



Suministros

Aquí está la lista de componentes necesarios para crear este proyecto

  • Pantalla LCD de 16x2

  • Arduino UNO (o Nano)

  • Dos resistencias de 1kΩ

  • Módulo de sensor de sonido LM393

  • Cables puente y protoboard

  • Una computadora para cargar el código.

Eso es todo. No se requieren otros componentes. Todos los artículos están fácilmente disponibles en Amazon o en cualquier otra aplicación de compras. O simplemente puede ir a su distribuidor de productos electrónicos más cercano para obtener sus componentes.


Paso 1: Conexión de cada componente


Aquí están las siguientes conexiones para la pantalla LCD y el módulo del sensor de sonido al Arduino UNO. Este diagrama de placa de prueba se hizo en un software llamado Fritzing.

No me extenderé mucho con los detalles técnicos aquí, solo dónde necesita conectarse y por qué.

Conexiones LCD

  1. VSS y VDD a 5V y GND respectivamente, para alimentar la pantalla LCD.

  2. V0 conectado a una resistencia de 1k y luego a GND. No estamos cambiando el contraste de la pantalla LCD aquí, por lo que la pantalla LCD mostrará los caracteres claramente.

  3. RS (selección de registro) al pin 13. Está configurado para dar un valor ALTO para que se seleccione el registro de datos (no necesita saber qué hace un registro de datos, solo que ayuda a transferir datos a la pantalla LCD)

  4. R/W (lectura/escritura) a GND. Configuramos el pin R/W al valor BAJO para que podamos escribir datos en la pantalla LCD.

  5. E (Habilitar) al pin 12. Esto se usa para bloquear (mantener todos los datos provenientes del Arduino en los pines de datos).

  6. los pines D4-D7 están conectados a los pines 11 a 8 respectivamente. Son los pines de datos que transferirán datos de Arduino a la pantalla LCD.

  7. LED+ está conectado a una resistencia de 1k y luego a 5V, y LED- a GND. Esto es para la retroiluminación LED, que hará que la pantalla LCD brille.

Conexiones del sensor de sonido

El módulo del sensor de sonido detecta el sonido a través de un micrófono y lo alimenta a un amplificador operacional (comparador dual LM393). tiene 4 pines

  • VCC - Alimentado por +5V

  • TIERRA - Tierra

  • Pin analógico (AO): salida analógica conectada a la entrada analógica del microcontrolador

  • Pin digital (DO) - Salida digital conectada a la entrada digital del microcontrolador

Los cuatro pines están conectados a Arduino UNO de la siguiente manera

  1. VCC a 5V

  2. TIERRA a TIERRA

  3. AO al pin analógico A0

  4. NO hacer nada (aquí no estamos usando salida digital)

Después de seguir los pasos exactamente como se mencionan, puede cargar el programa.


Paso 2: Cargar el programa

La imagen de arriba es el esquema del circuito, también hecho en Fritzing.

He creado un programa para el mismo circuito. Si ha seguido los pasos exactos para construir el circuito, puede cargar el código directamente en la placa Arduino o debe cambiar algunos parámetros de acuerdo con sus conexiones.

El siguiente es el código para mi circuito.



#include <Cristal Líquido.h>
LCD de cristal líquido (13,12,11,10,9,8);
sensor de sonido int = A0;
flotante t = 25;
flotante t1 = 5;
configuración vacía () {
  // pon tu código de configuración aquí, para ejecutar una vez:
pinMode(sensor de sonido, ENTRADA);
Serial.begin(9600);
lcd.begin(16,2);
  lcd.setCursor(0,0);
  lcd.print("Visualizador de audio");
  retraso (2000);
}
bucle vacío () {
  // pon tu código principal aquí, para ejecutar repetidamente:
suma larga=0;
int sensorVal = analogRead (sensor de sonido); // Entrada del sensor de sonido
Serial.println(sensorVal);
para(int i=0;i<100;i++){
  suma+=sensorVal;
}
suma=suma/100;
/* aquí estamos comparando los valores del sensor de sonido con los valores predeterminados (seleccionados al azar). Si supera el valor predeterminado, se mostrará el carácter*/
si (suma> 195) {
  lcd.claro();
  lcd.setCursor(0,1);
  lcd.imprimir("#");
  lcd.setCursor(0,0);
  lcd.imprimir("##");
  retraso (t);
  }
más{
    lcd.claro();
    lcd.setCursor(0,1);
  lcd.imprimir(" ");
  lcd.setCursor(0,0);
  lcd.imprimir("#");
retraso (t1);
}
si (suma> 200) {
  lcd.claro();
  lcd.setCursor(0,1);
  lcd.imprimir("##");
  lcd.setCursor(0,0);
  lcd.imprimir("####");
  retraso (t);
  }
más{
    lcd.claro();
    lcd.setCursor(0,1);
  lcd.imprimir("#");
  lcd.setCursor(0,0);
  lcd.imprimir("##");
retraso (t1);
}
si (suma> 205) {
  lcd.claro();
  lcd.setCursor(0,1);
  lcd.imprimir("###");
  lcd.setCursor(0,0);
  lcd.imprimir("#####");
  retraso (t);
  }
más{
    lcd.claro();
    lcd.setCursor(0,1);
  lcd.imprimir("##");
retraso (t1);
}
si (suma> 210) {
  lcd.claro();
  lcd.setCursor(0,1);
  lcd.imprimir("####");
  lcd.setCursor(0,0);
  lcd.imprimir("######");
  retraso (t);
  }
más{
    lcd.claro();
    lcd.setCursor(0,1);
  lcd.imprimir("##");
retraso (t1);
}
si (suma> 220) {
  lcd.claro();
  lcd.setCursor(0,1);
  lcd.imprimir("#####");
  lcd.setCursor(0,0);
  lcd.imprimir("########");
  retraso (t);
  }
más{
    lcd.claro();
    lcd.setCursor(0,1);
  lcd.imprimir("###");
retraso (t1);
}
si (suma> 230) {
  lcd.claro();
  lcd.setCursor(0,1);
  lcd.imprimir("#######");
  lcd.setCursor(0,0);
  lcd.imprimir("#########");
  retraso (t);
  }
más{
    lcd.claro();
      lcd.setCursor(0,1);
  lcd.imprimir("###");
retraso (t1);
}
si (suma> 240) {
  lcd.claro();
  lcd.setCursor(0,1);
  lcd.imprimir("########");
  lcd.setCursor(0,0);
  lcd.imprimir("#########");
  retraso (t);
  }
más{
    lcd.claro();
      lcd.setCursor(0,1);
  lcd.imprimir("##");
retraso (t1);
}
si (suma> 260) {
  lcd.claro();
  lcd.setCursor(0,1);
  lcd.imprimir("############");
  lcd.setCursor(0,0);
  lcd.imprimir("##########");
  retraso (t);
  }
más{
    lcd.claro();
      lcd.setCursor(0,1);
  lcd.imprimir("#");
retraso (t1);
}
si (suma> 280) {
  lcd.claro();
  lcd.setCursor(0,1);
  lcd.imprimir("##############");
  lcd.setCursor(0,0);
  lcd.imprimir("############");
  retraso (t);
  }
más{
  lcd.claro();
    lcd.setCursor(0,1);
  lcd.imprimir(" ");
retraso (t1);
}
Serial.println(suma);
}



También puede modificar el código para obtener resultados diferentes. Siéntase libre de publicar sus modificaciones en este Instructable

Si tiene algún problema para cargar el código desde el cuadro de código, también he adjuntado el archivo de código, que contiene el mismo programa que en el cuadro de código.




Paso 3: ¡Mi hardware funciona!


Explicaré el funcionamiento de una manera más sencilla.

Cuando se reproduce música desde los altavoces, el micrófono capta el sonido y lo envía al amplificador operacional. El amplificador operacional (o amplificador operacional, si no lo sabía) funciona como un comparador (un dispositivo que compara dos valores y envía una salida si uno es mayor que el otro), y envía la salida al puerto analógico en Arduino UNO

Podemos acceder a los valores de salida del monitor serie para su análisis y usar el potenciómetro (soldado en el propio módulo) para cambiar la sensibilidad (según sea necesario).

He programado estos valores de tal manera que si la entrada supera cierto valor, la pantalla LCD mostrará los caracteres y aumentará en forma de barra. Los personajes se pueden personalizar según el usuario.

Bueno, una persona puede entender solo un poco explicando con palabras, así que también he subido un video.



Paso 4: Todo tiene un final

¡Felicitaciones por llegar tan lejos! Es como dicen, si hay un comienzo, habrá un final, y este Instructable tiene que terminar (o de lo contrario, realmente te pondrás a leer esto). Y aunque este visualizador puede no ser perfecto, es simple y puede hacerlo en 10 minutos (media hora, como máximo). Y bueno, es como dicen, una solución simple puede o no ser perfecta. Ahora que le he mostrado cómo funciona el visualizador de audio, depende de usted construir y modificar el circuito. Puede agregar otra pantalla LCD (solo para dar esa sensación de visualizador) o cambiarla por completo (cuanto más grande sea la pantalla, mejor será la visualización). Hay un sinfín de ideas para la modificación, y todo esto se puede guardar para una fecha posterior. Espero que todos hayan disfrutado leyendo este Instructable. Si desea más de estos Instructables, compártalos con sus amigos y colegas, y anímelos a construir este circuito. Gracias y que tenga un buen día. Paz y tranquilidad


https://www.instructables.com/Audio-Visualizer-With-an-LCD-Display/



0 comentarios

Comments


bottom of page