Raspberry Pi/Matrice de led
Raspberry Pi et matrice de led.
Il est possible de réaliser un système d'information textuel à l'aide de matrice de led.
Généralité
le site Joy-it propose du matériel pour Raspberry Pi.
La matrice de led :
- https://joy-it.net/en/products/RB-LEDMatrix
- modèle :
P3-64X64-32S-2012-18G-1.2 - modèle :
P3-64X64-2012-20B-1.2
- modèle :
Ce projet pour utiliser cette matrice de leds en tant qu'avertisseur lumineux à l'arrière du véhicule :
- informer le véhicule qui suit qu'il est trop près ;
- émettre un message sous forme d'image ;
- ...
Exemples de réalisation
Adafruit :
Gadget Reboot, 64x64 RGB LED Matrix Panel - SmartMatrix and Teensy 3.6 :
iot-for-maker :
- projet avec 4 dalles de 64x32 : demande une alimentation de 5 V par 10 A !
- https://iot-for-maker.blogspot.com/2020/04/led-multilingual-led-matrix-output.html
Prérequis I
Programme pour préparer la carte SD : Raspberry Pi Imager
Image du système : 2021-10-30-raspios-bullseye-armhf-lite.zip
- https://downloads.raspberrypi.org/raspios_lite_armhf/images/raspios_lite_armhf-2021-11-08/2021-10-30-raspios-bullseye-armhf-lite.zip
- une fois l'archive ZIP télécharger, en extraire le fichier
2021-10-30-raspios-bullseye-armhf-lite.img.
- une fois l'archive ZIP télécharger, en extraire le fichier
Installer l'image sur la carte SD
- lancer le programme Raspberry Pi Imager ;
- pour le système d'exploitation à installer, choisir le fichier
2021-10-30-raspios-bullseye-armhf-lite.img - pour le support SD Card, sélectionner la carte mémoire choisie.
Paramétrage minimum
Préparer le fichier ... avec le contenu suivant pour les paramètres de réseau sans-fil :
country=FR # France
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
## WPA/WPA2 secured
network={
ssid="Livebox-1234"
psk="C69EB296D9430EA161AC9CA763"
}
Créer le fichier vide suivant : ssh à la racine du lecteur "boot". Cela permet d'activer le mode de connexion SSH.
Les identifiants par défaut sont :
- compte :
pi - mot de passe
raspberry
Après le premier démarrage avec ces éléments, les fichiers de configuration sont effacés, mais le paramétrage conservé dans les emplacements habituels du système Raspberry Pi.
Mise à jour
Une fois connecté en SSH :
sudo apt updatesudo apt upgradesudo apt full-upgrade: pour une mise à jour complète,
sudo reboot
Installation d'outils et paramétrage
Référence : https://joy-it.net/files/files/Produkte/RB-MatrixCtrl/RB-MatrixCtrl_Manual_2021-08-05.pdf
sudo apt-get updatesudo apt-get install gitgit clone https://github.com/hzeller/rpi-rgb-led-matrixsudo nano /boot/config.txt
Exemple
Premier exemple :
cd rpi-rgb-led-matrix sudo examples-api-use/demo -D 0 --led-rows=64 --led-cols=64
Deuxième exemple :
cd rpi-rgb-led-matrix sudo examples-api-use/demo -D 0 --led-rows=64 --led-cols64 --led-slowdown-gpio=2
Troisième exemple :
cd bindings/python/samples sudo ./runtext.py
Quatrième exemple :
cd /home/pi/rpi-rgb-led-matrix/utils sudo ./led-image-viewer beispiel.gif
Cinquième exemple pour une rangé de trois dalles (3 x 64 = 196) :
cd /rpi-rgb-led-matrix/bindings/python/samples sudo ./runtext.py --led-rows=64 --led-cols=196 --led-brightness=100 -t="Bonne nuit ! et fais de beaux rêves"
Script
#!/usr/bin/env python
# Display a runtext with double-buffering.
from samplebase import SampleBase
from rgbmatrix import graphics
import time
class RunText(SampleBase):
def __init__(self, *args, **kwargs):
super(RunText, self).__init__(*args, **kwargs)
self.parser.add_argument("-t", "--text", help="The text to scroll on the RGB LED panel", default="Philippe")
def run(self):
offscreen_canvas = self.matrix.CreateFrameCanvas()
font = graphics.Font()
font.LoadFont("../../../fonts/texgyre-27.bdf")
#font.LoadFont("../../../fonts/9x15B.bdf")
## polices disponibles
# par défaut, moyenne taille : 7x13.bdf
# autre moyenne taille : 9x15B.bdf
# grande taille : 10x20.bdf
# très grande taille : texgyre-27.bdf
textColor = graphics.Color(0, 255, 0)
pos = offscreen_canvas.width
decal_haut = 40
vitesse = 2 # de 1 à 10 ; 1 le plus rapide à 10 le plus lent
my_text = self.args.text
while True:
offscreen_canvas.Clear()
len = graphics.DrawText(offscreen_canvas, font, pos, decal_haut, textColor, my_text)
pos -= 1/vitesse
if (pos + len < 0):
pos = offscreen_canvas.width
offscreen_canvas = self.matrix.SwapOnVSync(offscreen_canvas)
# Main function
if __name__ == "__main__":
run_text = RunText()
if (not run_text.process()):
run_text.print_help()
Liste des polices disponibles
10x20.bdf 5x8.bdf 6x13B.bdf 6x9.bdf 7x13O.bdf 8x13B.bdf 9x15B.bdf 9x18.bdf helvR12.bdf texgyre-27.bdf 4x6.bdf 6x10.bdf 6x13.bdf 7x13B.bdf 7x14B.bdf 8x13.bdf 9x15.bdf AUTHORS README tom-thumb.bdf 5x7.bdf 6x12.bdf 6x13O.bdf 7x13.bdf 7x14.bdf 8x13O.bdf 9x18B.bdf clR6x12.bdf README.md
Prérequis
Putty :
- site de Simon Tatham :
- lien de téléchargement :
Win32 Disk Imager : pour la gestion des images ISO :
Raspberry Pi
Avec Arduino
Refrigerator Checker :
How to control 8x8 1088AS LED Matrix with Arduino, without drivers and libraries. Multiplexing :
- Mario's Ideas, https://www.youtube.com/channel/UC_YUPxLXSRu_4_zCO27kRww
How to control 8x8 dot Matrix with MAX7219 and Arduino
- Mario's Ideas, https://www.youtube.com/channel/UC_YUPxLXSRu_4_zCO27kRww