Modifications

Sauter à la navigation Sauter à la recherche
Ligne 1 : Ligne 1 :  
{{RASP-HAT-MATRIX-RGB-NAV}}
 
{{RASP-HAT-MATRIX-RGB-NAV}}
   −
{{traduction}}
+
== Piloter la matrice ==
 
{{ADFImage|RASP-HAT-MATRIX-RGB-01.jpg|640px}}
 
{{ADFImage|RASP-HAT-MATRIX-RGB-01.jpg|640px}}
  −
== Piloter la matrice ==
  −
   
Passons maintenant à la partie amusante !  Assurez vous tout de même d’avoir bien terminé complètement les étapes de soudures car elles sont indispensables au bon fonctionnement du projet.
 
Passons maintenant à la partie amusante !  Assurez vous tout de même d’avoir bien terminé complètement les étapes de soudures car elles sont indispensables au bon fonctionnement du projet.
   −
=== Etape 1: Assembler le HAT avec le raspberry Pi ===
+
=== Etape 1: Assembler le HAT avec le Raspberry Pi ===
    
Arrêter le Raspberry Pi et débranchez le afin de procéder à l’assemblage.
 
Arrêter le Raspberry Pi et débranchez le afin de procéder à l’assemblage.
 
Ensuite, enfoncer fermement le GPIO 2x20 femelle sur les broches males du Pi en prenant soin de bien aligner les deux connecteurs et de ne pas sauter une rangée.
 
Ensuite, enfoncer fermement le GPIO 2x20 femelle sur les broches males du Pi en prenant soin de bien aligner les deux connecteurs et de ne pas sauter une rangée.
 +
 +
{{ADFImage|RASP-HAT-MATRIX-RGB-32.jpg|640px}}
    
=== Etape 2: Brancher le câble d’alimentation de la matrice au bornier ===
 
=== Etape 2: Brancher le câble d’alimentation de la matrice au bornier ===
Ligne 20 : Ligne 19 :     
Vous pouvez dévisser les vis du bornier pour rentrer les fils rouges dans le connecteur + et les fils noirs dans le connecteur -.  
 
Vous pouvez dévisser les vis du bornier pour rentrer les fils rouges dans le connecteur + et les fils noirs dans le connecteur -.  
Veillez à bien resserrer les borniers ensuite afin d’assurer une alimentation de qualité à la matrice.
+
 
 +
{{ADFImage|RASP-HAT-MATRIX-RGB-33.jpg|640px}}
 +
 
 +
{{ADFImage|RASP-HAT-MATRIX-RGB-34.jpg|640px}}
 +
 
 +
{{ambox | text =Veillez à bien resserrer les borniers ensuite afin d’assurer une alimentation de qualité à la matrice.}}
    
=== Etape 3 : connecter le câble RVB de la matrice sur le HAT ===
 
=== Etape 3 : connecter le câble RVB de la matrice sur le HAT ===
Ligne 27 : Ligne 31 :  
Brancher une extrémité sur le connecteur d’entrée de la matrice et l’autre extrémité au connecteur du HAT.
 
Brancher une extrémité sur le connecteur d’entrée de la matrice et l’autre extrémité au connecteur du HAT.
   −
It wont damage the matrix if you accidentally get the cable connected to the output end of the matrix but it wont work so you might as well get it right first time!
+
La matrice ne sera pas endommagée si vous connectez le câble accidentiellement sur le connecteur de sortie de la matrice... mais la matrice ne fonctionnera pas. Vérifiez donc que vous êtes bien sur le connecteur d'entrée!
 +
 
 +
{{ADFImage|RASP-HAT-MATRIX-RGB-35.jpg|640px}}
    
=== Etape 4 : Alimenter le Pi via une alimentation séparée via Micro-USB ===
 
=== Etape 4 : Alimenter le Pi via une alimentation séparée via Micro-USB ===
    
Afin de fournir une alimentation stable au Pi, il est fortement conseillé de l’alimenter séparément à l’aide d’une alimentation 5V sur son port Micro-USB.
 
Afin de fournir une alimentation stable au Pi, il est fortement conseillé de l’alimenter séparément à l’aide d’une alimentation 5V sur son port Micro-USB.
      
=== Etape 5 : Relier l’alimentation de la matrice à son adaptateur secteur ===
 
=== Etape 5 : Relier l’alimentation de la matrice à son adaptateur secteur ===
Ligne 38 : Ligne 43 :  
Veillez à utiliser une alimentation d’une tension de 5V et d’une intensité minimale de 2A. (4A conseillé)
 
Veillez à utiliser une alimentation d’une tension de 5V et d’une intensité minimale de 2A. (4A conseillé)
   −
Vérifier que les fiches de la matrice soient bien reliées et au bon endroit.
+
{{ADFImage|RASP-HAT-MATRIX-RGB-36.jpg|640px}}
 +
 
 +
==== Vérifier que les fiches de la matrice soient bien reliées et au bon endroit. ====
    
Le connecteur 2x8 doit être bien enfoncé et dans le bon sens, et le connecteur d’alimentation doit voir les deux fils rouges côté « VCC » et les deux fils noirs côté « GND »
 
Le connecteur 2x8 doit être bien enfoncé et dans le bon sens, et le connecteur d’alimentation doit voir les deux fils rouges côté « VCC » et les deux fils noirs côté « GND »
 +
 +
{{ADFImage|RASP-HAT-MATRIX-RGB-37.jpg|640px}}
    
=== Étape 6 : Il est temps de se connecter au Pi pour installer et exécuter le logiciel ===
 
=== Étape 6 : Il est temps de se connecter au Pi pour installer et exécuter le logiciel ===
    
Vous êtes maintenant prêt à exécuter le logiciel de gestion de la matrice.
 
Vous êtes maintenant prêt à exécuter le logiciel de gestion de la matrice.
Vous pouvez rentrer en ligne de commande en utilisant un écran/clavier directement sur votre Pi ou utiliser une connection SSH.
+
Vous pouvez rentrer en ligne de commande en utilisant un écran/clavier directement sur votre Pi ou utiliser une connexion SSH.
Vous devrez aussi vous assurer que le Pi possède bien une connection à internet par cable ou WiFi.
+
Vous devrez aussi vous assurer que le Pi possède bien une connexion à internet par câble ou WiFi.
    
Nous allons commencer par installer quelques paquets logiciels prérequis pour compiler le code.
 
Nous allons commencer par installer quelques paquets logiciels prérequis pour compiler le code.
 +
 +
<nowiki>sudo apt-get update
 +
sudo apt-get install python-dev python-imaging</nowiki>
   −
<nowiki> sudo apt-get update
+
Télécharger et décompresser [https://github.com/adafruit/rpi-rgb-led-matrix le « Matrix code package » sur github:]
sudo apt-get install python-dev python-imaging
  −
</nowiki>
     −
Télécharger et décompresser le « Matrix code package » sur github:
+
<nowiki>wget https://github.com/adafruit/rpi-rgb-led-matrix/archive/master.zip
 
+
unzip master.zip</nowiki>
wget https://github.com/adafruit/rpi-rgb-led-matrix/archive/master.zip
  −
unzip master.zip
      
La « LED-matrix library » est proposée par (c) Henner Zeller h.zeller@acm.org sous licence GNU General Public License Version 2.0 http://www.gnu.org/licenses/gpl-2.0.txt
 
La « LED-matrix library » est proposée par (c) Henner Zeller h.zeller@acm.org sous licence GNU General Public License Version 2.0 http://www.gnu.org/licenses/gpl-2.0.txt
   −
[ATTENTION]
+
{{ambox-stop | text = Les cartes RPi overclookées peuvent provoquer des défauts visuels sur la matrice LED.
Les cartes RPi overclookées peuvent provoquer des défauts visuels sur la matrice LED.
   
Si vous rencontrez ce genre de problème, vous pouvez revenir à la valeur par défaut dans raspi-config afin de vérifier si les problèmes d’affichage viennent de là.
 
Si vous rencontrez ce genre de problème, vous pouvez revenir à la valeur par défaut dans raspi-config afin de vérifier si les problèmes d’affichage viennent de là.
 +
Vous pouvez lancer "raspi-config" et restaurer la fréquence d'origine afin d'effectuer à nouveau les tests.}}
   −
Maintenant vous pouvez vous rendre dans le dossier du code source à l’aide de la commande cd et compiler la démo à l’aide de la commande make
+
{{ADFImage|RASP-HAT-MATRIX-RGB-38.png|640px}}
   −
cd rpi-rgb-led-matrix-master/
+
{{ADFImage|RASP-HAT-MATRIX-RGB-39.png|640px}}
make
     −
Maintenant, vous pouvez démarrer le test/demo « led-matrix »
+
Maintenant vous pouvez vous rendre dans le dossier du code source à l’aide de la commande '''cd''' et compiler la démo à l’aide de la commande '''make'''
    +
<nowiki>
 +
cd rpi-rgb-led-matrix-master/
 +
make</nowiki>
 +
 +
{{ADFImage|RASP-HAT-MATRIX-RGB-40.png|640px}}
 +
 +
Maintenant, vous pouvez démarrer le test/demo « '''led-matrix''' »
 
Vous ferez varier les paramètres selon le type de matrice que vous possédez.
 
Vous ferez varier les paramètres selon le type de matrice que vous possédez.
    
=== Lignes ===
 
=== Lignes ===
   −
Le nombre de lignes est indiqué avec le paramètre -r
+
Le nombre de lignes est indiqué avec le paramètre '''-r'''
Si vous possédez une matrice de 16 pixels de hauteur (16x32) utilisez -r 16
+
Si vous possédez une matrice de 16 pixels de hauteur (16x32) utilisez '''-r 16'''
Si vous possédez une matrice de 32 pixels de hauteur (32x64 ou 32x32) utilisez -r 32
+
Si vous possédez une matrice de 32 pixels de hauteur (32x64 ou 32x32) utilisez '''-r 32'''
    
=== Chaînage ===
 
=== Chaînage ===
    
Chaque matrice est considérée comme 32 pixels de large.
 
Chaque matrice est considérée comme 32 pixels de large.
Si vous souhaitez enchainer plusieurs matrices, il faudra utiliser le paramètre -c pour augmenter la largeur.
+
Si vous souhaitez enchainer plusieurs matrices, il faudra utiliser le paramètre '''-c''' pour augmenter la largeur.
Par exemple pour 3 matrices enchainées, utilisez -c 3.
+
Par exemple pour 3 matrices enchainées, utilisez '''-c 3'''
Par contre, si vous possédez une matrice de 64x32, elle sera vue comme deux matrices de 32x32, il faudra donc utiliser le paramètre -c 2.
+
Par contre, si vous possédez une matrice de 64x32, elle sera vue comme deux matrices de 32x32, il faudra donc utiliser le paramètre '''-c 2'''
    
=== Temps d’exécution ===
 
=== Temps d’exécution ===
   −
Vous pouvez fixer une durée d’exécution pour la démo en secondes avec le paramètre -t 60 par exemple. Par défaut, ce paramètre est fixé à 60 secondes s’il n’est pas précisé.
+
Vous pouvez fixer une durée d’exécution pour la démo en secondes avec le paramètre '''-t 60''' par exemple. Par défaut, ce paramètre est fixé à 60 secondes s’il n’est pas précisé.
    
=== Démo ===
 
=== Démo ===
    
Il y a plusieurs niveaux de démo vous permettant de tester la/les matrices connectées.
 
Il y a plusieurs niveaux de démo vous permettant de tester la/les matrices connectées.
Avec le paramètre -D 0, vous verrez défiler un carré aux couleurs de l’arc en ciel sur toute la surface de la matrice.
+
Avec le paramètre '''-D 0''', vous verrez défiler un carré aux couleurs de l’arc en ciel sur toute la surface de la matrice.
L’option -D 1 fera juste défiler une image ppm sur la matrice.
+
L’option '''-D 1''' fera juste défiler une image ppm sur la matrice.
 +
 
 +
{{ADFImage|RASP-HAT-MATRIX-RGB-41.png|640px}}
   −
[IMPORTANT]
+
{{ambox-stop | text = Si les démos se lancent mais qu’il n’y a que des LED qui s’allument ponctuellement ou des effets « parasites » sur la surface de la matrice
Si les démos se lancent mais qu’il n’y a que des LED qui s’allument ponctuellement ou des effets « parasites » sur la surface de la matrice
      
Votre Pi est-il overclooké ? Utilisez-vous un RPi 2 ? Vous pouvez tenter de réduire la vitesse de transfert de données entre le Pi et la matrice pour essayer de résoudre le problème.
 
Votre Pi est-il overclooké ? Utilisez-vous un RPi 2 ? Vous pouvez tenter de réduire la vitesse de transfert de données entre le Pi et la matrice pour essayer de résoudre le problème.
Pour ce faire, vous pouvez utiliser le paramètre -w.
+
Pour ce faire, vous pouvez utiliser le paramètre '''-w'''.
 
Sa valeur par défaut est de 1, mais la passer à 2 ou 3 de diviser les cycles du Pi par 2 ou 3 afin que le rafraichissement ne se fasse plus trop rapidement.
 
Sa valeur par défaut est de 1, mais la passer à 2 ou 3 de diviser les cycles du Pi par 2 ou 3 afin que le rafraichissement ne se fasse plus trop rapidement.
Si des parasitent sont encore provoqués, vous pouvez même tenter le paramètre à 4 pour limiter encore plus la vitesse de transfert.
+
Si des parasites sont encore provoqués, vous pouvez même tenter de paramétrer à 4 pour limiter encore plus la vitesse de transfert.}}
   −
Utilisation de la bibliothèque Python
+
== Utilisation de la bibliothèque Python ==
    
Il existe une bibliothèque Python pour dessiner sur l’écran.
 
Il existe une bibliothèque Python pour dessiner sur l’écran.
Il faudra pour cela utiliser le fichier rgbmatrix.so (créé avec la commande make plus tôt).
+
Il faudra pour cela utiliser le fichier rgbmatrix.so (créé avec la commande {{fname|make}} plus tôt).
 
Comme cette bibliothèque est toujours en cours de développement, il n’existe pas de version installable.  
 
Comme cette bibliothèque est toujours en cours de développement, il n’existe pas de version installable.  
 
Il faudra joindre ce fichier dans le même répertoire que tout code de matrice que vous écrirez.
 
Il faudra joindre ce fichier dans le même répertoire que tout code de matrice que vous écrirez.
   −
Il existe 2 exemples:
+
Il existe 2 exemples. La première ({{fname|matrixtest.py}}), montre comment effacer l’écran et le remplir avec une couleur unie ou allumer des pixels individuels.
 
  −
La première (matrixtest.py), montre comment effacer l’écran et le remplir avec une couleur unie ou allumer des pixels individuels.
   
Ces fonctions ont toutes un effet immédiat sur l’affichage.
 
Ces fonctions ont toutes un effet immédiat sur l’affichage.
C’est simple à utiliser, mais pas super pour une animation fluide.
+
C’est simple à utiliser, mais pas idéal pour réaliser une animation fluide.
   −
<syntaxhighlight lang="python" line="1" >
+
<syntaxhighlight lang="python">
    
#!/usr/bin/python
 
#!/usr/bin/python
   −
# Simple RGBMatrix example, using only Clear(), Fill() and SetPixel().
+
# Un exemple simple RGBMatrix, utilisant uniquement Clear(), Fill() et SetPixel().
# These functions have an immediate effect on the display; no special
+
# Ces fonctions ont un effet immédiat sur la matrice; pas besoin
# refresh operation needed.
+
# d'opérations spéciales pour le rafraîchissement.
# Requires rgbmatrix.so present in the same directory.
+
# Nécessite que rgbmatrix.so soit présent dans le même répertoire.
    
import time
 
import time
 
from rgbmatrix import Adafruit_RGBmatrix
 
from rgbmatrix import Adafruit_RGBmatrix
   −
# Rows and chain length are both required parameters:
+
# Le nombre de ligne (Rows) et de dalles dans la chaine (chain length)
 +
# sont deux paramètres obligatoire :
 
matrix = Adafruit_RGBmatrix(32, 1)
 
matrix = Adafruit_RGBmatrix(32, 1)
   −
# Flash screen red, green, blue (packed color values)
+
# Fait Flasher l'écran en rouge, vert, bleu (red, green, blue).
 +
# Utilise la codification couleur RGB 888 en notation hexadécimale
 
matrix.Fill(0xFF0000)
 
matrix.Fill(0xFF0000)
 
time.sleep(1.0)
 
time.sleep(1.0)
Ligne 141 : Ligne 156 :  
time.sleep(1.0)
 
time.sleep(1.0)
   −
# Show RGB test pattern (separate R, G, B color values)
+
# Affiche un test en RGB (valeurs différentes de couleur R, G, B)
 
for b in range(16):
 
for b in range(16):
 
         for g in range(8):
 
         for g in range(8):
Ligne 156 : Ligne 171 :  
</syntaxhighlight>
 
</syntaxhighlight>
   −
Le second exemple utilise la « Python Imaging Library (PIL) pour ajouter la capacité de dessiner des formes géométrique (lignes, cercles, etc.) et afficher des images (GIF, PNG, JPEG, etc.).
+
Le second exemple utilise la  '''Python Imaging Library'''  (PIL) pour ajouter la capacité de dessiner des formes géométrique (lignes, cercles, etc.) et afficher des images (GIF, PNG, JPEG, etc.).
 
PIL n’est pas toujours installée par défaut sur tous les systèmes:
 
PIL n’est pas toujours installée par défaut sur tous les systèmes:
   −
sudo apt-get install python-imaging
+
<nowiki>sudo apt-get install python-imaging</nowiki>
   −
Contrairement à l’exemple précédent, les graphiques PIL  n’ont pas d’effet immédiat sur l’écran.
+
Contrairement à l’exemple précédent, '''les graphiques PIL  n’ont pas d’effet immédiat sur l’écran.'''
 
L’image est d’abord dessinée dans un tampon séparé puis est ensuite copiée sur la matrice.
 
L’image est d’abord dessinée dans un tampon séparé puis est ensuite copiée sur la matrice.
 
Cette étape supplémentaire donne l’occasion de produire une animation plus fluide et des défilements.
 
Cette étape supplémentaire donne l’occasion de produire une animation plus fluide et des défilements.
Ligne 168 : Ligne 183 :  
Les espaces de couleurs CMJN et YCbCr ne sont pas directement supportés, mais des outils existent dans PIL pour les convertir si besoin.
 
Les espaces de couleurs CMJN et YCbCr ne sont pas directement supportés, mais des outils existent dans PIL pour les convertir si besoin.
   −
[à voir avec DOMY]
+
'''Core PIL image : explication des fonctions ici (anglais):''' [http://effbot.org/imagingbook/image.htm The Image Module] <br/>
Core PIL image functions are explained here: The Image Module
+
'''Graphics functions (lignes, etc.) expliquées ici (anglais):''' [http://effbot.org/imagingbook/imagedraw.htm The ImageDraw Module]
Graphics functions (lines, etc.) are here: The ImageDraw Module
     −
matrixtest2.py permet de faire des dessins simples, du chargement d’image et du scrolling.
+
'''matrixtest2.py''' permet de faire des dessins simples, du chargement d’image et du scrolling.
   −
IMPORTANT: notez que l’identifiant PIL de l’image (pas de l’objet de l’image lui-même) est passé à setImage().
+
{{ambox | text=Notez que l’identifiant PIL de l’image (pas de l’objet de l’image lui-même) est passé à setImage().
Donc, si vous chargez un fichier image, il faudra lancer les fonctions open() et load() avant d’appeler setImage(). (voir détail dans l’exemple ci-dessous)
+
Donc, si vous chargez un fichier image, il faudra lancer les fonctions open() et load() avant d’appeler setImage(). (voir détail dans l’exemple ci-dessous)}}
   −
<syntaxhighlight lang="python" line="1" >
+
<syntaxhighlight lang="python">
    
  #!/usr/bin/python
 
  #!/usr/bin/python
Ligne 237 : Ligne 251 :  
</syntaxhighlight>
 
</syntaxhighlight>
   −
Je dessine des formes, mais rien n’apparait sur la matrice
+
=== Je dessine des formes, mais rien n’apparait sur la matrice ===
    
Les graphiques IPL doivent d’abord passer par le tampon et ne peuvent être directement affichés sur la matrice.
 
Les graphiques IPL doivent d’abord passer par le tampon et ne peuvent être directement affichés sur la matrice.
 
Appel de setImage() en passant l’identifiant de l’image en tant que paramètre à chaque fois que la matrice doit être mise à jour.
 
Appel de setImage() en passant l’identifiant de l’image en tant que paramètre à chaque fois que la matrice doit être mise à jour.
   −
Il n’y a que des scintillements et des défauts qui s’affichent sur ma matrice
+
=== Il n’y a que des scintillements et des défauts qui s’affichent sur ma matrice ===
    
Vérifiez que vous n’avez pas overclooké votre Pi ou si vous utilisez un Pi 2 ou 3 ne pas oublier de fixer le paramètre des cycles à 2, 3 ou 4 afin de limiter la vitesse de rafraichissement pour que la matrice supporte celle-ci:
 
Vérifiez que vous n’avez pas overclooké votre Pi ou si vous utilisez un Pi 2 ou 3 ne pas oublier de fixer le paramètre des cycles à 2, 3 ou 4 afin de limiter la vitesse de rafraichissement pour que la matrice supporte celle-ci:
   −
<syntaxhighlight lang="python" line="1" >
+
<syntaxhighlight lang="python">
 
matrix.SetWriteCycles(4)
 
matrix.SetWriteCycles(4)
 
</syntaxhighlight>
 
</syntaxhighlight>
    
{{RASP-HAT-MATRIX-RGB-TRAILER}}
 
{{RASP-HAT-MATRIX-RGB-TRAILER}}
29 917

modifications

Menu de navigation