Ligne 66 : |
Ligne 66 : |
| </nowiki> | | </nowiki> |
| | | |
− | Télécharger et décompresser le « Matrix code package » sur github: | + | Télécharger et décompresser [https://github.com/adafruit/rpi-rgb-led-matrix le « Matrix code package » sur github:] |
| <nowiki> | | <nowiki> |
| wget https://github.com/adafruit/rpi-rgb-led-matrix/archive/master.zip | | wget https://github.com/adafruit/rpi-rgb-led-matrix/archive/master.zip |
Ligne 74 : |
Ligne 74 : |
| | | |
| {{ambox-stop | text = Les cartes RPi overclookées peuvent provoquer des défauts visuels sur la matrice LED. | | {{ambox-stop | text = 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.jpg|640px}} |
| | | |
− | cd rpi-rgb-led-matrix-master/
| + | {{ADFImage|RASP-HAT-MATRIX-RGB-39.jpg|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.jpg|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. |
| | | |
− | [IMPORTANT]
| + | {{ADFImage|RASP-HAT-MATRIX-RGB-41.jpg|640px}} |
− | 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 | + | |
| + | {{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 |
| | | |
| 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 parasitent sont encore provoqués, vous pouvez même tenter le paramètre à 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. |
Ligne 123 : |
Ligne 131 : |
| 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 (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 super pour une animation fluide. |
Ligne 167 : |
Ligne 173 : |
| </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 179 : |
Ligne 187 : |
| 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] |
− | 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"> | | <syntaxhighlight lang="python"> |
Ligne 248 : |
Ligne 255 : |
| </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: |