ESP8266 - Matrice de LED

Ce tutoriel vous explique comment utiliser l'ESP8266 avec un affichage matriciel à LED. En détail, nous allons apprendre :

Une fois cela fait, il sera simple de modifier le code pour d'autres matrices de LED, telles qu'une matrice LED 16x8 ou une matrice LED 64x8 ...

Préparation du matériel

1×ESP8266 NodeMCU
1×Micro USB Cable
1×FC-16 LED Matrix 32x8
1×FC-16 LED Matrix 8x8
1×Generic LED Matrix 8x8
1×Jumper Wires
1×DC Power Jack
1×5V Power Adapter for ESP8266
1×(Optional) ESP8266 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

Les afficheurs à matrice de LED sont couramment appelés afficheurs LED ou afficheurs à matrice de points.

Affichage matriciel LED

Les matrices LED existent en de nombreuses variétés. La matrice LED basée sur MAX7219 est couramment utilisée avec l'ESP8266. Elle présente les caractéristiques suivantes :

  • Un seul bloc comprend une matrice LED 8x8 (64 LED) et un pilote MAX7219.
  • Il existe deux types courants de blocs : le module générique et le module FC-16.
  • Vous pouvez soit acheter une matrice LED multi-blocs préfabriquée (par exemple, 4-en-1, 8-en-1) soit câbler plusieurs blocs ensemble pour créer une matrice LED de la taille souhaitée.
  • La taille de la matrice LED que vous utilisez doit être déclarée dans le code ESP8266.

Le schéma de brochage de la matrice LED

Brochage de la matrice LED

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

  • Groupe de broches d'entrée :
    • VCC : connecté à l'alimentation 5V.
    • GND : connecté à la terre.
    • DIN : Broche de données, connectée à n'importe quelle broche numérique de l'ESP8266.
    • CS : Sélection du Chip, connectée à n'importe quelle broche numérique de l'ESP8266.
    • CLK : Broche d'horloge, connectée à n'importe quelle broche numérique de l'ESP8266.
  • Groupe de broches de sortie :
    • VCC : se connecte au VCC du bloc suivant.
    • GND : se connecte au GND du bloc suivant.
    • DOUT : Sortie de données, se connecte à la broche DIN du bloc suivant.
    • CS : se connecte au CS du bloc suivant.
    • CLK se connecte au CLK du bloc suivant.

Diagramme de câblage

Si la matrice LED est faite d'un seul bloc :

  • Connectez les broches d'entrée à l'ESP8266
  • Laissez les broches de sortie déconnectées
Schéma de câblage de la matrice LED 8x8 ESP8266 NodeMCU FC-16

This image is created using Fritzing. Click to enlarge image

Voir plus dans l'agencement des broches de l'ESP8266 et comment alimenter l'ESP8266 et d'autres composants.

Schéma de câblage générique de la matrice LED 8x8 ESP8266 NodeMCU

This image is created using Fritzing. Click to enlarge image

Si la matrice de LED est pré-assemblée en plusieurs blocs :

  • Connectez le groupe de broches d'entrée à l'ESP8266
  • Laissez le groupe de broches de sortie déconnecté
Schéma de câblage de l'afficheur à matrice de LED ESP8266 NodeMCU

This image is created using Fritzing. Click to enlarge image

Si vous réalisez la matrice LED à partir de plusieurs blocs :

  • Connectez les groupes de broches d'entrée du premier bloc à l'ESP8266
  • 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 bloc final non connecté
Schéma de câblage FC-16 de la matrice de LED 32x8 ESP8266 NodeMCU

This image is created using Fritzing. Click to enlarge image

En raison de la forte consommation de courant de l'écran (jusqu'à 1A à luminosité maximale) :

  • Évitez de l'alimenter depuis la broche 5V de l'ESP8266.
  • Utilisez plutôt une alimentation externe de 5V. L'ESP8266 et la matrice de LED peuvent tous deux être alimentés par un seul adaptateur de 5V.

Étant donné que l'ESP8266 est connecté à la matrice LED via des broches SPI :

  • Les broches D5 (SCK) et D7 (MOSI) sur l'ESP8266 doivent être utilisées. Si un autre modèle de carte ESP8266 est utilisé, consultez la documentation officielle pour trouver les broches SPI équivalentes.
  • La broche D8 (CS) peut être configurée sur n’importe quelle broche de la carte ESP8266.

Comment programmer pour une matrice LED

Ce n'est pas une tâche simple de contrôler la matrice LED. Heureusement, des bibliothèques sont disponibles qui facilitent grandement la tâche. Voici un guide étape par étape sur comment écrire le code ESP8266 pour contrôler la matrice LED :

  • Intégrer des bibliothèques :
#include <MD_Parola.h> #include <MD_MAX72xx.h>
  • Indiquez le type de matériel à utiliser : GENERIC_HW ou FC16_HW.
#define HARDWARE_TYPE MD_MAX72XX::FC16_HW
  • Précisez le nombre de blocs de LED utilisés. Par exemple, une matrice LED 4-en-1 contient 4 blocs.
#define MAX_DEVICES 4
  • Spécifiez la broche qui est connectée à la broche CS de la matrice LED. Par exemple, la broche D3.
#define CS_PIN D8
  • Générez un objet MD_Parola à utiliser avec l'affichage de la matrice LED.
MD_Parola ledMatrix = MD_Parola(HARDWARE_TYPE, CS_PIN, MAX_DEVICES);
  • Code situé dans la fonction setup() :
void setup() { ledMatrix.begin(); // initialiser l'objet ledMatrix.setIntensity(0); // régler la luminosité de l'affichage de la matrice LED (de 0 à 15) ledMatrix.displayClear(); // effacer l'affichage de la matrice LED }
  • Affichez du texte, des valeurs numériques et des effets animés : reportez-vous à la section suivante.

ESP8266 - Code de la matrice de LED

Ce code convient à un affichage matriciel LED FC-16 de 32x8 composé de quatre blocs. Il peut être facilement adapté à d'autres tailles telles que 8x8, 16x8 et 64x8.

/* * Ce code ESP8266 NodeMCU a été développé par newbiely.fr * Ce code ESP8266 NodeMCU 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/esp8266/esp8266-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 D8 // 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

Pour commencer avec l'ESP8266 sur l'Arduino IDE, suivez ces étapes :

  • Consultez le tutoriel comment configurer l'environnement pour ESP8266 sur Arduino IDE si c'est la première fois que vous utilisez ESP8266.
  • Câblez les composants comme indiqué dans le schéma.
  • Connectez la carte ESP8266 à votre ordinateur à l’aide d’un câble USB.
  • Ouvrez Arduino IDE sur votre ordinateur.
  • Choisissez la bonne carte ESP8266, telle que (par exemple, NodeMCU 1.0 (Module ESP-12E)), et son port COM respectif.
  • Connectez l'ESP8266 à la matrice LED comme indiqué dans le schéma de câblage.
  • Connectez l'ESP8266 à un PC avec un câble USB.
  • Cliquez sur l'icône Libraries dans la barre gauche de l'Arduino IDE.
  • Recherchez “MD_Parola”, puis localisez la bibliothèque MD_Parola.
  • Appuyez sur le bouton Install.
Bibliothèque MD_Parola ESP8266 NodeMCU
  • Vous serez invité à installer la bibliothèque « MD_MAX72XX »
  • Cliquez sur le bouton Install All pour installer la dépendance.
Bibliothèque ESP8266 NodeMCU MD_MAX72XX
  • Le message
  • Copiez le code et ouvrez-le avec l'IDE Arduino.
  • Cliquez sur le bouton Upload de l'IDE Arduino pour compiler et téléverser le code sur l'ESP8266.
  • Regardez la matrice LED affichant le message.

Code ESP8266 pour matrice de LED – Texte défilant

Si un message est trop long pour être affiché sur une matrice LED, l'effet de défilement de texte peut être utilisé. Cela permet de voir l'intégralité du message.

Ce code ESP8266 montre comment faire défiler un message sur un affichage matriciel à LED.

/* * Ce code ESP8266 NodeMCU a été développé par newbiely.fr * Ce code ESP8266 NodeMCU 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/esp8266/esp8266-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 D8 // 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("ESP8266", PA_CENTER, PA_SCROLL_LEFT, 100); } void loop() { if (ledMatrix.displayAnimate()) { ledMatrix.displayReset(); } }

Si vous recherchez d'autres effets de texte, consultez la Référence de la bibliothèque MD_Parola.

Vidéo

※ 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!