ESP32 C3 Super Mini - Matrice LED

Un afficheur à matrice LED, aussi appelé afficheur à matrice de points, est un moyen bon marché et facile d'afficher du texte et des nombres. Ce tutoriel vous montre comment piloter une matrice LED MAX7219 avec l'ESP32 C3 Super Mini en utilisant seulement trois fils de signal.

Dans ce tutoriel, vous apprendrez :

Ensuite, vous pourrez facilement adapter le code pour d'autres tailles comme une matrice LED 16x8 ou 64x8.

ESP32 C3 Super Mini - Matrice LED

Matériel Requis

1×ESP32 C3 Super Mini
1×Câble USB Type-A vers Type-C (pour PC USB-A)
1×Câble USB Type-C vers Type-C (pour PC USB-C)
1×FC-16 LED Matrix 32x8
1×FC-16 LED Matrix 8x8
1×Generic LED Matrix 8x8
1×Plaque d'essai
1×Fils de connexion
1×Optionnel: Connecteur d'alimentation DC

Ou vous pouvez acheter les kits suivants:

1×Kit de Capteurs DIYables (18 capteurs/écrans)
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.

À Propos de la Matrice LED

Afficheur à matrice LED

Une matrice LED est une grille de LED pilotée par une petite puce afin que vous puissiez contrôler chaque point. Avec l'ESP32 C3 Super Mini, la matrice LED basée sur le MAX7219 est le choix le plus populaire.

Caractéristiques Principales :

  • Bloc : L'unité de base d'une matrice LED est un bloc.
  • À l'intérieur d'un bloc : Chaque bloc possède une matrice LED 8x8 (64 LED) et un driver MAX7219.
  • Deux formes : Il existe deux formes de blocs populaires, le module générique et le module FC-16.
  • Un seul ou plusieurs : Une matrice LED peut être un seul bloc, ou plusieurs blocs chaînés en série.
  • Prête à l'emploi : Vous pouvez acheter une matrice LED multi-blocs pré-assemblée (par exemple 4-en-1 ou 8-en-1).
  • Construisez la vôtre : Vous pouvez aussi acheter des blocs séparés et les câbler pour obtenir la taille que vous voulez.
  • Dans le code : Vous déclarez la taille de la matrice LED dans le code de l'ESP32 C3 Super Mini.

Spécifications Techniques :

  • Puce de pilotage : MAX7219
  • Tension d'alimentation : 5V
  • Niveau logique : fonctionne avec les signaux 3,3V de l'ESP32 C3 Super Mini
  • Interface : SPI (trois fils de signal : DIN, CS, CLK)
  • Niveaux de luminosité : 16 niveaux, de 0 à 15
  • Consommation de courant : jusqu'à environ 1A par afficheur à pleine luminosité

Brochage

Brochage de la Matrice LED

Une matrice LED est formée d'un ou plusieurs blocs. Chaque bloc possède deux groupes de broches.

Groupe de broches d'entrée :

  • VCC : se connecte au 5V.
  • GND : se connecte à GND.
  • DIN : Broche de données. Connectez-la à une broche GPIO de l'ESP32 C3 Super Mini.
  • CS : Sélection de puce (Chip Select). Connectez-la à une broche GPIO de l'ESP32 C3 Super Mini.
  • CLK : Broche d'horloge. Connectez-la à une broche GPIO de l'ESP32 C3 Super Mini.

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

L'ESP32 C3 Super Mini communique avec la matrice LED via SPI, seuls trois fils de signal sont donc nécessaires.

Broche de la Matrice LED Broche de l'ESP32 C3 Super Mini
VCC 5V (alimentation externe)
GND GND
DIN GPIO6 (MOSI)
CS GPIO7
CLK GPIO4 (SCK)
  • Remarque : GPIO4 (SCK) et GPIO6 (MOSI) sont les broches SPI matérielles. Gardez-les telles quelles.
  • Remarque : GPIO7 est la broche CS. Vous pouvez la remplacer par une autre broche GPIO libre si vous la modifiez aussi dans le code.
  • Remarque : Le GND de l'ESP32 C3 Super Mini et le GND de l'alimentation doivent être reliés ensemble.
  • Remarque : Vérifiez toujours deux fois VCC et GND avant d'allumer l'afficheur.

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

  • Connectez le groupe de broches d'entrée à l'ESP32 C3 Super Mini
  • Laissez le groupe de broches de sortie non connecté
Schéma de câblage ESP32 C3 Super Mini matrice LED 8x8 FC-16

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

Schéma de câblage ESP32 C3 Super Mini matrice LED 8x8 générique

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

Si la matrice LED est un module multi-blocs pré-assemblé :

  • Connectez le groupe de broches d'entrée à l'ESP32 C3 Super Mini
  • Laissez le groupe de broches de sortie non connecté
Schéma de câblage ESP32 C3 Super Mini afficheur à matrice LED

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

Si vous construisez vous-même la matrice LED à partir de plusieurs blocs :

  • Connectez le groupe de broches d'entrée du premier bloc à l'ESP32 C3 Super Mini
  • 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é
Schéma de câblage ESP32 C3 Super Mini matrice LED 32x8 FC-16

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

WARNING

L'afficheur consomme beaucoup de courant, jusqu'à 1A à la luminosité maximale.

  • N'alimentez pas la matrice LED depuis la broche 5V de l'ESP32 C3 Super Mini.
  • Utilisez plutôt une alimentation externe de 5V.
  • L'ESP32 C3 Super Mini et la matrice LED peuvent partager le même adaptateur secteur 5V.

Comment Programmer la Matrice LED

Contrôler un MAX7219 à la main est difficile, mais une bibliothèque rend cela simple. Voici les étapes pour écrire le code ESP32 C3 Super Mini pour la matrice LED.

  • Incluez les bibliothèques :
#include <MD_Parola.h> #include <MD_MAX72xx.h>
  • Indiquez à la bibliothèque quel matériel vous avez : GENERIC_HW ou FC16_HW.
#define HARDWARE_TYPE MD_MAX72XX::FC16_HW
  • Définissez combien de blocs LED sont utilisés. Par exemple, une matrice LED 4-en-1 possède 4 blocs.
#define MAX_DEVICES 4
  • Définissez la broche de l'ESP32 C3 Super Mini qui va à la broche CS de la matrice LED, par exemple GPIO7.
#define CS_PIN 7
  • Créez une nouvelle instance de la classe MD_Parola pour l'afficheur à matrice LED.
MD_Parola ledMatrix = MD_Parola(HARDWARE_TYPE, CS_PIN, MAX_DEVICES);
  • Écrivez 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 }
  • Affichez du texte, des nombres et des effets animés : voir la partie suivante.

※ Note:

Les broches DIN et CLK sont gérées par le SPI matériel de l'ESP32 C3 Super Mini, vous ne les nommez donc jamais dans le code. Seule la broche CS est écrite dans le sketch.

ESP32 C3 Super Mini - Code de la Matrice LED

Le code ci-dessous est destiné à un afficheur à matrice LED FC-16 32x8 (4 blocs), mais vous pouvez facilement l'adapter pour des tailles 8x8, 16x8, 64x8 et autres.

/* * Ce code ESP32 C3 Super Mini a été développé par newbiely.fr * Ce code ESP32 C3 Super Mini 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-c3/esp32-c3-super-mini-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 7 // The ESP32 C3 SuperMini pin connected to the CS pin of the LED matrix // 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); }

Ce Que Fait Ce Code :

  • Définit la broche CS sur GPIO7 de l'ESP32 C3 Super Mini
  • Indique à la bibliothèque que l'afficheur possède 4 blocs FC-16
  • Démarre l'afficheur et règle la luminosité au maximum, 15
  • Affiche le même texte aligné à gauche, au centre et à droite
  • Affiche un texte inversé, puis le nombre 1234

Étapes Rapides

  • Nouveau sur l'ESP32 C3 Super Mini ? Suivez d'abord notre tutoriel ESP32 C3 Super Mini - Premiers pas pour configurer votre environnement de développement.
  • Câblez les composants : Connectez la matrice LED à l'ESP32 C3 Super Mini comme indiqué dans le schéma ci-dessus.
  • Alimentez l'afficheur : Utilisez une alimentation externe de 5V et reliez les masses ensemble.
  • Connectez la carte : Branchez l'ESP32 C3 Super Mini à votre ordinateur avec le câble USB Type-C.
  • Ouvrez l'IDE : Lancez l'Arduino IDE sur votre ordinateur.
  • Sélectionnez la carte : Assurez-vous que ESP32 C3 Super Mini est sélectionnée dans Outils > Type de carte.
  • Sélectionnez le port : Choisissez le port COM de votre ESP32 C3 Super Mini.
  • Ouvrez le Gestionnaire de Bibliothèques : Cliquez sur l'icône Gestionnaire de Bibliothèques dans la barre de navigation gauche de l'Arduino IDE.
  • Recherchez la bibliothèque : Tapez “MD_Parola”, puis trouvez la bibliothèque MD_Parola.
  • Installez-la : Cliquez sur le bouton Installer.
  • Search for MD_Parola created by majicDesigns and click the Install button.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32C3 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
ESP32C3 Dev Module on COM15
1
  • Installez la dépendance : Il vous sera demandé d'installer la bibliothèque “MD_MAX72XX”. Cliquez sur le bouton Tout installer.
  • Copiez le code : Copiez le code ci-dessus et ouvrez-le dans l'Arduino IDE.
  • Téléversez : Cliquez sur le bouton Téléverser pour envoyer le code vers l'ESP32 C3 Super Mini.
  • Observez : Regardez le texte et les nombres apparaître sur l'afficheur à matrice LED.
  • Moniteur Série : Si vous ajoutez plus tard une sortie Serial, réglez le débit en bauds du Moniteur Série sur 115200.
  • Astuce Pro : Si les caractères apparaissent en miroir ou coupés en deux, changez HARDWARE_TYPE de FC16_HW à GENERIC_HW.

Code Matrice LED ESP32 C3 Super Mini – Texte Défilant

Un long message ne tient pas sur une petite matrice LED, vous pouvez donc le faire défiler à la place.

Le code ESP32 C3 Super Mini ci-dessous fait défiler un message sur l'afficheur à matrice LED.

/* * Ce code ESP32 C3 Super Mini a été développé par newbiely.fr * Ce code ESP32 C3 Super Mini 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-c3/esp32-c3-super-mini-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 7 // The ESP32 C3 SuperMini pin connected to the CS pin of the LED matrix // 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", PA_CENTER, PA_SCROLL_LEFT, 100); } void loop() { if (ledMatrix.displayAnimate()) { ledMatrix.displayReset(); } }

Ce Que Fait Ce Code :

  • Utilise la même broche CS GPIO7 et la même configuration à 4 blocs
  • Appelle displayScroll() une fois dans setup() avec le texte et la vitesse
  • Fait défiler le message de droite à gauche sur tout l'afficheur
  • Appelle displayAnimate() dans loop() pour déplacer le texte d'un pas à la fois
  • Réinitialise l'animation pour que le message se répète indéfiniment
  • Remarque : Le dernier nombre dans displayScroll() est la vitesse en millisecondes. Un nombre plus petit fait défiler plus vite.

Pour plus d'effets de texte, veuillez consulter la Référence de la Bibliothèque MD_Parola.

Applications et Idées de Projets

Voici quelques projets simples que vous pouvez construire avec un ESP32 C3 Super Mini et une matrice LED.

  • Badge nominatif défilant : Affichez votre nom ou un message d'accueil sur un afficheur portable.
  • Horloge de bureau : Affichez l'heure sur la matrice LED en utilisant l'heure Wi-Fi de l'ESP32 C3 Super Mini.
  • Bandeau météo : Récupérez la température depuis Internet et faites-la défiler sur l'afficheur.
  • Thermomètre d'ambiance : Affichez une mesure DHT11 ou DHT22 en gros chiffres.
  • Minuteur à rebours : Affichez un compte à rebours de cuisine ou d'entraînement que tout le monde peut lire de loin.
  • Tableau de notifications : Faites défiler les nouveaux messages envoyés depuis votre téléphone via Wi-Fi.

Défiez-vous

Essayez ces petits défis pour vous exercer avec l'ESP32 C3 Super Mini et la matrice LED.

  • Facile : Remplacez le texte affiché par votre propre nom.
  • Facile : Changez setIntensity() de 15 à 3 et observez l'afficheur devenir plus sombre.
  • Moyen : Créez un compteur qui affiche les nombres de 0 à 99, un par seconde.
  • Moyen : Changez la direction de défilement en PA_SCROLL_RIGHT et modifiez la vitesse.
  • Avancé : Ajoutez un bouton poussoir sur GPIO3 qui bascule entre deux messages différents.
  • Avancé : Connectez l'ESP32 C3 Super Mini au Wi-Fi et faites défiler un message que vous tapez dans une page web.

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 !