🛠 Intégration GPIO et Entrées/Sorties avec l'Ampli I2S MAX98357A

Adafruit Stereo I2S 3W Amplifier Breakout - Dual MAX98357A · intermediaire · Apprenez à contrôler l'amplificateur via les GPIO et à intégrer des capteurs ou affichages dans un système audio I2S.

Objectifs

Ce tutoriel vise à maîtriser l'interface entre un microcontrôleur (comme l'ESP32 ou le RP2040) et la carte Adafruit Stereo I2S 3W Amplifier. Nous allons explorer la gestion des broches GPIO pour le contrôle numérique I2S, tout en intégrant des périphériques d'entrée/sortie tels que des boutons-poussoirs pour le contrôle du volume ou des LED pour l'indication d'état. L'objectif est de comprendre comment allouer les ressources GPIO sans conflit, en respectant les spécifications logiques 3.3V/5V de la carte, et d'optimiser le routage pour minimiser les interférences électromagnétiques sur le signal audio numérique.

Matériel nécessaire

Étapes

  1. Identification des broches I2S : Sur votre microcontrôleur, identifiez les broches dédiées à l'I2S. Pour l'ESP32, ce sont généralement GPIO 25 (BCLK), GPIO 26 (LRC/WS), et GPIO 22 (DOUT). Notez que le MAX98357A ne nécessite pas de MCLK (Master Clock), simplifiant le câblage.
  2. Câblage de l'alimentation : Connectez VIN de la carte ampli à 5V (ou 3.3V si votre MCU le supporte pour la logique, mais 5V est recommandé pour la puissance). Connectez GND à la masse commune.
  3. Connexion des sorties audio : Reliez les sorties L+ et L- au haut-parleur gauche, et R+ et R- au haut-parleur droit. Attention : le mode BTL (Bridge Tied Load) signifie que les pôles négatifs ne doivent PAS être connectés à la masse du circuit.
  4. Configuration GPIO pour l'I2S : Dans votre code, configurez les broches sélectionnées en mode I2S. Assurez-vous que les tensions logiques sont compatibles (la carte accepte 3.3V et 5V).
  5. Ajout d'entrées utilisateur : Connectez un bouton-poussoir entre une broche GPIO libre (ex: GPIO 13) et GND. Configurez cette broche en entrée avec résistance de pull-up interne. Ce bouton servira à basculer entre les modes de gain (3dB à 15dB) si vous utilisez des jumpers, ou à muter le son.
  6. Ajout d'une sortie de statut : Connectez la LED à une autre broche GPIO (ex: GPIO 12) via une résistance. Cette LED clignotera lors de la lecture audio pour indiquer que le flux I2S est actif.
  7. Écriture du code de contrôle : Initialisez le périphérique I2S. Dans la boucle principale, lisez l'état du bouton. Si pressé, changez le paramètre de gain ou mettez en pause. Activez la LED si le buffer audio contient des données.

Vérification

Ouvrez le moniteur série. Appuyez sur le bouton : le gain devrait changer ou le son muter. La LED doit s'allumer dès que de l'audio est envoyé. Écoutez le haut-parleur : le son doit être clair, sans bruit de fond excessif (bruit de sortie < 25µV RMS). Vérifiez que la carte ne chauffe pas anormalement (protections thermiques actives si >100°C).

Pour aller plus loin

Explorez l'utilisation de l'ADC interne de votre MCU pour créer un retour audio (VU-mètre) ou ajoutez un potentiomètre numérique (I2C) pour un contrôle de volume fin, en gardant à l'esprit que la carte MAX98357A gère le volume au niveau du flux numérique si le MCU le supporte.

Autres tutoriels pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels