ESP32 - Matrice de LED
Afficheur matriciel à LED, également connu sous le nom d'afficheur LED ou d'afficheur matriciel à points, est largement utilisé. Dans ce tutoriel, nous allons apprendre :
- Matrice LED
- Comment connecter un ESP32 à une matrice LED 8x8
- Comment connecter un ESP32 à une matrice LED 32x8
- Comment connecter un ESP32 pour afficher du texte, des chiffres et des effets animés sur la matrice LED.
Après cela, vous pourrez facilement adapter le code pour d'autres matrices LED telles que la matrice LED 16x8, la matrice LED 64x8 ...
Préparation du matériel
Or you can buy the following sensor kits:
1 | × | DIYables Sensor Kit (30 sensors/displays) | |
1 | × | DIYables Sensor Kit (18 sensors/displays) |
À propos de la matrice LED
Il existe de nombreux types de matrices LED. Avec l'ESP32, la matrice LED basée sur MAX7219 est largement utilisée. La matrice LED basée sur MAX7219 possède les caractéristiques suivantes :
- Une unité de base d'une matrice LED est un bloc.
- Chaque bloc comprend une matrice LED de 8x8 (64 LED) et un pilote MAX7219.
- Il existe deux formes de blocs populaires : le module générique et le module FC-16.
- Une matrice LED peut être composée d'un seul bloc ou de plusieurs blocs en chaîne en guirlande.
- Vous pouvez acheter une matrice LED multi-blocs pré-assemblée (par exemple, 4-en-1, 8-en-1).
- Vous pouvez également acheter plusieurs blocs et les câbler pour former une matrice LED de la taille souhaitée.
- Vous déclarerez la taille de la matrice LED que vous utilisez dans le code ESP32.
Brochage
Une matrice LED est formée d'un ou plusieurs blocs. Chaque bloc comprend deux groupes de broches :
- Groupe de broches d'entrée :
- VCC : se connecte à 5V.
- GND : se connecte à GND.
- DIN est la broche de données, connectez-la à n'importe quelle broche numérique de l'ESP32.
- CS : Sélection de puce, connectez-la à n'importe quelle broche numérique de l'ESP32.
- CLK : broche d'horloge, connectez-la à n'importe quelle broche numérique de l'ESP32.
- Groupe de broches de sortie :
- VCC : se connecte au VCC du groupe de broches d'entrée sur le module suivant.
- GND : se connecte au GND du groupe de broches d'entrée sur le module suivant.
- DOUT : Données sortantes, 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 sur le module suivant.
- CLK se connecte au CLK du groupe de broches d'entrée sur le module suivant.
Diagramme de câblage
Si la matrice LED est constituée d'un seul bloc :
- Connectez les groupes de broches d'entrée à l'ESP32
- Laissez le groupe de broches de sortie non connecté
This image is created using Fritzing. Click to enlarge image
Si vous ne savez pas comment alimenter l'ESP32 et d'autres composants, vous pouvez trouver des conseils dans le tutoriel suivant : Comment alimenter l'ESP32.
This image is created using Fritzing. Click to enlarge image
Si la matrice LED est pré-assemblée en plusieurs blocs :
- Connectez les groupes de broches d'entrée à l'ESP32
- Laissez le groupe de broches de sortie déconnecté
This image is created using Fritzing. Click to enlarge image
Si la matrice LED est composée de plusieurs blocs par vous-même :
- Connectez les groupes de broches d'entrée du premier bloc à l'ESP32.
- Connectez les groupes de broches de sortie de chaque bloc aux groupes de broches d'entrée du bloc suivant.
- Laissez le groupe de broches de sortie du dernier bloc déconnecté.
This image is created using Fritzing. Click to enlarge image
This image is created using Fritzing. Click to enlarge image
Étant donné que l'affichage consomme beaucoup de courant (jusqu'à 1A à la luminosité maximale) :
- N'utilisez pas l'alimentation de la broche 5V de l'ESP32.
- Utilisez plutôt une alimentation externe de 5V. L'ESP32 et la matrice de LED peuvent partager l'alimentation à partir d'un adaptateur de 5V.
Car l'ESP32 se connecte à la matrice LED via les broches SPI :
- Broche GPIO18 (SCK) et GPIO23 (MOSI) sur ESP32
- La broche GPIO21 (CS) peut être changée pour n'importe quelle broche
Comment programmer pour une matrice LED
Il n'est pas facile de contrôler la matrice de LED. Heureusement, des bibliothèques sont disponibles pour faciliter la tâche. Voici un guide étape par étape sur la façon d'écrire un code ESP32 pour contrôler la matrice LED.
- Inclure les bibliothèques :
- Spécifiez quel matériel est utilisé : GENERIC_HW ou FC16_HW.
- Définissez combien de blocs de LED sont utilisés. Par exemple, une matrice LED 4-en-1 a 4 blocs.
- Définissez la broche qui se connecte à la broche CS de la matrice LED. Par exemple, la broche GPIO21.
- Créez une nouvelle instance de la classe MD_Parola pour l'affichage de la matrice LED.
- Code dans la fonction setup() :
- Affichez du texte, des nombres et montrez des effets animés : voir la partie suivante
ESP32 - Code de la matrice LED
Le code ci-dessous est pour un affichage matriciel LED FC-16 32x8 (4 blocs). Mais vous pouvez facilement l'adapter pour 8x8, 16x8, 64x8...
Étapes rapides
- Si c'est la première fois que vous utilisez un ESP32, consultez comment configurer l'environnement pour ESP32 sur Arduino IDE.
- Faites le câblage comme sur l'image ci-dessus.
- Connectez la carte ESP32 à votre PC via un câble micro USB.
- Ouvrez Arduino IDE sur votre PC.
- Sélectionnez la bonne carte ESP32 (par exemple, ESP32 Dev Module) et le port COM.
- Cliquez sur l'icône Libraries dans la barre latérale gauche de l'Arduino IDE.
- Recherchez "MD_Parola", puis trouvez la bibliothèque MD_Parola.
- Cliquez sur le bouton Install.
- On vous demandera d'installer la bibliothèque "MD_MAX72XX"
- Cliquez sur le bouton Installer Tout pour installer la dépendance.
- Copiez le code ci-dessus et ouvrez-le avec l'IDE Arduino
- Cliquez sur le bouton Upload sur l'IDE Arduino pour téléverser le code sur l'ESP32
- Regardez l'affichage de la matrice LED
Code de matrice de LED ESP32 – Texte défilant
Lorsque vous souhaitez imprimer un long message trop grand pour tenir sur un affichage matriciel à LED, vous pouvez utiliser la technique de l'effet de défilement du texte.
Le code ESP32 ci-dessous montre comment faire défiler un message sur l'affichage de la matrice LED.
Pour plus d'effets de texte, veuillez visiter Référence de la bibliothèque MD_Parola.