ESP32 - Matrice LED

Ce tutoriel vous explique comment utiliser l'ESP32 avec des modules d'affichage à matrice LED. En détail, vous apprendrez :

Ensuite, vous pouvez facilement modifier le code pour différentes matrices LED, comme celles de 16×8 ou 64×8.

Matrice LED ESP32 MicroPython

Préparation du matériel

1×Module de développement ESP32 ESP-WROOM-32
1×Câble USB Type-A vers Type-C (pour PC USB-A)
1×Câble USB Type-C vers Type-C (pour PC USB-C)
1×FC-16 LED Matrix 32x8
1×FC-16 LED Matrix 8x8
1×Fils de connexion
1×Connecteur d'alimentation DC
1×5V Power Adapter
1×Recommandé: Carte d'extension à bornier à vis pour ESP32
1×Recommandé: Breakout Expansion Board for ESP32
1×Recommandé: Répartiteur d'alimentation pour ESP32

Ou vous pouvez acheter les kits suivants:

1×Kit de Démarrage DIYables ESP32 (ESP32 inclus)
1×Kit de Capteurs DIYables (30 capteurs/écrans)
1×Kit de Capteurs DIYables (18 capteurs/écrans)
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 à matrice LED

Il existe différents types de matrices LED, mais la matrice LED basée sur le MAX7219 est largement utilisée avec l'ESP32. La matrice LED basée sur le MAX7219 offre les fonctionnalités suivantes :

  • L'unité fondamentale d'une matrice LED est un bloc.
  • Chaque bloc contient une matrice LED 8×8 (64 LEDs) et un pilote MAX7219.
  • Vous pouvez créer des matrices LED en utilisant un seul bloc ou en enchaînant plusieurs blocs ensemble.
  • Des matrices LED pré-assemblées avec plusieurs blocs sont disponibles, telles que des configurations 4-en-1 ou 8-en-1.
  • Sinon, vous pouvez acheter des blocs individuels et les connecter pour former une matrice de la taille que vous préférez, avec la possibilité d'enchaîner des matrices LED 1-en-1, 4-en-1 ou 8-en-1.
  • La taille de la matrice LED doit être spécifiée dans votre code ESP32.

Schéma des broches

Schéma de brochage de la matrice LED

Une matrice LED se compose d'une ou plusieurs sections. Chaque section comporte deux types de connecteurs :

  • Groupe de broches d'entrée :
    • VCC : Connectez-le au 5 V.
    • GMD : Connectez-le à la masse.
    • DIN : Il s'agit de la broche de données. Connectez-la à la broche SPI MOSI sur l'ESP32.
    • CS : Sélection de puce. Connectez-la à n'importe quelle broche numérique sur l'ESP32.
    • CLK : Broche d'horloge. Connectez-la à la broche SPI CLK sur l'ESP32.
  • Groupe de broches de sortie :
    • VCC : Connectez-le au VCC sur le module suivant.
    • GND : Connectez-le à GMD sur le module suivant.
    • DOUT : Sortie de données. Connectez-la à la broche DIN sur le module suivant.
    • CS : Connectez-le au CS sur le module suivant.
    • CLK : Connectez-le au CLK sur le module suivant.

Diagramme de câblage

Étant donné que l’affichage consomme une quantité importante d’énergie (jusqu’à 1 A à pleine luminosité), il est recommandé de ne pas l’alimenter via la broche 5 V de l’Arduino. À la place, utilisez une alimentation externe de 5 V, ce qui permet à l’Arduino et à la matrice LED de partager l’alimentation à partir du même adaptateur 5 V.

Si la matrice LED n'a qu'un seul bloc :

  • Connectez les groupes de broches d'entrée à l'ESP32.
  • Ne connectez pas les groupes de broches de sortie.
Schéma de câblage d'une matrice LED 8×8 FC-16 pour ESP32 MicroPython

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Si la matrice LED est déjà assemblée en plusieurs sections :

  • Connectez le groupe de broches d'entrée à l'ESP32.
  • Ne connectez pas le groupe de broches de sortie.
Schéma de câblage d'un afficheur à matrice LED ESP32 MicroPython

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Si vous assemblez la matrice LED en utilisant des composants différents :

  • Connectez les broches d'entrée du premier bloc à l'ESP32.
  • Connectez les broches de sortie de chaque bloc aux broches d'entrée du bloc suivant.
  • Ne connectez pas les broches de sortie du dernier bloc.
ESP32 MicroPython câblage de la matrice LED 32x8 - schéma FC-16

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

ESP32 - Code de matrice LED

Le code MicroPython ESP32 ci-dessous est destiné à un afficheur matriciel LED FC-16 de 32x8 avec quatre blocs. Cependant, il peut être modifié pour fonctionner avec différentes tailles, telles que 8x8, 16x8, 64x8 et d'autres tailles.

/* * Ce code ESP32 MicroPython a été développé par newbiely.fr * Ce code ESP32 MicroPython 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-micropython/esp32-micropython-led-matrix */ from machine import Pin, SPI from time import sleep from DIYables_MicroPython_LED_Matrix import Max7219 # Initialize SPI and CS pin spi = SPI(1, baudrate=10000000, polarity=0, phase=0, sck=Pin(18), mosi=Pin(23)) cs = Pin(21, Pin.OUT) # Initialize the Max7219 class display = Max7219(spi, cs, num_matrices=4) display.set_brightness(15) # Adjust brightness from 0 to 15 # Clear the display display.clear() # Render text on the display display.print("34°C", col = 2) display.show()

Étapes rapides

Veuillez suivre ces instructions étape par étape :

  • Assurez-vous que l'IDE Thonny est installé sur votre ordinateur.
  • Assurez-vous que le firmware MicroPython est installé sur votre carte ESP32.
  • Si c'est la première fois que vous utilisez un ESP32 avec MicroPython, reportez-vous au tutoriel ESP32 - Premiers pas. pour des instructions détaillées.
  • Connectez la carte ESP32 à la matrice LED selon le schéma fourni.
  • Connectez la carte ESP32 à votre ordinateur avec un câble USB.
  • Ouvrez l'IDE Thonny sur votre ordinateur.
  • Dans l'IDE Thonny, allez dans Outils Options.
  • Sous l'onglet Interpréteur, choisissez MicroPython (ESP32) dans le menu déroulant.
  • Assurez-vous que le bon port est sélectionné. L'IDE Thonny le détecte généralement automatiquement, mais vous devrez peut-être le sélectionner manuellement (comme COM12 sur Windows ou /dev/ttyACM0 sur Linux).
  • Accédez à Outils Gérer les paquets dans l'IDE Thonny.
  • Recherchez “DIYables-MicroPython-LED-Matrix”, puis trouvez la bibliothèque LED Matrix créée par DIYables.
  • Cliquez sur DIYables-MicroPython-LED-Matrix, puis cliquez sur le bouton Install pour installer la bibliothèque LED Matrix.
Bibliothèque MicroPython pour matrice LED ESP32
  • Copiez le code ci-dessus et collez-le dans l'éditeur de l'IDE Thonny.
  • Enregistrez le script sur votre carte ESP32 en procédant comme suit :
    • Cliquez sur le bouton Enregistrer, ou utilisez les touches Ctrl+S.
    • Dans la boîte de dialogue d'enregistrement, vous verrez deux sections : Cet ordinateur et appareil MicroPython. Sélectionnez l'appareil MicroPython
    • Enregistrez le fichier sous main.py
  • Cliquez sur le bouton vert Run (ou appuyez sur F5) pour exécuter le script. Le script s'exécutera.
  • Regardez la matrice LED. Elle ressemble à ce qui suit ci-dessous :
Affichage de texte sur matrice LED avec ESP32 MicroPython

L'éclairage réel de l'affichage semble bien meilleur que sur la photo. L'appareil photo ne peut pas capturer avec précision les vraies couleurs de l'éclairage.

Code de matrice LED MicroPython ESP32 – Texte défilant

Lorsque votre message est trop long pour l'affichage de la matrice LED, vous pouvez le faire défiler sur l'écran. Le code MicroPython ci-dessous pour l'ESP32 montre comment faire défiler un message sur l'affichage de la matrice LED.

/* * Ce code ESP32 MicroPython a été développé par newbiely.fr * Ce code ESP32 MicroPython 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-micropython/esp32-micropython-led-matrix */ from machine import Pin, SPI from time import sleep from DIYables_MicroPython_LED_Matrix import Max7219 # Initialize SPI and CS pin spi = SPI(1, baudrate=10000000, polarity=0, phase=0, sck=Pin(18), mosi=Pin(23)) cs = Pin(21, Pin.OUT) # Initialize the Max7219 class display = Max7219(spi, cs, num_matrices=4) display.set_brightness(15) # Adjust brightness from 0 to 15 def scroll_text(message): # Scroll the message from right to left display.print(message, col = 32) # Text starts from the right (x=32) and moves left for i in range(len(message) * 8 + 32): # Scroll through the entire message display.clear() display.print(message, col = 32 - i) # Move text from right to left display.show() sleep(0.05) # change speed here while True: scroll_text("Hello, DIYables") # Change text as needed

Étapes rapides

  • Copiez le code MicroPython ESP32 fourni et collez-le dans l'éditeur de Thonny.
  • Enregistrez le code MicroPython sur votre carte ESP32.
  • Cliquez sur le bouton vert Exécuter (ou appuyez sur F5) pour exécuter le code.
  • Regardez la matrice LED. L'effet de défilement ressemble à ce qui suit :

ESP32 MicroPython Matrice LED - Caractère personnalisé

Pour afficher des caractères spéciaux ou des symboles tels qu'un cœur ou un oiseau en colère sur un affichage à matrice LED, vous devez utiliser le générateur de caractères.

Le générateur de personnages crée un personnage (64 pixels). Il vous suffit de suivre ces étapes :

Click on each pixel to select/deselect


Copy below custom character code
Replace the custom_char in the ESP32 MicroPython code

Le code MicroPython ESP32 ci-dessous affiche trois caractères personnalisés sur la matrice LED 32×8 :

/* * Ce code ESP32 MicroPython a été développé par newbiely.fr * Ce code ESP32 MicroPython 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-micropython/esp32-micropython-led-matrix */ from machine import Pin, SPI from time import sleep from DIYables_MicroPython_LED_Matrix import Max7219 # Initialize SPI and CS pin spi = SPI(1, baudrate=10000000, polarity=0, phase=0, sck=Pin(18), mosi=Pin(23)) cs = Pin(21, Pin.OUT) # Initialize the Max7219 class display = Max7219(spi, cs, num_matrices=4) display.set_brightness(15) # Adjust brightness from 0 to 15 # Clear the display display.clear() display.show() custom_char_1 = [ 0b00000000, 0b00000000, 0b00000000, 0b11110000, 0b00000000, 0b00000000, 0b00000000, 0b00000000 ] custom_char_2 = [ 0b00000000, 0b01101100, 0b10010010, 0b10000010, 0b10000010, 0b01000100, 0b00101000, 0b00010000 ] custom_char_3 = [ 0b00000000, 0b00100000, 0b00010000, 0b11111000, 0b00010000, 0b00100000, 0b00000000, 0b00000000 ] # Clear the display display.clear() display.print_custom_char(custom_char_1, col = 0) display.print_custom_char(custom_char_2, col = 4) display.print_custom_char(custom_char_3, col = 11) display.show()

Étapes rapides

  • Copiez le code MicroPython ESP32 fourni et collez-le dans l’éditeur de Thonny.
  • Enregistrez le code MicroPython sur votre carte ESP32.
  • Cliquez sur le bouton vert Exécuter (ou appuyez sur F5) pour exécuter le code.
  • Jetez un coup d'œil à la matrice LED. Elle ressemble à ce qui suit :
ESP32 MicroPython - caractères personnalisés pour matrice LED

Tutoriels connexes

※ NOS MESSAGES

  • N'hésitez pas à partager le lien de ce tutoriel. Cependant, veuillez ne pas utiliser notre contenu sur d'autres sites web. Nous avons investi beaucoup d'efforts et de temps pour créer ce contenu, veuillez respecter notre travail !