Raspberry Pi et matrice de led

De Kono Phil Ceci est la tagline
Aller à la navigation Aller à la recherche

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 :

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 :

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

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 update
  • sudo apt upgrade
    • sudo 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 update
  • sudo apt-get install git
  • git clone https://github.com/hzeller/rpi-rgb-led-matrix
  • sudo 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

Win32 Disk Imager : pour la gestion des images SIO :

Raspberry Pi

Avec Arduino

Refrigerator Checker :

How to control 8x8 1088AS LED Matrix with Arduino, without drivers and libraries. Multiplexing :

How to control 8x8 dot Matrix with MAX7219 and Arduino

Voir aussi