« Raspberry Pi/Matrice de led » : différence entre les versions

Aller à la navigation Aller à la recherche
(15 versions intermédiaires par le même utilisateur non affichées)
Ligne 9 : Ligne 9 :
La matrice de led :
La matrice de led :
* https://joy-it.net/en/products/RB-LEDMatrix
* https://joy-it.net/en/products/RB-LEDMatrix
** modèle : <code>P3-64X64-32S-2012-18G-1.2</code>
** modèle : <code>P3-64X64-2012-20B-1.2</code>


Ce projet pour utiliser cette matrice de leds en tant qu'avertisseur lumineux à l'arrière du véhicule :
Ce projet pour utiliser cette matrice de leds en tant qu'avertisseur lumineux à l'arrière du véhicule :
Ligne 14 : Ligne 16 :
* émettre un message sous forme d'image ;
* émettre un message sous forme d'image ;
* ...
* ...
=== Exemples de réalisation ===
Adafruit :
* https://www.adafruit.com/product/3649
* https://www.youtube.com/watch?v=X3Ce89f873Y
Gadget Reboot, 64x64 RGB LED Matrix Panel - SmartMatrix and Teensy 3.6 :
* https://www.youtube.com/watch?v=bu308tAqyIw
iot-for-maker :
* 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
* https://downloads.raspberrypi.org/imager/imager_1.4.exe
Image du système : <code>2021-10-30-raspios-bullseye-armhf-lite.zip</code>
* 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 <code>2021-10-30-raspios-bullseye-armhf-lite.img</code>.
== Installer l'image sur la carte SD ==
* lancer le programme Raspberry Pi Imager ;
* pour le système d'exploitation à installer, choisir le fichier <code>2021-10-30-raspios-bullseye-armhf-lite.img</code>
* pour le support ''SD Card'', sélectionner la carte mémoire choisie.
== Paramétrage minimum ==
Préparer le fichier <code></code> avec le contenu suivant pour les paramètres de réseau sans-fil :
<source>
country=FR # France
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
## WPA/WPA2 secured
network={
  ssid="Livebox-1234"
  psk="C69EB296D9430EA161AC9CA763"
}
</source>
Créer le fichier vide suivant : <code>ssh</code> à la racine du lecteur "boot". Cela permet d'activer le mode de connexion SSH.
Les identifiants par défaut sont :
* compte : <code>pi</code>
* mot de passe <code>raspberry</code>
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 :
* <source inline>sudo apt update</source>
* <source inline>sudo apt upgrade</source>
** <source inline>sudo apt full-upgrade</source> : pour une mise à jour complète,
* <source inline>sudo reboot</source>
== 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
* <source inline>sudo apt-get update</source>
* <source inline>sudo apt-get install git</source>
* <source inline>git clone https://github.com/hzeller/rpi-rgb-led-matrix</source>
* <source inline>sudo nano /boot/config.txt</source>
== Exemple ==
Premier exemple :
<source>
cd rpi-rgb-led-matrix
sudo examples-api-use/demo -D 0 --led-rows=64 --led-cols=64
</source>
Deuxième exemple :
<source>
cd rpi-rgb-led-matrix
sudo examples-api-use/demo -D 0 --led-rows=64 --led-cols64 --led-slowdown-gpio=2
</source>
Troisième exemple :
<source>
cd bindings/python/samples
sudo ./runtext.py
</source>
Quatrième exemple :
<source>
cd /home/pi/rpi-rgb-led-matrix/utils
sudo ./led-image-viewer beispiel.gif
</source>
Cinquième exemple pour une rangé de trois dalles (3 x 64 = 196) :
<source>
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"
</source>
=== Script ===
<source>
#!/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()
</source>
Liste des polices disponibles
<pre>
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
</pre>


== Prérequis ==
== Prérequis ==
Win32 Disk Imager : pour la gestion des images SIO :
[[Win32 Disk Imager]] : pour la gestion des images SIO :  
* https://sourceforge.net/projects/win32diskimager/
* https://sourceforge.net/projects/win32diskimager/
== Raspberry Pi ==
* https://www.youtube.com/watch?v=g7Zrnr4kGw8


== Avec Arduino ==
== Avec Arduino ==
Ligne 29 : Ligne 177 :
* Mario's Ideas, https://www.youtube.com/channel/UC_YUPxLXSRu_4_zCO27kRww
* Mario's Ideas, https://www.youtube.com/channel/UC_YUPxLXSRu_4_zCO27kRww
** https://www.youtube.com/watch?v=X9tsfOeYnAU
** https://www.youtube.com/watch?v=X9tsfOeYnAU
How to control 8x8 dot Matrix with MAX7219 and Arduino
* Mario's Ideas, https://www.youtube.com/channel/UC_YUPxLXSRu_4_zCO27kRww
** https://www.youtube.com/watch?v=SGjQ-E3UD7A


== Voir aussi ==
== Voir aussi ==

Version du 19 juin 2022 à 14:20

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