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 :

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

1×ESP-WROOM-32 Dev Module
1×USB Cable Type-C
1×FC-16 LED Matrix 32x8
1×FC-16 LED Matrix 8x8
1×Generic LED Matrix 8x8
1×Breadboard
1×Jumper Wires
1×(Optional) DC Power Jack
1×(Recommended) ESP32 Screw Terminal Adapter

Or you can buy the following sensor kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
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

Affichage matriciel 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

Brochage de la matrice LED

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é
Schéma de câblage de la matrice LED 8x8 ESP32 FC-16

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.

Schéma de câblage générique de matrice LED 8x8 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é
Schéma de câblage d'affichage matriciel à LED ESP32

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é.
Schéma de câblage de la matrice LED 32x8 ESP32 FC-16

This image is created using Fritzing. Click to enlarge image

Schéma de câblage générique de la matrice de LED 32x8 ESP32

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 :
#include <MD_Parola.h> #include <MD_MAX72xx.h>
  • Spécifiez quel matériel est utilisé : GENERIC_HW ou FC16_HW.
#define HARDWARE_TYPE MD_MAX72XX::FC16_HW
  • Définissez combien de blocs de LED sont utilisés. Par exemple, une matrice LED 4-en-1 a 4 blocs.
#define MAX_DEVICES 4
  • Définissez la broche qui se connecte à la broche CS de la matrice LED. Par exemple, la broche GPIO21.
#define CS_PIN 21
  • Créez une nouvelle instance de la classe MD_Parola pour l'affichage de la matrice LED.
MD_Parola ledMatrix = MD_Parola(HARDWARE_TYPE, CS_PIN, MAX_DEVICES);
  • Code dans la fonction setup() :
void setup() { ledMatrix.begin(); // initialise l'objet ledMatrix.setIntensity(0); // règle la luminosité de l'affichage de la matrice LED (de 0 à 15) ledMatrix.displayClear(); // efface l'affichage de la matrice LED }
  • 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...

/* * Ce code ESP32 a été développé par newbiely.fr * Ce code ESP32 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/esp32-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 21 // 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(0); // 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

  • 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.
Bibliothèque MD_Parola ESP32
  • On vous demandera d'installer la bibliothèque "MD_MAX72XX"
  • Cliquez sur le bouton Installer Tout pour installer la dépendance.
Bibliothèque ESP32 MD_MAX72XX
  • 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.

/* * Ce code ESP32 a été développé par newbiely.fr * Ce code ESP32 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/esp32-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 21 // 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(0); // 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(); } }

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

Vidéo

Tutoriels connexes

※ OUR MESSAGES

  • Please feel free to share the link of this tutorial. However, Please do not use our content on any other websites. We invested a lot of effort and time to create the content, please respect our work!