🛠 Transmisión de audio I2S en ESP32 con Amp MAX98357A

Adafruit Stereo I2S 3W Amplifier Breakout - Dual MAX98357A · intermediaire · Configurez un système de diffusion audio réseau complet en connectant un ESP32 à l'amplificateur stéréo MAX98357A pour lire des flux I2S.

Objetivos

Este tutorial tiene como objetivo crear un nodo de audio de red funcional. Aprenderá a configurar la interfaz I2S de un microcontrolador (aquí, un ESP32) para transmitir una corriente de audio digital al Amplificador Adafruit Stereo I2S 3W. A diferencia de los amplificadores analógicos, el MAX98357A procesa la señal digitalmente hasta la salida, ofreciendo alta fidelidad y una eficiencia del 92%. Exploraremos el cableado específico requerido para el modo Bridge Tied Load (BTL) y la gestión de niveles lógicos.

Materiales necesarios

Pasos

  1. Preparación de la alimentación: El amplificador es eficiente pero puede tener picos de corriente. Conecte el pin VIN del amplificador a una fuente de 5V estable. Conecte GND a la tierra común del ESP32 y la fuente de alimentación.
  1. Cableado I2S: El ESP32 usa pines específicos para I2S. Conecte los pines de la siguiente manera (verifique la hoja de datos de su placa):

*Nota: El MAX98357A no requiere un pin MCLK (Reloj maestro), lo que simplifica el cableado.*

  1. Conexión de altavoces: El modo BTL significa que las salidas no están referenciadas a tierra. Para el canal izquierdo:

Repita para el canal derecho con OUT R+ y OUT R-. Nunca conecte los terminales de los altavoces a Tierra (GND).

  1. Configuración de software: En Arduino IDE, seleccione la biblioteca ESP32-audio-i2s o I2S.h. Inicialice el bus I2S con los pines definidos en el Paso 2. Establezca la frecuencia de muestreo (ej: 44100 Hz) y la resolución (16 bits).
  1. Reproducción de la corriente: Cargue un archivo de audio o una corriente de red (vía Wi-Fi) en el búfer. Envíe muestras PCM mediante la función write() de la interfaz I2S. El amplificador convertirá automáticamente la señal digital en potencia analógica.

Verificación

Encienda el sistema. Debería escuchar un ligero ruido de fondo (25µV RMS) si no se envía señal. Inicie la reproducción de audio. Verifique que el sonido salga de ambos altavoces sin distorsión excesiva. Si el sonido está saturado, reduzca el volumen de software o verifique que la ganancia de hardware (jumpers) no esté configurada demasiado alta (comience en 9dB).

Para ir más allá

Agregue funcionalidad de control de volumen a través de una interfaz web (ESP32 WebServer) o un potenciómetro digital. También puede explorar la reproducción de archivos FLAC para una calidad de audio superior, gestionando la decodificación en el microcontrolador antes de la transmisión I2S.

Otros tutoriales para esta placa

← Volver a la ficha 🛠 Todos los tutoriales