Visualizador de Audio con Matriz RGB y Arduino – Guía Completa Paso a Paso
Componentes y materiales
| Componente | Cantidad |
|---|---|
| Arduino UNO | 1 |
| Shield NeoPixel Adafruit para Arduino (40 RGB LEDs WS2812) | 1 |
| SparkFun Spectrum Shield (2x MSGEQ7, 7 bandas estéreo) | 1 |
| Caja ProtoStax para Arduino (acrílico transparente, modular, apilable) | 1 |
| Pulsador SPST OFF-(ON) panel | 1 |
| Conector jack 3.5 mm estéreo panel (aislado) | 2 |
| Cables jack 3.5 mm macho-macho 90° | 2 |
| Cable de parche 3.5 mm estéreo macho-macho 6 ft | 1 |
Herramientas necesarias
- Taladro/atornillador inalámbrico (para modificar la caja)
Sobre el proyecto
Construye un visualizador de audio tipo "ecualizador gráfico" usando una matriz 8x5 de NeoPixels (40 LEDs) y el Spectrum Shield de SparkFun. Este último divide la entrada de audio estéreo en 7 bandas de frecuencia por canal (63 Hz – 16 kHz) y entrega la amplitud de cada banda a los ADC del Arduino. La matriz NeoPixel muestra la intensidad de cada banda con colores configurables. Todo se integra en la caja ProtoStax, resultando en un dispositivo acabado, apilable y listo para colocar junto a tu equipo de música.
Paso 1: Montar Arduino en la base de la caja
Fija el Arduino Uno a la placa base de ProtoStax con tornillos, añade pies de goma y prepara la configuración "Platform" (acceso abierto). Ver GIF animado en la documentación.
Paso 2: Preparar Spectrum Shield
El Spectrum Shield no trae headers. Usa los headers apilables del NeoPixel Shield para el Spectrum (queda en medio). Recorta la zona del Spectrum que choca con los conectores USB/alimentación del Uno y recorta un poco las patas de los headers apilables para que asiente bien.
Paso 3: Colocar NeoPixel Shield encima
Suolda los headers normales (incluidos) en el NeoPixel Shield y conéctalo sobre los headers apilables del Spectrum. El NeoPixel queda en la parte superior, a ras. Puede alimentarse desde el propio Arduino (consumo moderado al no encender todos los LEDs a la vez).
Paso 4: Código de demostración
Repositorio: ProtoStax_Audio_Visualizer_Demo
Análisis de espectro
Secuencia de STROBE/RESET inicializa los MSGEQ7. Se leen 7 bandas por canal (izquierdo/derecho) pulsando STROBE entre lecturas. Valores 0-1023 (10 bits). Se agrupan en 3 rangos: BASS (63-160 Hz), MID_RANGE (400 Hz-2.5 kHz), TREBLE (6.25-16 kHz).
Matriz RGB (NeoMatrix)
La librería Adafruit_NeoMatrix simplifica el direccionamiento. Configuración usada: WIDTH=5, HEIGHT=8, TOP+RIGHT+COLUMNS+PROGRESSIVE (origen visual en esquina inferior izquierda al inclinar la cabeza). Cada banda ocupa una fila (8 filas, 7 usadas). La amplitud (0-1023) se mapea a 5 columnas dividiendo por 204 (FREQ_DIV_FACTOR).
Esquemas de color (HSV)
- MAGNITUDE_HUE: verde→rojo/rosa según amplitud.
- MAGNITUDE_HUE_2: gama azul/rosa.
- HSV_COLOR_WHEEL: ciclo continuo por toda la rueda de color.
Se usa matrix.ColorHSV() + setPassThruColor() para dibujar píxeles con color de 32 bits.
Paso 5: Pruebas y ajustes
Conecta fuente de audio (móvil, PC) al jack de entrada del Spectrum Shield. Cambia esquema de color enviando 0, 1, 2 por puerto serie. Ajusta ganancia si la señal es baja.
Paso 6: Cerrar la caja
Instala refuerzos superiores, paredes laterales, conectores de audio y tapa superior. Ver GIF animado del montaje final.
Paso 7: ¡Disfruta!
Coloca el visualizador junto a tu equipo y disfruta del espectáculo de luces sincronizado con tu música.
Paso 8: Ideas para ampliar
- Añadir jacks de panel en la pared lateral para entrada/salida de audio integrados.
- Más esquemas de color y patrones.
- Selección de rango de frecuencias (BASS/MID/TREBLE/ALL) por botón o serie.
- Pulsadores de panel para cambiar esquema/rango sin PC.
- Difusor de luz: lijar ligeramente la tapa superior para luz más suave.
Código
Repositorio GitHub con el sketch completo: ProtoStax_Audio_Visualizer_Demo
Proceso de manufactura
- Sensor K30 CO₂: Monitorización en tiempo real de la calidad del aire interior
- Facilitar la comunicación sordo‑ciego usando 1Sheeld y Arduino
- Alcancía Inteligente: Controla un Aceptador de Monedas con Arduino Nano
- Construye una consola Pong 24×16 LED con Arduino Nano y MAX7219
- Detector de frecuencia de audio con Arduino – Mide los picos de sonido más intensos
- Controla un LED por Bluetooth con Arduino – Guía DIY paso a paso
- Integración del sensor de huella capacitivo DFRobot (ID809) con Arduino o ESP8266
- Cómo reproducir audio con Arduino UNO y DFPlayer Mini – Guía paso a paso
- Anima tu Pez Billy Bass con Cualquier Fuente de Audio: Guía Paso a Paso
- Mezclador de Colores RGB con Arduino – Proyecto DIY para Principiantes
- Control de Matriz LED 8×8 con Arduino Uno: Guía Paso a Paso