Arduino, Tutoriels

Comment utiliser 8×8 LED matrice avec MAX7219 module pour Arduino

Schéma De Connexion 8×8 Led Matrice Avec Max7219 Module Pour Arduino

Introduction

Les matrices de LED 8×8 avec le module MAX7219 sont des dispositifs polyvalents qui permettent d’afficher des images, du texte, des symboles et même des animations sur un petit écran à LED. Ce guide complet vous présentera tout ce que vous devez savoir sur ces matrices et comment les utiliser avec votre carte Arduino.

Présentation des matrices de LED

8×8 Led Matrice Avec Max7219 Est D'Écran Composés De 64 Led (8 Lignes X 8 Colonnes) Organisées En Grille.
8×8 LED matrice avec MAX7219

Les matrices de LED 8×8 sont des écrans composés de 64 LED (8 lignes x 8 colonnes) organisées en grille. Chaque LED peut être contrôlée individuellement, ce qui permet de créer une grande variété d’images et de motifs. Ces matrices sont largement utilisées dans les projets électroniques pour afficher des informations visuelles de manière simple et efficace.

1.1 Avantages de la puce MAX7219

La puce MAX7219 est un contrôleur très populaire pour les matrices de LED. Elle facilite grandement l’utilisation de ces matrices en réduisant le nombre de broches nécessaires pour les contrôler. Avec le module MAX7219, vous pouvez connecter plusieurs matrices en cascade, ce qui permet de créer des affichages plus grands et plus complexes sans nécessiter une grande quantité de connexions.

1.2 Configuration du module avec la puce MAX7219

Le module MAX7219 est généralement constitué d’une puce MAX7219, d’un certain nombre de matrices de LED 8×8 et d’une interface série périphérique (SPI) pour communiquer avec l’Arduino. La configuration du module est relativement simple, avec seulement quelques broches à connecter entre l’Arduino et le module.

Montage et Connexion

2.1 Schéma de montage pour une seule matrice

Pour commencer, vous pouvez connecter une seule matrice de LED 8×8 à votre Arduino pour vous familiariser avec son fonctionnement. Le schéma de montage est simple : reliez les broches VCC et GND du module aux broches +5V et GND de l’Arduino, et connectez les broches DIN, CS et CLK aux broches appropriées de l’Arduino (par exemple, D11, D9 et D13).

Schéma De Connexion De Matrice De Led 8X8 Avec Arduino
Schéma de connexion d’une matrice de LED 8×8 avec Arduino

2.2 Schéma de montage pour plusieurs matrices en cascade

Pour créer des affichages plus grands et plus intéressants, vous pouvez connecter plusieurs matrices en cascade. Pour cela, connectez la sortie DOUT de la première matrice à l’entrée DIN de la suivante. Continuez cette connexion en série pour chaque matrice supplémentaire. Assurez-vous également d’alimenter suffisamment le circuit en fournissant une alimentation externe adéquate.

Schéma De Montage Pour Plusieurs Matrices  Led 8X8 En Cascade Avec Arduino
Schéma de montage pour plusieurs matrices LED 8×8 en cascade avec Arduino

Programmation : Affichage d’un point sur la matrice

3.1 Utilisation de la bibliothèque Max72xxPanel

Pour contrôler facilement les matrices avec la puce MAX7219, vous pouvez utiliser la bibliothèque Max72xxPanel. Cette bibliothèque simplifie la gestion des matrices et vous permet d’afficher des images et des motifs en quelques lignes de code.

3.2 Exemple de code pour allumer et éteindre un point

Voici un exemple de code pour allumer et éteindre un point sur la matrice :

#include <SPI.h>
#include <Adafruit_GFX.h>
#include <Max72xxPanel.h>

int pinCS = 9;
int numberOfHorizontalDisplays = 1;
int numberOfVerticalDisplays = 1;

Max72xxPanel matrix = Max72xxPanel(pinCS, numberOfHorizontalDisplays, numberOfVerticalDisplays);

void setup() {
    matrix.setIntensity(7); // Réglez l'intensité lumineuse (de 0 à 15)
}

void loop() {
    matrix.drawPixel(3, 4, HIGH); // Allume le point aux coordonnées {3, 4}
    matrix.write(); // Affiche le point sur la matrice
    delay(300);
    matrix.drawPixel(3, 4, LOW); // Éteint le point
    matrix.write();
    delay(300);
}

Programmation : Affichage d’un smiley sur la matrice

4.1 Création d’un motif pour le smiley

Pour afficher un smiley sur la matrice, vous pouvez définir un motif personnalisé. Le motif est représenté sous forme d’un tableau binaire de 8 octets (8×8). Chaque bit du tableau correspond à une LED de la matrice, et son état (0 ou 1) détermine si la LED est allumée ou éteinte.

4.2 Exemple de code pour afficher le smiley

Voici un exemple de code pour afficher un smiley sur la matrice :

#include <SPI.h>
#include <Adafruit_GFX.h>
#include <Max72xxPanel.h>

int pinCS = 9;
int numberOfHorizontalDisplays = 1;
int numberOfVerticalDisplays = 1;

Max72xxPanel matrix = Max72xxPanel(pinCS, numberOfHorizontalDisplays, numberOfVerticalDisplays);

const byte data[8] = {
    0b00111100,
    0b01000010,
    0b10100101,
    0b10000001,
    0b10100101,
    0b10011001,
    0b01000010,
    0b00111100
};

void setup() {
    matrix.setIntensity(7); // Réglez l'intensité lumineuse (de 0 à 15)

    matrix.fillScreen(LOW); // Efface la matrice
    for ( int y = 0; y < 8; y++ ) {
        for ( int x = 0; x < 8; x++ ) {
            // Allume le point à la position {x, y} en fonction des données du tableau
            matrix.drawPixel(x, y, data[y] & (1<<x));
        }
    }
    matrix.write(); // Affiche le smiley sur la matrice
}

void loop() {
}

Affichage de texte avec la bibliothèque Adafruit_GFX_Library

5.1 Utilisation de la bibliothèque pour afficher du texte

La bibliothèque Adafruit_GFX_Library offre une fonction pratique pour afficher du texte sur la matrice. Vous pouvez utiliser la fonction drawChar pour afficher chaque caractère du texte.

5.2 Exemple de code pour afficher une phrase en défilement

Voici un exemple de code pour afficher une phrase en défilement sur la matrice :

#include <SPI.h>
#include <Adafruit_GFX.h>
#include <Max72xxPanel.h>

int pinCS = 9;
int numberOfHorizontalDisplays = 6; 
int numberOfVerticalDisplays = 1; 

Max72xxPanel matrix = Max72xxPanel(pinCS, numberOfHorizontalDisplays, numberOfVerticalDisplays);

String tape = "RobotClass.ru"; 
int wait = 20; 

int spacer = 1; 
int width = 5 + spacer; 
void setup() {
    matrix.setIntensity(7); 
}

void loop() {
    for ( int i = 0 ; i < width * tape.length() + matrix.width() - 1 - spacer; i++ ) {
        matrix.fillScreen(LOW);

        int letter = i / width;
        int x = (matrix.width() - 1) - i % width;
        int y = (matrix.height() - 8) / 2; // center the text vertically

        while ( x + width - spacer >= 0 && letter >= 0 ) {
            if ( letter < tape.length() ) {
                matrix.drawChar(x, y, tape[letter], HIGH, LOW, 1);
            }
            letter--;
            x -= width;
        }

        matrix.write();
        delay(wait);
    }
}
Résultat De Téléverser Ce Code À Gauche Sur Des Matrices  Led 8X8 En Cascade Avec Arduino
Résultat de téléverser ce code ci-dessus sur des matrices LED 8×8 en cascade

Conclusion

En utilisant les matrices de LED 8×8 avec le module MAX7219 pour Arduino, vous pouvez créer des affichages visuels étonnants, des horloges numériques élégantes, des jeux amusants et bien plus encore. Ce guide complet vous a fourni les connaissances de base pour commencer à utiliser ces matrices et vous a présenté des exemples de code pour diverses applications. Avec un peu de créativité, vous pouvez réaliser des projets électroniques impressionnants en utilisant ces dispositifs polyvalents. Amusez-vous bien avec vos projets Arduino !

Vidéo descriptif

Pour plus d’articles : https://www.moussasoft.com/tutoriels-electroniques

Twitter: Moussa Lhoussaine (@Moussasoft_com) / Twitter