Raspberry Pi - Matrice LED

Ce tutoriel vous explique comment utiliser Raspberry Pi avec un affichage à matrice LED. En détail, nous apprendrons :

Par la suite, personnaliser le code pour d'autres matrices LED telles que 16x8, 64x8, etc. est simple.

Préparation du matériel

1×Raspberry Pi 4 Model 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 Raspberry Pi
1×(Optional) Screw Terminal Block Shield for Raspberry Pi
1×(Optional) USB-C Power Cable with On/Off Switch for Raspberry Pi 4B
1×(Optional) Plastic Case and Cooling Fan for Raspberry Pi 4B
1×(Optional) HDMI Touch Screen Monitor for Raspberry Pi

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 du matriciel LED

Les affichages à matrice LED sont communément appelés affichages LED ou affichages à matrice de points.

Affichage à matrice LED

Les matrices LED existent en de nombreuses variétés. La matrice LED basée sur le MAX7219 est couramment utilisée avec le Raspberry Pi. Elle a les caractéristiques suivantes :

  • Un seul bloc comprend une unité de base d'une matrice LED, qui contient une matrice LED 8x8 (64 LED) et un pilote MAX7219.
  • Il existe deux types de blocs disponibles : le module générique et le module FC-16.
  • Vous pouvez créer une matrice LED avec un bloc ou plusieurs blocs connectés en chaîne.
  • Des matrices LED multi-blocs préfabriquées (par exemple 4-en-1, 8-en-1) sont également disponibles à l'achat.
  • Alternativement, vous pouvez acheter plusieurs blocs et les câbler ensemble pour former une matrice LED de la taille souhaitée.
  • Dans le code Raspberry Pi, vous devrez déclarer la taille de la matrice LED que vous utilisez.

Le brochage de la matrice LED

Brochage de la matrice LED

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

  • Groupe de broches d'entrée :
    • VCC : connecté à une alimentation de 5V.
    • GND : connecté à la masse.
    • DIN : broche de données, reliée à la broche GPIO10 (MOSI) du Raspberry Pi.
    • CS : Sélection de puce, reliée à la broche GPIO8 (SPI CE0) du Raspberry Pi.
    • CLK : broche d'horloge, reliée à la broche GPIO11 (SPI CLK) du Raspberry Pi.
  • Groupe de broches de sortie :
    • VCC : se connecte à VCC sur le module suivant.
    • GND : se connecte à GND sur le module suivant.
    • DOUT : sortie de données, se relie à la broche DIN du module suivant.
    • CS : se connecte à CS sur le module suivant.
    • CLK : se connecte à CLK sur le module suivant.

Diagramme de câblage

Si la matrice LED est composée d'un seul bloc :

  • Connectez le groupe de broches d'entrée au Raspberry Pi.
  • Laissez le groupe de broches de sortie déconnecté.
Schéma de câblage Raspberry Pi matrice LED 8x8 FC-16

This image is created using Fritzing. Click to enlarge image

Diagramme de câblage générique de la matrice LED 8x8 Raspberry Pi.

This image is created using Fritzing. Click to enlarge image

Si la matrice LED est pré-construite avec plusieurs blocs :

  • Connectez le groupe de broches d'entrée au Raspberry Pi
  • Laissez le groupe de broches de sortie non connecté
Diagramme de câblage de l'affichage matriciel à LED du Raspberry Pi

This image is created using Fritzing. Click to enlarge image

Si la matrice LED est composée de plusieurs blocs par vous-même :

  • Connectez les groupes de broches d'entrée du premier bloc au Raspberry Pi
  • Reliez les groupes de broches de sortie de chaque bloc aux groupes de broches d'entrée du bloc suivant
  • Laissez les groupes de broches de sortie du dernier bloc non connectés
Schéma de câblage FC-16 de la matrice LED 32x8 pour Raspberry Pi

This image is created using Fritzing. Click to enlarge image

Pour simplifier et organiser votre câblage, nous vous recommandons d'utiliser un Screw Terminal Block Shield pour Raspberry Pi. Ce shield garantit des connexions plus sûres et plus faciles à gérer, comme illustré ci-dessous :

Raspberry Pi Screw Terminal Block Shield

Puisque le Raspberry Pi est connecté à la matrice LED via les broches SPI :

  • Les broches GPIO9 (SCK) et GPIO11 (MOSI) du Raspberry Pi doivent être utilisées. Si vous utilisez une carte Raspberry Pi différente, consultez la documentation officielle pour connaître les broches SPI équivalentes.
  • La broche GPIO8 (CS) peut être modifiée pour n'importe quelle broche de la carte Raspberry Pi. Ce tutoriel utilise le GPIO25 pour la broche CS.

Raspberry Pi - Code pour matrice LED

Ce code Raspberry Pi est destiné à un afficheur à matrice LED 32x8 FC-16 avec quatre blocs. Il peut être facilement adapté pour des affichages 8x8, 16x8, 64x8... en modifiant la constante BLOCK_NUM dans le code.

Étapes rapides

  • Assurez-vous d'avoir Raspbian ou tout autre système d'exploitation compatible Raspberry Pi installé sur votre Pi.
  • Assurez-vous que votre Raspberry Pi est connecté au même réseau local que votre PC.
  • Assurez-vous que votre Raspberry Pi est connecté à Internet si vous avez besoin d'installer des bibliothèques.
  • Si c'est la première fois que vous utilisez Raspberry Pi, consultez Installation du logiciel - Raspberry Pi..
  • Connectez votre PC au Raspberry Pi via SSH en utilisant le client SSH intégré sur Linux et macOS ou PuTTY sur Windows. Consultez comment connecter votre PC au Raspberry Pi via SSH.
  • Assurez-vous d'avoir installé la bibliothèque RPi.GPIO. Sinon, installez-la en utilisant la commande suivante :
sudo apt-get update sudo apt-get install python3-rpi.gpio
pip install luma.led_matrix
  • Créez un fichier de script Python led_matrix.py et ajoutez le code suivant :
# Ce code Raspberry Pi a été développé par newbiely.fr # Ce code Raspberry Pi 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/raspberry-pi/raspberry-pi-led-matrix from luma.led_matrix.device import max7219 from luma.core.interface.serial import spi, noop from luma.core.virtual import viewport, sevensegment from time import sleep CS_PIN = 25 # Replace with your actual CS pin BLOCK_NUM = 4 # Replace with your block number HEIGHT = 8 WIDTH = 8 * BLOCK_NUM # Define SPI interface serial = spi(port=0, device=0, gpio=noop(), cs=CS_PIN) # Define LED matrix device device = max7219(serial, cascaded=BLOCK_NUM, block_orientation=-90) # Define virtual device virtual = viewport(device, width=WIDTH, height=HEIGHT) # Create instance of sevensegment for text display ledMatrix = sevensegment(virtual) def clear_display(): ledMatrix.text = " " sleep(1) def display_text(text, alignment): ledMatrix.text = text ledMatrix.text_align = alignment sleep(2) try: while True: clear_display() display_text("Left", "left") display_text("Center", "center") display_text("Right", "right") clear_display() display_text("Invert", "center") sleep(2) ledMatrix.text = "1234" sleep(2) except KeyboardInterrupt: pass finally: device.cleanup()
  • Enregistrez le fichier et exécutez le script Python en entrant la commande suivante dans le terminal :
python3 led_matrix.py
  • Découvrez la matrice LED affichant le texte.

Le script s'exécute en boucle infinie jusqu'à ce que vous appuyiez sur Ctrl + C dans le terminal.

Code de matrice LED Raspberry Pi – Texte défilant

Si un message est trop long pour être affiché sur un écran à matrice LED, l'effet de défilement du texte peut être utilisé pour l'imprimer.

Ce code Raspberry Pi illustre comment faire défiler un message sur l'affichage de la matrice de LED.

# Ce code Raspberry Pi a été développé par newbiely.fr # Ce code Raspberry Pi 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/raspberry-pi/raspberry-pi-led-matrix from luma.led_matrix.device import max7219 from luma.core.interface.serial import spi, noop from luma.core.virtual import viewport, sevensegment from luma.core.legacy import show_message from time import sleep CS_PIN = 25 # Replace with your actual CS pin BLOCK_NUM = 4 # Replace with your block number HEIGHT = 8 WIDTH = 8 * BLOCK_NUM # Define SPI interface serial = spi(port=0, device=0, gpio=noop(), cs=CS_PIN) # Define LED matrix device device = max7219(serial, cascaded=BLOCK_NUM, block_orientation=-90) # Define virtual device virtual = viewport(device, width=WIDTH, height=HEIGHT) # Create instance of sevensegment for text display ledMatrix = sevensegment(virtual) def clear_display(): ledMatrix.text = " " sleep(1) while True: if not device.is_animating(): ledMatrix.text = "Hello" show_message(device, ledMatrix.text, fill=None, font=None, scroll_delay=0.1) try: pass # Do other things if needed except KeyboardInterrupt: pass finally: device.cleanup()

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!