.. note:: Bonjour et bienvenue dans la communauté des passionnés de Raspberry Pi, Arduino et ESP32 de SunFounder sur Facebook ! Plongez dans l'univers du Raspberry Pi, d'Arduino et de l'ESP32 avec d'autres passionnés. **Pourquoi nous rejoindre ?** - **Assistance d'experts** : Résolvez vos problèmes après achat et vos défis techniques avec l'aide de notre communauté et de notre équipe. - **Apprendre et partager** : Échangez des astuces et des tutoriels pour perfectionner vos compétences. - **Aperçus exclusifs** : Accédez en avant-première aux annonces de nouveaux produits et aux aperçus. - **Réductions spéciales** : Profitez de réductions exclusives sur nos derniers produits. - **Promotions festives et concours** : Participez à des concours et promotions pendant les fêtes. 👉 Prêt à explorer et créer avec nous ? Cliquez sur [|link_sf_facebook|] et rejoignez-nous dès aujourd'hui ! .. _ar_matrix_module: 2.8 Module Matrice LED ========================= Aperçu --------- Dans cette leçon, vous allez découvrir le module matrice LED. Ce module utilise le pilote MAX7219 pour piloter une matrice LED de 8 x 8. Composants requis ------------------- .. image:: img/list_2.8.png * :ref:`cpn_mega2560` * :ref:`cpn_wires` * :ref:`cpn_matrix_module` Schéma de connexion --------------------- Dans cet exemple, connectez la broche VCC du MAX7219 à 5V, GND à la masse, DIN à la broche numérique 12, CS à la broche numérique 10 et CLK à la broche numérique 11. .. image:: img/image443.png Schéma électronique ---------------------- .. image:: img/image444.png Code ---- .. note:: * Vous pouvez ouvrir directement le fichier ``2.8_ledMatrix.ino`` situé dans le chemin ``sunfounder_vincent_kit_for_arduino\code\2.8_ledMatrix``. * La bibliothèque ``LedControl`` est utilisée ici ; vous pouvez l'installer via le **Gestionnaire de Bibliothèques**. .. image:: img/lib_ledcontrol.png :align: center .. raw:: html Après avoir téléchargé le code, vous verrez que les LED s'allument en suivant la séquence d'une colonne, d'une ligne ou d'un point, ou bien une image apparaîtra sur la matrice LED. Analyse du Code ------------------- En utilisant la bibliothèque LedControl.h, vous pouvez facilement contrôler la matrice LED. .. code-block:: arduino #include "LedControl.h" **Fonctions de la Bibliothèque**: .. code-block:: arduino LedControl(int dataPin,int clockPin,int csPin,int numDevices) Créez une instance de type LedControl pour communiquer avec les dispositifs MAX7219. L'initialisation de LedControl prend 4 arguments. * ``dataPin,clockPin,csPin`` : Les trois premiers arguments sont les numéros de broches sur l'Arduino connectés au MAX7219. Vous êtes libre de choisir n'importe quelle broche IO numérique, mais il est préférable d'éviter les broches 0, 1 et 13 car elles sont utilisées pour la communication série ou sont reliées à une LED. * ``numDevices`` : Le quatrième argument est le nombre de dispositifs MAX7219 en cascade que vous utilisez avec cette variable LedControl. La bibliothèque peut gérer jusqu'à 8 dispositifs à partir d'une seule variable LedControl. .. code-block:: arduino void shutdown(int addr, bool b) * ``addr`` : L'adresse de l'affichage à contrôler. * ``b`` : Si true, le dispositif passe en mode économie d'énergie. Si false, le dispositif passe en mode normal. .. code-block:: arduino void setIntensity(int addr, int intensity) Cette méthode permet de contrôler la luminosité en 16 niveaux. Des valeurs plus élevées rendent l'affichage plus lumineux, jusqu'à un maximum de 15. * ``addr`` : L'adresse de l'affichage à contrôler. * ``intensity`` : La luminosité de l'affichage. Seules les valeurs entre 0 (le plus sombre) et 15 (le plus lumineux) sont valides. .. code-block:: arduino void clearDisplay(int addr) Éteint toutes les LED. * ``addr`` : L'adresse de l'affichage à contrôler. .. code-block:: arduino void setLed(int addr, int row, int col, boolean state) Définit l'état d'une seule LED. * ``addr`` : L'adresse de l'affichage à contrôler. * ``row`` : La ligne de la LED (0..7). * ``col`` : La colonne de la LED (0..7). * ``state`` : Si true, la LED s'allume ; si false, elle s'éteint. .. code-block:: arduino void setRow(int addr, int row, byte value) Définit tous les 8 LEDs dans une ligne à un nouvel état. * ``addr`` : L'adresse de l'affichage à contrôler. * ``row`` : Ligne à configurer (0..7). * ``value`` : Chaque bit défini à 1 allumera la LED correspondante. (ex. B01000000 allumera la 2ème LED). .. code-block:: arduino void setColumn(int addr, int col, byte value) Définit tous les 8 LEDs dans une colonne à un nouvel état. * ``addr`` : L'adresse de l'affichage à contrôler. * ``col`` : Colonne à configurer (0..7). * ``value`` : Chaque bit défini à 1 allumera la LED correspondante. (ex. B01000000 allumera la 2ème LED). Illustration du Phénomène --------------------------- .. image:: img/image109.jpeg