🛠 Streaming audio I2S sur ESP32 avec l'Ampli 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.

Objectifs

Ce tutoriel vise à créer un nœud audio réseau fonctionnel. Vous apprendrez à configurer l'interface I2S d'un microcontrôleur (ici un ESP32) pour transmettre un flux audio numérique vers l'amplificateur Adafruit Stereo I2S 3W. Contrairement aux amplis analogiques, le MAX98357A traite le signal en numérique jusqu'à la sortie, offrant une haute fidélité et une efficacité de 92%. Nous explorerons le câblage spécifique requis pour le mode Bridge Tied Load (BTL) et la gestion des niveaux logiques.

Matériel nécessaire

Étapes

  1. Préparation de l'alimentation : L'ampli est efficace mais peut tirer des pics de courant. Connectez le pin VIN de l'ampli à une alimentation 5V stable. Connectez GND à la masse commune de l'ESP32 et de l'alimentation.
  1. Câblage I2S : L'ESP32 utilise des broches spécifiques pour l'I2S. Connectez les pins comme suit (vérifiez la datasheet de votre carte) :

*Note : Le MAX98357A ne nécessite pas de broche MCLK (Master Clock), simplifiant le câblage.*

  1. Connexion des haut-parleurs : Le mode BTL signifie que les sorties ne sont pas référencées à la masse. Pour le canal Gauche :

Répétez pour le canal Droit avec OUT R+ et OUT R-. Ne connectez jamais les bornes des haut-parleurs à la masse (GND).

  1. Configuration logicielle : Dans Arduino IDE, sélectionnez la bibliothèque ESP32-audio-i2s ou I2S.h. Initialisez le bus I2S avec les broches définies à l'étape 2. Définissez la fréquence d'échantillonnage (ex: 44100 Hz) et la résolution (16-bit).
  1. Lecture du flux : Chargez un fichier audio ou un flux réseau (via Wi-Fi) dans le buffer. Envoyez les échantillons PCM via la fonction write() de l'interface I2S. L'ampli convertira automatiquement le signal numérique en puissance analogique.

Vérification

Alimentez le système. Vous devriez entendre un léger bruit de fond (25µV RMS) si aucun signal n'est envoyé. Lancez la lecture audio. Vérifiez que le son sort bien des deux haut-parleurs sans distorsion excessive. Si le son est saturé, réduisez le volume logiciel ou vérifiez que le gain matériel (jumpers) n'est pas réglé trop haut (commencez à 9dB).

Pour aller plus loin

Ajoutez une fonctionnalité de contrôle de volume via une interface web (WebServer ESP32) ou un potentiomètre numérique. Vous pouvez également explorer la lecture de fichiers FLAC pour une qualité audio supérieure, en gérant le décodage côté microcontrôleur avant l'envoi I2S.

Autres tutoriels pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels