![RPi 3 Tribord / Générateur de particules : 6 étapes (avec photos) RPi 3 Tribord / Générateur de particules : 6 étapes (avec photos)](https://i.howwhatproduce.com/images/002/image-4967-63-j.webp)
Table des matières:
- Étape 1: Assembler la carte LED
- Étape 2: préparer le Raspberry Pi
- Étape 3: Connectez Pi + Matrix Hat + Carte LED
- Étape 4: Testez la matrice RVB
- Étape 5: Multiplexage et taux de balayage (ou: une diversion momentanée sur la route de la tombe)
- Étape 6: Le programme Starboard (ou: Back on Track et Ready to Pixel)
2025 Auteur: John Day | [email protected]. Dernière modifié: 2025-01-23 14:46
![Image Image](https://i.howwhatproduce.com/images/002/image-4967-65-j.webp)
![](https://i.ytimg.com/vi/d3ohPT1EmIw/hqdefault.jpg)
![Assembler la carte LED Assembler la carte LED](https://i.howwhatproduce.com/images/002/image-4967-66-j.webp)
Vous vous ennuyez avec votre Raspberry Pi ? Êtes-vous prêt à commander les forces élémentaires de l'univers, en invoquant et en rejetant des photons à volonté ? Voulez-vous juste quelque chose d'intéressant à accrocher dans votre salon, ou un projet fantaisiste à publier sur facebook pour montrer à Denise que vous vous débrouillez très bien ces jours-ci, merci beaucoup ? Êtes-vous pris au piège dans une simulation informatique et passez-vous des heures jusqu'à ce que vous soyez libéré ou supprimé ? Si tout ou partie de ces éléments vous décrivent, alors [voix de l'annonceur] Bienvenue !
Ce tutoriel vous montrera comment assembler et configurer un écran de générateur de particules à l'aide d'un Raspberry Pi 3 et de certains panneaux matriciels RVB. Cela devrait vous prendre entre une et deux heures, et le produit fini mesurera environ 30 "x8" (sans compter le Pi) et pourra être fixé au mur. Il fait une décoration assez cool pour un salon, un bureau, une salle de jeux ou partout où vous voulez le mettre.
Avant de commencer, voici ce dont vous aurez besoin et quels sont les coûts approximatifs:
- Rpi 3 + Carte SD + Boîtier + Alimentation: 70 $ (chez Canakit, mais vous pouvez probablement obtenir les pièces moins chères si vous les achetez séparément.)
- 4x 32x32 RGB LED Matrix (de préférence p6 indoor avec 1/16 scan): 80 $ à 100 $ expédiés sur Alibaba ou Aliexpress; 160 $ sur Adafruit ou Sparkfun.
- Casquette Adafruit RGB Matrix: 25 $
- Alimentation 5V 4A: 15 $
- Clips imprimés en 3D: 1 $ (ceux-ci servent à connecter les panneaux et à les accrocher au mur; si vous n'avez pas accès à une imprimante 3D, vous pouvez utiliser une fourrure pour les maintenir ensemble et des supports de la quincaillerie pour accrochez-le au mur. J'ai essayé de trouver les fichiers de conception ou les fichiers.stls pour ceux-ci, mais ils semblent être passés de la terre. Les clips sont assez faciles à modéliser, cependant.)
- 14x boulons M4x10: 5 $
- Quatre câbles IDC 4x8 et trois câbles d'alimentation pour les matrices RVB (je ne sais pas comment ils s'appellent !). Ceux-ci auraient dû être inclus avec vos panneaux LED.
- Total: Environ 200 $, à donner ou à prendre.
Le projet ne nécessite pas de soudure ou de connaissances spécifiques en programmation; cela suppose que vous savez comment écrire une image sur une carte microSD. Si vous ne savez pas comment procéder, la fondation Raspberry Pi propose un bon tutoriel ici.
Cela suppose également que vous ayez une connaissance de base de la façon de faire les choses à partir de la ligne de commande sous Linux, et la procédure pas à pas du code suppose que vous connaissez les bases de Python (mais - vous n'avez pas besoin de suivre la procédure pas à pas pour pouvoir construire et exécutez le générateur de particules.) Si vous êtes bloqué sur l'une des étapes, n'hésitez pas à poser une question ou à poster dans /r/raspberry_pi (qui est aussi, je suppose, le public principal pour cette instructable)
Étape 1: Assembler la carte LED
![Assembler la carte LED Assembler la carte LED](https://i.howwhatproduce.com/images/002/image-4967-67-j.webp)
Tout d'abord, vous allez assembler les panneaux LED 32x32 individuels en un seul grand panneau 128x32. Vous devrez regarder vos tableaux et trouver les petites flèches qui indiquent l'ordre de connexion; sur le mien, ils sont juste à côté des connecteurs IDC HUB75/2x8. Assurez-vous que les flèches pointent à partir de l'endroit où le Rpi se connectera (vers la droite sur la photo ci-dessus) sur toute la longueur de la planche.
Vous aurez également besoin de connecter les câbles d'alimentation. La plupart de ces câbles ont deux connecteurs femelles qui se fixent aux cartes et un ensemble de bornes à fourche qui se fixent à la source d'alimentation. Les panneaux avec lesquels je travaille ont les indicateurs pour 5V et GND presque entièrement cachés sous les connecteurs eux-mêmes, mais les câbles ne se connectent que dans un sens. Vous voudrez vous assurer que vous connectez tous les 5V ensemble et tous les GND ensemble, car si vous les alimentez à l'envers, vous allez presque certainement les faire frire.
Parce que les câbles d'alimentation inclus avec mes cartes étaient si courts, j'ai dû en rallonger un en insérant les broches de la cosse dans le connecteur d'une autre (c'est assez simple - vous devrez peut-être plier légèrement les cosses vers l'intérieur, mais je ' J'ai inclus une photo au cas où). Je me suis retrouvé avec deux jeux de bornes à fourche et un connecteur IDC 2x8 à droite de ma carte LED maintenant allongée.
Vous remarquerez également que j'ai deux boulons qui ne sont attachés à rien à chaque extrémité de la planche; ceux-ci seront sur le dessus une fois que le tout sera retourné et seront utilisés pour le fixer au mur.
Ainsi, une fois que vous avez connecté tous les panneaux avec des clips, des câbles IDC 2x8 et des câbles d'alimentation, vous êtes prêt à passer à l'étape suivante !
Étape 2: préparer le Raspberry Pi
Ensuite, vous allez mettre la carte LED de côté (pour l'instant) et préparer le Pi 3 à l'exécuter. Nous utiliserons Raspbian Stretch Lite et la bibliothèque de matrices RGB de hzeller (plutôt que la bibliothèque de matrices d'Adafruit, qui est plus ancienne et non maintenue.)
Tout d'abord, vous voudrez écrire l'image Raspbian Lite sur une carte SD; une fois que vous avez fait cela, connectez un moniteur et un clavier au pi et démarrez-le. (Vous pouvez également le faire sans tête, via ssh ou un connecteur série, mais si c'est comme ça que vous allez, vous n'avez probablement pas besoin de moi pour vous dire comment le faire.) Vous aurez besoin d'une connexion Internet pour cela; Si vous avez le wifi, connectez le Pi à votre réseau sans fil en éditant /etc/wpa_supplicant/wpa_supplicant.conf et en exécutant wpa_cli -i wlan0 reconfigure. (Si vous ne l'avez jamais fait, vous pouvez obtenir des instructions ici).
Une fois que vous êtes connecté à Internet, nous mettrons à jour les paramètres du référentiel dpkg et téléchargerons les bibliothèques dont nous avons besoin en exécutant les commandes suivantes:
sudo apt-get mise à jour
sudo apt-get installer git python-dev python-pil
git clone
Maintenant, nous devons compiler et installer le code de la matrice. Vous irez donc dans le dossier contenant la bibliothèque:
cd rpi-rgb-led-matrice
et compilez-le (cela peut prendre une minute):
faire && faire construire-python
et installez les liaisons python:
sudo make install-python
Si vous obtenez des erreurs lors de la compilation du code de la bibliothèque, revenez en arrière et assurez-vous que vous avez correctement installé python-dev et python-pil ! Les liaisons python ne seront pas compilées si ces deux packages ne sont pas installés.
Vous devrez également désactiver la sortie audio de votre Pi (le son intégré interfère avec le code de la matrice) en éditant /boot/config.txt. Recherchez la ligne qui dit dtparam=audio=on et remplacez-la par dtparam=audio=off.
Si tout s'est bien compilé (vous recevrez quelques avertissements concernant les prototypes Wstrict), votre pi devrait être prêt à exécuter la carte matricielle. Allez-y et éteignez-le (arrêt sudo maintenant), débranchez-le et nous connecterons la carte lumineuse au pi à l'étape suivante.
Étape 3: Connectez Pi + Matrix Hat + Carte LED
![Connectez Pi + Matrix Hat + Carte LED Connectez Pi + Matrix Hat + Carte LED](https://i.howwhatproduce.com/images/002/image-4967-68-j.webp)
Donc, maintenant que votre Pi est éteint et débranché, connectons le chapeau matriciel au pi et la carte LED au chapeau matriciel. Si votre Pi n'est pas déjà dans son étui, c'est le bon moment pour l'y mettre.
Installez le chapeau matriciel en l'alignant avec les broches GPIO du Pi et en le poussant doucement vers le bas avec une force uniforme des deux côtés. Assurez-vous que les broches sont correctement alignées, de sorte que les en-têtes femelles du chapeau couvrent exactement les broches GPIO du pi. Si vous le désalignez, ce n'est pas une catastrophe; il suffit de le retirer doucement et de redresser les broches qui se sont tordues.
Une fois que vous avez mis le chapeau, placez le Pi à droite de la carte LED assemblée (vérifiez à nouveau les connexions d'alimentation et assurez-vous que les flèches pointent du Pi vers le bas de la carte) et connectez l'IDC câble au chapeau de matrice.
Ensuite, vous voudrez connecter les bornes à fourche pour l'alimentation dans le bornier du chapeau matriciel. Vous avez deux connecteurs à fourche de chaque côté, mais ils devraient tous les deux s'insérer correctement. Desserrez d'abord les vis et - Cela devrait aller sans dire - assurez-vous de mettre les bornes 5V du côté étiqueté + (elles doivent être rouges, mais - encore une fois - vérifiez vos connecteurs et ne supposez pas qu'ils ont été fabriqués correctement) et les bornes GND (celles-ci doivent être noires) sur le côté étiqueté -. Une fois qu'ils sont là, serrez les vis sur le dessus du bornier, et vous devriez avoir quelque chose qui ressemble à l'image d'en-tête pour cette étape.
Maintenant - vous avez peut-être remarqué que cette configuration particulière laisse la moitié de la cosse de chaque côté exposée, flottant à quelques millimètres au-dessus du chapeau de matrice (et pas beaucoup plus loin l'une de l'autre.) ET - les cosses seront très bientôt transportant à la fois plusieurs volts et plusieurs ampères de puissance brute. Est-ce vraiment (je vous entends demander de l'autre côté de l'écran) la bonne façon de le faire ? Est-ce, (vous vous penchez plus près et murmurez), une bonne idée ?
Et la réponse est (je réponds en haussant les épaules) - non, ce n'est pas le cas. La bonne façon de procéder serait de dénuder les cosses à fourche des câbles d'alimentation et de les sertir à nouveau dans le connecteur approprié pour ce bornier (ou de les laisser comme des fils nus et de les connecter sans connecteur dans le bloc). À défaut, vous pouvez placer un tube thermorétractable autour du côté exposé du connecteur à fourche ou simplement l'envelopper dans du ruban électrique. Mais le monde est déchu et l'homme est paresseux et vaniteux, alors je ne l'ai pas fait.
Mais - emballés ou déballés - les cosses à fourche sont connectées au bornier et nous sommes prêts à passer à l'étape suivante.
Étape 4: Testez la matrice RVB
Maintenant que votre Pi est connecté à la carte lumineuse, retournez la carte et rallumez le Pi. Vous pouvez alimenter le chapeau matriciel une fois le Pi branché; si vous alimentez le chapeau avant le Pi, cependant, le Pi essaiera de démarrer avec pas assez de courant et se plaindra amèrement (et peut vous donner une panique du noyau et ne pas démarrer du tout.)
Si vous rencontrez des difficultés pour démarrer le Pi avec le chapeau matriciel, assurez-vous d'utiliser une alimentation suffisamment puissante pour le Pi (2A+ devrait être bon) et essayez de brancher à la fois l'alimentation pour le chapeau et pour le Pii dans la même multiprise ou la même rallonge, et en les mettant sous tension ensemble.
Une fois que le Pi a démarré, nous sommes prêts à tester les matrices. Accédez à l'emplacement des exemples de liaison python (cd /rpi-rgb-led-matrix/bindings/python/samples) et essayez le générateur de blocs rotatifs avec la commande suivante:
sudo./rotating-block-generator.py -m adafruit-hat --led-chain 4
Vous devez l'exécuter en tant que sudo car la bibliothèque de matrices a besoin d'un accès de bas niveau au matériel lors de l'initialisation. Le -m spécifie la façon dont les panneaux sont connectés au pi (dans ce cas, un chapeau adafruit) et le --led-chain spécifie - vous l'avez deviné - combien de panneaux nous avons enchaînés ensemble. Les lignes et les colonnes par panneau sont toutes les deux par défaut à 32, donc nous sommes bien là-bas.
Maintenant, une fois que vous avez exécuté le programme, l'une des deux (ou, en fait, l'une des trois) choses va se produire:
- Rien ne se passe
- Vous obtenez un joli bloc rotatif au milieu de votre tableau lumineux.
- Le panneau lumineux fonctionne, euh, je pense, mais ça a l'air… bizarre (la moitié est verte, certaines rangées ne s'allument pas, etc.)
Si rien ne se passe, ou si le panneau a l'air bizarre, appuyez sur ctrl+c pour quitter l'exemple de programme, éteignez le pi et vérifiez toutes vos connexions (câble IDC, alimentation, assurez-vous que les deux alimentations sont branchées, etc.) Assurez-vous également que le chapeau est correctement connecté; si cela ne résout pas le problème, réduisez-le sur un panneau (assurez-vous d'utiliser --led-chain 1 lors du test) et voyez si l'un des panneaux est peut-être défectueux. Si cela ne fonctionne pas, consultez les conseils de dépannage de hzeller. si cela ne fonctionne toujours pas, essayez de poster sur /r/raspberry_pi (ou sur les forums Adafruit, si vous avez obtenu vos panneaux d'Adafruit, ou sur l'échange de piles, etc.)
Si cela fonctionne en quelque sorte mais a toujours l'air bizarre (peut-être comme l'image d'en-tête de cette section) après avoir vérifié les connexions, il est possible que tout soit connecté correctement, que les panneaux fonctionnent correctement, mais que quelque chose d'autre se passe au. Ce qui nous amènera à notre prochaine étape - plus une diversion qu'une étape - sur les taux de multiplexage et de balayage. (Si votre panneau LED fonctionne correctement et que vous n'êtes pas intéressé par le fonctionnement interne de ces panneaux, n'hésitez pas à sauter l'étape suivante.)
Étape 5: Multiplexage et taux de balayage (ou: une diversion momentanée sur la route de la tombe)
Ainsi, l'une des erreurs que j'ai commises lorsque j'ai commandé mon premier jeu de panneaux sur Alibaba est que j'ai eu des panneaux d'extérieur (pourquoi pas, pensais-je - ils sont étanches et plus lumineux !). Et, quand je les ai connectés à mon chapeau matriciel, les choses semblaient… pas bien.
Pour comprendre pourquoi, nous prendrons une minute pour examiner la description de Phil Burgess d'Adafruit sur le fonctionnement de ces panneaux. Vous remarquerez que Burgess souligne que les panneaux n'allument pas toutes leurs LED à la fois - ils allument des ensembles de rangées. La relation entre la hauteur du panneau en pixels et le nombre de lignes qui s'allument à la fois est appelée vitesse de balayage. Ainsi, par exemple - Sur un panneau 32x32 avec balayage 1/16, deux rangées (1 et 17, 2 et 18, 3 et 19, etc.) sont allumées à la fois, tout le long de la carte, puis le contrôleur répète. La plupart des bibliothèques qui pilotent des matrices RVB sont conçues pour des panneaux où la vitesse de balayage est égale à la moitié de la hauteur en pixels - c'est-à-dire qu'elles pilotent deux rangées de LED à la fois.
Les panneaux extérieurs (et certains panneaux intérieurs - assurez-vous de consulter les spécifications avant de commander) ont des taux de balayage qui sont 1/4 de la hauteur en pixels, ce qui signifie qu'ils s'attendent à ce que quatre lignes soient parcourues à la fois. Cela les rend plus brillants (ce qui est bien) mais empêche beaucoup de code standard de fonctionner avec eux (ce qui est mal). En plus de cela, ils ont tendance à avoir les pixels dans le désordre en interne, ce qui nécessite de transformer les valeurs x et y dans un logiciel afin d'adresser les bons pixels. Pourquoi sont-ils fabriqués de cette façon? Je n'ai aucune idée. Savez-vous? Si oui, merci de me le dire. Sinon, cela devra simplement rester un mystère.
Donc, si vous avez un de ces panneaux extérieurs bizarres, vous avez (probablement) de la chance ! hzeller a récemment ajouté la prise en charge des configurations courantes de ces types de panneaux à sa bibliothèque. Vous pouvez en savoir plus sur la page github du projet, mais vous pouvez transmettre --led-multiplexing={0, 1, 2, 3} à l'exemple de code (vous devrez peut-être aussi faire comme si vous aviez un chaîne double de panneaux mi-longs) et cela devrait fonctionner.
Cependant, certains modèles de transformation de pixels ne sont pas pris en charge - et (devinez quoi) mes panneaux en ont un ! Donc, j'ai dû écrire mon propre code de transformation (je dois aussi - pour une raison quelconque - dire à la bibliothèque d'agir comme si j'avais huit panneaux 16x32 enchaînés). qui est la suivante:
def transformPixels(j, k): effJ = j % 32
effK = k % 32
modY = k
modX = j
#modX et modY sont les X et Y modifiés;
#effJ et effK s'assurent que nous transformons dans une matrice 32x32 avant de pousser
si ((effJ) > 15):
modX = modX + 16
si ((effK) > 7):
modY = modY - 8
modX = modX + 16
si ((effK) > 15):
modX = modX - 16
si ((effK) > 23):
modY = modY - 8
modX = modX + 16
#Ensuite, nous les poussons au bon endroit (chaque x+32 déplace un panneau)
si (j > 31):
modX += 32
si (j > 63):
modX += 32
si (j > 95):
modX += 32
retour (modX, modY)
Si vous avez un panneau comme le mien, cela pourrait fonctionner pour cela. Si ce n'est pas le cas, vous devrez écrire le vôtre - alors, vous savez, bonne chance et bon courage.
Étape 6: Le programme Starboard (ou: Back on Track et Ready to Pixel)
Maintenant que vos matrices sont opérationnelles et prêtes à l'emploi, il ne vous reste plus qu'à mettre le programme tribord sur votre Pi et le préparer à partir. Assurez-vous que vous êtes dans le répertoire personnel de l'utilisateur pi (cd /home/pi) et exécutez la commande suivante:
git clone
vous devriez avoir un nouveau dossier, tribord, qui contient trois fichiers: LICENSE.md, README.md et starboard_s16.py. Essayez le programme tribord en l'exécutant via python:
sudo python./starboard_s16.py
et vous devriez obtenir un tas de particules se déplaçant à des vitesses différentes et se désintégrant à des vitesses différentes. Tous les 10 000 ticks environ (vous pouvez aller dans le script python pour éditer/changer cela), il changera de mode (il y en a quatre: RVB, HSV, Rainbow et Greyscale).
Donc, maintenant, il ne reste plus qu'à exécuter le code tribord au démarrage. Nous le ferons en éditant (avec sudo) /etc/rc.local. Ce que vous voulez faire est d'ajouter la ligne suivante juste avant "exit 0" dans le script:
python /home/pi/starboard/starboard_s16.py &
Après cela, redémarrez le pi - une fois qu'il a terminé la séquence de démarrage, le script starboard_s16.py devrait démarrer immédiatement !
Si vous voulez fouiller dans le script, n'hésitez pas à le faire - il est sous licence GNU GPL 3.0. Si le script ne fonctionne pas pour vous, ou si vous rencontrez des problèmes, n'hésitez pas à me le faire savoir ou à soumettre un bogue sur github, et je verrai ce que je peux faire pour le corriger !
La (très) dernière chose que vous voudrez peut-être faire est de configurer SSH sur le pi, afin que vous puissiez l'accéder à distance et l'arrêter en toute sécurité. Vous voudrez /définitivement/modifier votre mot de passe (via la commande passwd), et vous pouvez trouver des instructions pour activer ssh (également à partir de la ligne de commande) ici.
Conseillé:
Générateur de fonctions DIY avec STC MCU facilement : 7 étapes (avec photos)
![Générateur de fonctions DIY avec STC MCU facilement : 7 étapes (avec photos) Générateur de fonctions DIY avec STC MCU facilement : 7 étapes (avec photos)](https://i.howwhatproduce.com/images/007/image-18359-j.webp)
Générateur de fonctions DIY avec STC MCU facilement : il s'agit d'un générateur de fonctions fabriqué avec STC MCU. Besoin seulement de plusieurs composants et le circuit est simple. Spécifications de sortie : canal carré unique Fréquence de la forme d'onde : 1 Hz à 2 MHz Fréquence de la forme d'onde sinusoïdale : 1 Hz à 10 kHz Amplitude : VCC, environ 5 V Capacité de charge
Générateur de feuille laser interactif avec Arduino : 11 étapes (avec photos)
![Générateur de feuille laser interactif avec Arduino : 11 étapes (avec photos) Générateur de feuille laser interactif avec Arduino : 11 étapes (avec photos)](https://i.howwhatproduce.com/images/009/image-24312-j.webp)
Générateur de feuille laser interactif avec Arduino : les lasers peuvent être utilisés pour créer des effets visuels incroyables. Dans ce projet, j'ai construit un nouveau type d'affichage laser interactif et jouant de la musique. L'appareil fait tourner deux lasers pour former deux nappes de lumière en forme de vortex. J'ai inclus un capteur de distance
Générateur de musique basé sur la météo (Générateur Midi basé sur ESP8266): 4 étapes (avec images)
![Générateur de musique basé sur la météo (Générateur Midi basé sur ESP8266): 4 étapes (avec images) Générateur de musique basé sur la météo (Générateur Midi basé sur ESP8266): 4 étapes (avec images)](https://i.howwhatproduce.com/images/002/image-3114-36-j.webp)
Générateur de musique basé sur la météo (Générateur Midi basé sur ESP8266): Bonjour, aujourd'hui, je vais vous expliquer comment créer votre propre petit générateur de musique basé sur la météo. Il est basé sur un ESP8266, qui ressemble un peu à un Arduino, et il réagit à la température, à la pluie et l'intensité lumineuse. Ne vous attendez pas à ce qu'il fasse des chansons entières ou un programme d'accords
Générateur - Générateur CC utilisant un interrupteur à lames : 3 étapes
![Générateur - Générateur CC utilisant un interrupteur à lames : 3 étapes Générateur - Générateur CC utilisant un interrupteur à lames : 3 étapes](https://i.howwhatproduce.com/images/005/image-13542-3-j.webp)
Générateur - Générateur CC utilisant un commutateur Reed : Générateur CC simple Un générateur à courant continu (CC) est une machine électrique qui convertit l'énergie mécanique en électricité à courant continu.Important : Un générateur à courant continu (CC) peut être utilisé comme moteur à courant continu sans aucune construction changements
Taille de bricolage et construction d'un générateur de secours à batterie avec batteries à décharge profonde de 12 V : 5 étapes (avec photos)
![Taille de bricolage et construction d'un générateur de secours à batterie avec batteries à décharge profonde de 12 V : 5 étapes (avec photos) Taille de bricolage et construction d'un générateur de secours à batterie avec batteries à décharge profonde de 12 V : 5 étapes (avec photos)](https://i.howwhatproduce.com/images/003/image-6165-23-j.webp)
Taille de bricolage et construction d'un générateur de secours à batterie avec batteries à décharge profonde 12 V : *** REMARQUE : soyez prudent lorsque vous travaillez avec des batteries et de l'électricité. Ne court-circuitez pas les piles. Utiliser des outils isolés. Suivez toutes les règles de sécurité lorsque vous travaillez avec de l'électricité.*** Soyez prêt avant la prochaine coupure de courant avec une batterie de secourse