Arduino - Matrice de LED

L'affichage matriciel LED, également connu sous le nom d'affichage LED ou d'affichage matriciel à points, est largement utilisé. Dans ce tutoriel, nous allons apprendre :

Après cela, vous pouvez 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×Arduino Uno
1×USB 2.0 cable type A/B
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 Arduino
1×(Recommended) Screw Terminal Block Shield for Arduino Uno
1×(Optional) Transparent Acrylic Enclosure For Arduino Uno

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 Arduino, la matrice LED basée sur MAX7219 est largement utilisée. La matrice LED basée sur MAX7219 possède les caractéristiques suivantes :

  • L'unité de base d'une matrice LED est un bloc.
  • Chaque bloc possède une matrice LED 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 Arduino.

Brochage

Schéma des broches de la matrice LED

Une matrice LED est constituée d'un ou plusieurs blocs. Chaque bloc comprend deux groupes de broches :

  • Groupe de broches d'entrée :
    • VCC : connecté à 5V.
    • GND : connecté à GND.
    • DIN est la broche de données, connectez-la à la broche SPI MOSI de l'Arduino.
    • CS : Sélection de puce, connectez-la à n'importe quelle broche numérique de l'Arduino.
    • CLK : broche d'horloge, connectez-la à la broche CLK SPI de l'Arduino.
  • Groupe de broches de sortie :
    • VCC : se connecte au VCC du module suivant.
    • GND : se connecte au GND du module suivant.
    • DOUT : Sortie de données, se connecte à la broche DIN du module suivant.
    • CS : se connecte au CS du module suivant.
    • CLK se connecte au CLK du 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 à Arduino
  • Laissez le groupe de broches de sortie déconnecté
Schéma de câblage de la matrice LED 8x8 FC-16 Arduino

This image is created using Fritzing. Click to enlarge image

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

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'Arduino
  • Laissez le groupe de broches de sortie déconnecté
Schéma de câblage de l'afficheur à matrice de LED Arduino

This image is created using Fritzing. Click to enlarge image

Si la matrice LED est composée de plusieurs blocs assemblés par vos soins :

  • Connectez les groupes de broches d'entrée du premier bloc à Arduino
  • 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 Arduino FC-16

This image is created using Fritzing. Click to enlarge image

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

This image is created using Fritzing. Click to enlarge image

Car l'affichage consomme beaucoup de courant (jusqu'à 1A à la luminosité maximale) :

  • N'utilisez pas l'alimentation du pin 5V de l'Arduino.
  • Utilisez plutôt une alimentation externe de 5V. L'Arduino et la matrice de LED peuvent partager l'alimentation à partir d'un adaptateur de 5V.

Car Arduino se connecte à la matrice LED via les broches SPI :

  • La broche 13 (SCK) et la broche 11 (MOSI) sur l'Arduino Uno doivent être utilisées. Si vous utilisez une autre carte Arduino, consultez la documentation officielle pour les broches SPI équivalentes.
  • La broche 3 (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 LED. Heureusement, des bibliothèques sont disponibles pour faciliter la tâche. Voici un guide étape par étape sur la façon d'écrire le code Arduino pour contrôler la matrice LED.

  • Inclure les bibliothèques :
#include <MD_Parola.h> #include <MD_MAX72xx.h>
  • Précisez quel matériel est utilisé : 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 qui se connecte à la broche CS de la matrice de LED. Par exemple, la broche D3.
#define CS_PIN 3
  • 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(); // 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 }
  • Afficher du texte, un numéro et montrer des effets animés : voir la partie suivante.

Arduino - Code de 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 Arduino a été développé par newbiely.fr * Ce code Arduino 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/arduino/arduino-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 3 // 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 } 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

  • Connectez l'Arduino à la matrice de LED selon le schéma de câblage ci-dessus.
  • Connectez l'Arduino au PC via un câble USB.
  • Accédez à l'icône Libraries sur la barre latérale gauche de l'IDE Arduino.
  • Recherchez « MD_Parola », puis trouvez la bibliothèque MD_Parola.
  • Cliquez sur le bouton Install.
Bibliothèque Arduino MD_Parola
  • Vous serez invité à installer la bibliothèque MD_MAX72XX pour dépendance. Cliquez sur le bouton Install All.
Bibliothèque Arduino 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 vers Arduino
  • Regardez l'affichage de la matrice LED

Code Arduino pour matrice LED – Texte défilant

Lorsque vous souhaitez imprimer un long message qui est trop long pour tenir sur un affichage matriciel à LED, vous pouvez utiliser la technique de l'effet de défilement du texte.

Le code Arduino ci-dessous montre comment faire défiler un message sur l'affichage matriciel à LED.

/* * Ce code Arduino a été développé par newbiely.fr * Ce code Arduino 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/arduino/arduino-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 3 // 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("Hello", 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

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