ESP32 S3 - Matrice de LED

Les afficheurs à matrice de LED, aussi appelés afficheurs à matrice à points, sont largement utilisés dans les enseignes déroulantes, les horloges, et les indicateurs visuels. Dans ce tutoriel, vous apprendrez à connecter une matrice de LED à l'ESP32 S3 et à afficher du texte défilant, des chiffres, et des effets animés.

ESP32 S3 LED Matrix

Ce que vous allez construire :

  1. Connecter une matrice de LED 8x8 ou 32x8 à l'ESP32 S3
  2. Afficher du texte statique et des chiffres sur la matrice de LED
  3. Faire défiler de longs messages sur l'afficheur à matrice de LED
  4. Appliquer des effets de texte animés à l'aide de la bibliothèque MD_Parola

À propos de la matrice de LED

LED Matrix display

Les matrices de LED basées sur le MAX7219 sont le choix le plus populaire pour une utilisation avec l'ESP32 S3 en raison de leur interface SPI simple et de leur solide support de bibliothèque. Chaque bloc d'une matrice de LED basée sur le MAX7219 contient une grille 8x8 de 64 LED pilotée par une seule puce MAX7219, et plusieurs blocs peuvent être chaînés ensemble dans une configuration en guirlande pour former des afficheurs plus grands tels que 16x8 ou 32x8. L'ESP32 S3 contrôle toute la chaîne via seulement trois broches SPI, et vous déclarez le nombre de blocs dans votre code.

Spécifications clés

  • Une unité de base d'une matrice de LED est un bloc
  • Chaque bloc a une matrice de LED 8x8 (64 LED) et un driver MAX7219
  • Il existe deux formes de bloc populaires : le module générique et le module FC-16
  • Une matrice de LED peut être composée d'un seul bloc ou de plusieurs blocs en guirlande
  • Vous pouvez acheter une matrice de LED multi-blocs pré-assemblée (par exemple 4-en-1, 8-en-1)
  • Vous pouvez aussi acheter plusieurs blocs et les câbler pour former une matrice de LED de la taille souhaitée
  • Vous déclarerez la taille de la matrice de LED que vous utilisez dans le code de l'ESP32 S3

Brochage

LED Matrix Pinout

Chaque bloc de matrice de LED expose deux groupes de broches — entrée et sortie — permettant de chaîner plusieurs blocs ensemble.

  1. Groupe de broches d'entrée :
  • VCC : se connecte au 5V
  • GND : se connecte au GND
  • DIN : Broche de données, connectez à n'importe quelle broche numérique de l'ESP32 S3
  • CS : Chip Select, connectez à n'importe quelle broche numérique de l'ESP32 S3
  • CLK : Broche d'horloge, connectez à n'importe quelle broche numérique de l'ESP32 S3
  1. Groupe de broches de sortie :
  • VCC : se connecte au VCC du groupe de broches d'entrée du module suivant
  • GND : se connecte au GND du groupe de broches d'entrée du module suivant
  • DOUT : Sortie de données, se connecte à la broche DIN du groupe de broches d'entrée du module suivant
  • CS : se connecte au CS du groupe de broches d'entrée du module suivant
  • CLK : se connecte au CLK du groupe de broches d'entrée du module suivant

Schéma de câblage

Connectez les broches d'entrée de la matrice de LED à l'ESP32 S3, puis chaînez les broches de sortie vers les broches d'entrée du bloc suivant pour les afficheurs multi-blocs. Si vous utilisez un seul bloc, laissez le groupe de broches de sortie non connecté.

Notes de sécurité

Comme l'afficheur à matrice de LED peut consommer jusqu'à 1A à luminosité maximale, vous ne devez pas l'alimenter uniquement depuis la broche 5V de l'ESP32 S3. Utilisez plutôt une alimentation externe 5V, et l'ESP32 S3 et la matrice de LED peuvent partager le même adaptateur d'alimentation 5V.

L'ESP32 S3 se connecte à la matrice de LED via les broches SPI :

  • GPIO38 (SCK — horloge)
  • GPIO40 (MOSI — données)
  • GPIO39 (CS — chip select, peut être changé pour n'importe quelle broche)

Si la matrice de LED est constituée d'un seul bloc :

  • Connectez le groupe de broches d'entrée à l'ESP32 S3
  • Laissez le groupe de broches de sortie non connecté
ESP32 S3 8x8 LED matrix FC-16 wiring diagram

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

ESP32 S3 8x8 LED matrix generic wiring diagram

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Si la matrice de LED est une unité multi-blocs pré-assemblée :

  • Connectez le groupe de broches d'entrée à l'ESP32 S3
  • Laissez le groupe de broches de sortie non connecté
ESP32 S3 LED matrix display wiring diagram

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Si la matrice de LED est constituée de plusieurs blocs câblés par vous-même :

  • Connectez le groupe de broches d'entrée du premier bloc à l'ESP32 S3
  • Connectez le groupe de broches de sortie de chaque bloc au groupe de broches d'entrée du bloc suivant
  • Laissez le groupe de broches de sortie du dernier bloc non connecté
ESP32 S3 32x8 LED matrix wiring FC-16 diagram

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Comment programmer pour la matrice de LED

Contrôler une matrice de LED au niveau des registres est complexe, mais les bibliothèques MD_Parola et MD_MAX72xx simplifient les choses en fournissant des fonctions de haut niveau pour l'affichage de texte et les effets d'animation. La présentation du code suivante montre chaque étape nécessaire pour initialiser et piloter la matrice de LED depuis l'ESP32 S3.

  • Inclure les bibliothèques :
#include <MD_Parola.h> #include <MD_MAX72xx.h>
  • Spécifier quel matériel est utilisé : GENERIC_HW ou FC16_HW.
#define HARDWARE_TYPE MD_MAX72XX::FC16_HW
  • Définir combien de blocs de LED sont utilisés. Par exemple, une matrice de LED 4-en-1 a 4 blocs.
#define MAX_DEVICES 4
  • Définir la broche qui se connecte à la broche CS de la matrice de LED. Par exemple, la broche GPIO39.
#define CS_PIN 39
  • Créer une nouvelle instance de la classe MD_Parola pour l'afficheur à matrice de LED.
MD_Parola ledMatrix = MD_Parola(HARDWARE_TYPE, CS_PIN, MAX_DEVICES);
  • Code dans la fonction setup() :
void setup() { ledMatrix.begin(); // initialize the object ledMatrix.setIntensity(0); // set the brightness of the LED matrix display (from 0 to 15) ledMatrix.displayClear(); // clear led matrix display }
  • Afficher du texte, des chiffres, et des effets animés : voir la section suivante.

Code ESP32 S3 - Matrice de LED

Le code suivant cible un afficheur à matrice de LED FC-16 32x8 avec 4 blocs, mais vous pouvez facilement l'adapter pour des afficheurs 8x8, 16x8, ou 64x8 en changeant la valeur MAX_DEVICES. Téléversez le croquis, et vous verrez du texte et des effets apparaître immédiatement sur la matrice.

/* * Ce code ESP32 S3 a été développé par newbiely.fr * Ce code ESP32 S3 est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/esp32-s3/esp32-s3-led-matrix */ /* * This ESP32-S3 code is created by esp32io.com * * This ESP32-S3 code is released in the public domain * * For more detail (instruction and wiring diagram), visit https://esp32io.com/tutorials/esp32-s3-led-matrix */ #include <MD_Parola.h> #include <MD_MAX72xx.h> #define HARDWARE_TYPE MD_MAX72XX::FC16_HW #define MAX_DEVICES 4 // 4 blocks #define CS_PIN 39 // create an instance of the MD_Parola class MD_Parola ledMatrix = MD_Parola(HARDWARE_TYPE, CS_PIN, MAX_DEVICES); void setup() { ledMatrix.begin(); // initialize the LED Matrix ledMatrix.setIntensity(15); // set the brightness of the LED matrix display (from 0 to 15) ledMatrix.displayClear(); // clear LED matrix display } void loop() { ledMatrix.setTextAlignment(PA_LEFT); ledMatrix.print("Left"); // display text delay(2000); ledMatrix.setTextAlignment(PA_CENTER); ledMatrix.print("Center"); // display text delay(2000); ledMatrix.setTextAlignment(PA_RIGHT); ledMatrix.print("Right"); // display text delay(2000); ledMatrix.setTextAlignment(PA_CENTER); ledMatrix.setInvert(true); ledMatrix.print("Invert"); // display text inverted delay(2000); ledMatrix.setInvert(false); ledMatrix.print(1234); // display number delay(2000); }

Étapes rapides

  1. Nouveau sur ESP32 S3 ? Suivez d'abord notre guide ESP32 S3 - Premiers pas.
  2. Effectuez le câblage comme montré dans le schéma ci-dessus.
  3. Connectez la carte ESP32 S3 à votre PC via un câble USB Type-C.
  4. Ouvrez Arduino IDE sur votre PC.
  5. Sélectionnez la bonne carte ESP32 S3 et le bon port COM.
  6. Cliquez sur l'icône Libraries dans la barre gauche de l'Arduino IDE.
  7. Recherchez "MD_Parola", puis trouvez la bibliothèque MD_Parola.
  8. Cliquez sur le bouton Install.
  • Search for MD_Parola created by majicDesigns and click the Install button.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32S3 Dev Module
Library Manager
Type:
All
Topic:
All
MD_Parola by majicDesigns
Implemented using the MD_MAX72xx library for hardware control. Provides functions to simplify the implementation of text special effects on the LED matrix. More info
3.7.2
INSTALL
Newbiely.ino
···
1 void setup() {
Output
Serial Monitor
Ln 1, Col 1
ESP32S3 Dev Module on COM15
1
  1. Il vous sera demandé d'installer la bibliothèque "MD_MAX72XX".
  2. Cliquez sur le bouton Install All pour installer la dépendance.
  3. Copiez le code ci-dessus et ouvrez-le avec Arduino IDE.
  4. Cliquez sur le bouton Upload sur Arduino IDE pour téléverser le code vers l'ESP32 S3.
  5. Observez l'afficheur à matrice de LED montrant du texte et des effets.
  6. Astuce pro : Ajustez la valeur setIntensity() (0–15) pour contrôler la luminosité, et expérimentez avec différentes valeurs PA_EFFECT dans MD_Parola pour des dizaines d'effets d'animation intégrés.

Code ESP32 S3 Matrice de LED – Texte défilant

Quand vous voulez afficher un long message trop long pour tenir sur un afficheur à matrice de LED, vous pouvez utiliser la technique d'effet de texte défilant. Le code ESP32 S3 suivant montre comment faire défiler continuellement un message sur l'afficheur à matrice de LED de droite à gauche.

/* * Ce code ESP32 S3 a été développé par newbiely.fr * Ce code ESP32 S3 est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/esp32-s3/esp32-s3-led-matrix */ /* * This ESP32-S3 code is created by esp32io.com * * This ESP32-S3 code is released in the public domain * * For more detail (instruction and wiring diagram), visit https://esp32io.com/tutorials/esp32-s3-led-matrix */ #include <MD_Parola.h> #include <MD_MAX72xx.h> #define HARDWARE_TYPE MD_MAX72XX::FC16_HW #define MAX_DEVICES 4 // 4 blocks #define CS_PIN 39 // create an instance of the MD_Parola class MD_Parola ledMatrix = MD_Parola(HARDWARE_TYPE, CS_PIN, MAX_DEVICES); void setup() { ledMatrix.begin(); // initialize the object ledMatrix.setIntensity(15); // set the brightness of the LED matrix display (from 0 to 15) ledMatrix.displayClear(); // clear led matrix display ledMatrix.displayScroll("ESP32 S3", PA_CENTER, PA_SCROLL_LEFT, 100); } void loop() { if (ledMatrix.displayAnimate()) { ledMatrix.displayReset(); } }

Pour plus d'effets de texte, veuillez consulter MD_Parola Library Reference.

Sortie du moniteur série

Ouvrez le Serial Monitor à 9600 bauds pour observer les messages de débogage de l'ESP32 S3 pendant qu'il pilote la matrice de LED. Les relevés suivants montrent une sortie typique pendant l'initialisation et les mises à jour de l'affichage :

  1. [2026-01-15 09:00:01] LED Matrix initialized. Blocks: 4, Intensity: 0
  2. [2026-01-15 09:00:02] Displaying text: "Hello"
  3. [2026-01-15 09:00:05] Scroll effect started
  4. [2026-01-15 09:00:10] Animation complete, restarting loop

Applications

Les afficheurs à matrice de LED sont des périphériques de sortie polyvalents utilisés dans de nombreux projets réels. Voici quelques applications courantes :

  1. Panneau de message défilant : Affichez des annonces, des bandeaux d'actualités, ou des messages de statut qui défilent en continu.
  2. Horloge numérique : Montrez l'heure et la date avec des chiffres grands et lisibles sur une matrice de LED multi-blocs.
  3. Tableau de score sportif : Affichez les scores en direct et les noms d'équipes dans un gymnase ou un lieu d'événement.
  4. Afficheur de gestion de file d'attente : Montrez les numéros de file d'attente ou le statut des tickets aux comptoirs de service.
  5. Indicateur de tableau de bord IoT : Fournissez une sortie visuelle simple pour les lectures de capteurs ou les alertes système.

Vidéo

Regardez la démonstration vidéo étape par étape de ce projet ESP32 S3 ci-dessous.

Défis

Essayez ces défis pour approfondir votre compréhension du contrôle de matrice de LED avec l'ESP32 S3.

  1. Débutant : Changez le texte affiché pour votre nom et ajustez la luminosité à l'aide de setIntensity() pour trouver un niveau confortable pour votre environnement.
  2. Intermédiaire : Affichez l'heure actuelle sur la matrice de LED en la lisant depuis l'horloge interne de l'ESP32 S3 ou un serveur NTP via Wi-Fi.
  3. Avancé : Construisez un panneau de message défilant connecté au Wi-Fi où vous pouvez mettre à jour le texte affiché à distance via une simple interface web hébergée sur l'ESP32 S3.

Tutoriels connexes

※ NOS MESSAGES

  • N'hésitez pas à partager le lien de ce tutoriel. Cependant, veuillez ne pas utiliser notre contenu sur d'autres sites web. Nous avons investi beaucoup d'efforts et de temps pour créer ce contenu, veuillez respecter notre travail !