Table des matières:

Écran de jeu LED en bois alimenté par Raspberry Pi Zero : 11 étapes (avec photos)
Écran de jeu LED en bois alimenté par Raspberry Pi Zero : 11 étapes (avec photos)

Vidéo: Écran de jeu LED en bois alimenté par Raspberry Pi Zero : 11 étapes (avec photos)

Vidéo: Écran de jeu LED en bois alimenté par Raspberry Pi Zero : 11 étapes (avec photos)
Vidéo: Je Contrôle Mes Lumières Avec Un iPad ! 🚦 (Et un Raspberry Pi) 2024, Juillet
Anonim
Écran de jeu LED en bois alimenté par Raspberry Pi Zero
Écran de jeu LED en bois alimenté par Raspberry Pi Zero
Écran de jeu LED en bois alimenté par Raspberry Pi Zero
Écran de jeu LED en bois alimenté par Raspberry Pi Zero
Écran de jeu LED en bois alimenté par Raspberry Pi Zero
Écran de jeu LED en bois alimenté par Raspberry Pi Zero

Ce projet réalise un écran LED 20x10 pixels basé sur WS2812 avec une taille de 78x35 cm qui peut être facilement installé dans le salon pour jouer à des jeux rétro. La première version de cette matrice a été construite en 2016 et reconstruite par de nombreuses autres personnes. Cette expérience a été utilisée pour résumer toutes les améliorations pour créer une nouvelle version de la matrice et l'apporter maintenant à instructables.com. Les principales nouvelles fonctionnalités sont la mise à jour vers un Raspberry Pi Zero utilisant à la place et Pi A plus un Arduino et remplaçant le grand contrôleur précédent par une manette de jeu Bluetooth. Le logiciel a également été amélioré, y compris le simulateur, qui vous permet de développer le code sur un ordinateur même si vous n'avez pas accès au matériel de la matrice.

Une particularité de cette matrice LED est le placage de bois spécial, qui est utilisé pour couvrir les LED et les masquer, lorsque les LED sont désactivées. Cela augmente fortement le facteur d'acceptation des non-techniciens;-) Bien sûr, si ce placage spécial n'est pas disponible dans votre pays, vous pouvez également utiliser un autre matériau diffus comme l'acrylique pour masquer les LED. Il est également prévu de fournir à l'avenir certaines pièces clés pour faciliter la reconstruction du projet.

Fournitures:

  • Raspberry Pi Zero W (avec quelques adaptations, tous les autres modèles fonctionneront également)
  • 200 LED/s (bandes LED WS2812B avec 30 LED/m)
  • 4x affichage matriciel LED SPI avec MAX7219
  • Câbles
  • Manette de jeu Bluetooth (par exemple celle de Pimoroni)
  • Alimentation 5V avec au moins 5A
  • Bois MDF pour la découpe laser
  • Placage de bois ou plaque acrylique de diffusion
  • Condensateur, Résistance
  • Quelques vis

Étape 1: Découpe au laser

Découpe au laser
Découpe au laser
Découpe au laser
Découpe au laser
Découpe au laser
Découpe au laser

La structure de base de la matrice est en bois MDF d'une épaisseur de 3 mm et découpée au laser. Si vous ne possédez pas de découpeuse laser, vous pouvez utiliser un service en ligne comme ponoko.com ou formulor.de ou contacter le prochain fablab/makerspace de votre environnement. Il est également possible d'utiliser du carton ou d'autres matériaux plus légers, mais les fichiers joints sont conçus pour une épaisseur de 3 mm, donc les matériaux plus fins ou plus épais nécessitent une refonte des fichiers. La conception a été réalisée dans Fusion 360. La plupart des pièces tiennent ensemble simplement en les faisant glisser en place, seules certaines des pièces comme les bordures extérieures doivent être collées ensemble à l'aide de colle à bois. Assurez-vous que votre matrice fonctionne pleinement avant d'appliquer de la colle ! De plus, le placage de bois doit être collé, mais c'est la dernière étape après s'être assuré que tout fonctionne.

Sur le côté droit (inférieur) du fond de panier, il y a un segment découpé pour fixer les composants électroniques à la matrice et avoir toujours accès à ces composants lorsque le placage est collé.

Étape 2: Installer les LED

Installer des LED
Installer des LED
Installer des LED
Installer des LED
Installer des LED
Installer des LED

Les bandes LED sont des bandes standard de 30 LED/m WS2812, disponibles sur Amazon, eBay ou d'autres magasins en ligne dans le monde entier. C'est normalement aussi la bande LED adressable la moins chère disponible. Si vous souhaitez utiliser d'autres LED, vous devez vous assurer que la distance de 30 LED/m s'adapte au motif de la matrice. Les segments découpés au laser ont de petites régions découpées pour s'adapter à la largeur de LED de 10 cm. Ces bandes LED ont du ruban adhésif double face au dos, vous pouvez donc simplement les coller directement sur le MDF après un positionnement précis. Vérifiez l'orientation correcte de chaque bande avant d'utiliser le ruban (sens DIN-DOUT).

Le schéma de câblage est un zig-zag donc à la fin, il n'y a qu'une seule broche d'entrée à la matrice et les longueurs de câble sont aussi courtes que possible. Pour bien répartir la puissance et réduire le câblage en haut de la matrice, chaque bande LED est connectée à 5V et GND en bas de la matrice. Vous pouvez utiliser des fils simples ou des PCB de prototypage pour distribuer la ligne 5V et GND.

Étape 3: Assemblage

Assemblée
Assemblée
Assemblée
Assemblée
Assemblée
Assemblée

La vue éclatée permet d'identifier les bonnes pièces pour l'assemblage. Suivez simplement les images d'installation étape par étape. Le fond de panier a des structures croisées pour maintenir les parois latérales longues et certaines des parois courtes. Si vous avez des problèmes pour installer les pièces, utilisez du papier de verre pour le réparer.

Étape 4: Souder

Soudure
Soudure
Soudure
Soudure

Il existe différentes manières de souder les lignes électriques pour les différentes bandes ensemble. Soit vous pouvez utiliser des fils simples ou une sorte de rampe commune en cuivre pour souder les différents fils. Dans ce cas, des morceaux de PCB prototypes ont été utilisés pour guider les rails d'alimentation vers les bandes. Les bandes WS2812B ont déjà des câbles d'alimentation séparés que vous pouvez utiliser pour connecter le rail d'alimentation à la première entrée de bande (côté gauche sur l'image).

Étape 5: Installer l'affichage SPI

Installer l'affichage SPI
Installer l'affichage SPI

Pour afficher les scores et le texte du jeu, un affichage matriciel LED basé sur le pilote LED MAX7219 est utilisé. Il est connecté via SPI (Serial Peripheral Interface) au Raspberry Pi. Quatre écrans 8x8 sont combinés à un écran matriciel de 32x8 pixels. Vous pouvez acheter ces écrans de 8x8 pixels par ex. sur eBay, des écrans combinés 32x8 pixels sont également disponibles. Vous avez également différentes options de couleur; dans ce cas, des écrans rouges ont été utilisés. Parce que SPI fonctionne comme un registre à décalage, les écrans sont connectés ensemble en série en connectant les données de la première matrice aux données de la seconde et ainsi de suite à partir du côté droit de l'écran.

Cet affichage n'est lisible de l'extérieur que s'il est placé directement derrière la couche de placage. Sinon, il n'y a qu'un flou rouge visible. Vous devez donc le monter sur le segment découpé du fond de panier avec une distance de 30 mm entre la surface du fond de panier et la surface de la matrice. J'ai utilisé des morceaux de bois et des vis restants pour adapter les 19 mm manquants entre le fond de panier et les PCB, mais vous pouvez également tout type d'entretoises extérieures.

Le câblage de l'écran est illustré à l'étape 7.

Étape 6: Installer Pi

Installer Pi
Installer Pi
Installer Pi
Installer Pi
Installer Pi
Installer Pi

Dans cette installation, un Raspberry Pi Zero est utilisé. Vous pouvez également utiliser n'importe quel autre modèle de Raspberry Pi, mais les plus récents avec WiFi et Bluetooth intégrés vous permettent de vous connecter facilement aux manettes de jeu sans fil et de simplifier la programmation. Vous pouvez fixer le Pi en utilisant au moins deux vis et de petites entretoises pour le visser au fond de panier.

Pour le Raspberry Pi Zero W, les broches suivantes sont utilisées:

  • BROCHE 2: 5V
  • BROCHE 6: TERRE
  • GPIO18 -> Bandes LED
  • GPIO11: SPI CLK -> MAX7219 matrice CLK
  • GPIO10: SPI MOSI -> MAX7219 matrice DIN
  • GPIO8:SPI CS -> MAX7219 matrice CS

Certaines personnes ont signalé des problèmes avec l'utilisation de GPIO18 pour les LED. Veuillez utiliser GPIO21 dans ce cas. Si c'est le cas, vous devez changer le code de la ligne 21 en pixel_pin = board. D21.

La bande WS2812B est utilisée ici en dehors de ses spécifications. Normalement, il nécessite un niveau logique 5V sur DIN, mais le Pi ne fournit que 3, 3V. Même si cela fonctionne dans la plupart des cas, vous devriez le tester avec votre bandelette. Si cela ne fonctionne pas, vous pouvez ajouter un convertisseur de niveau comme un 74HCT245 ou tout autre convertisseur 3V3 à 5V entre le Pi et la bande.

Étape 7: Câblage et alimentation

Câblage et alimentation
Câblage et alimentation
Câblage et alimentation
Câblage et alimentation
Câblage et alimentation
Câblage et alimentation

Le câblage se fait selon le schéma de câblage. L'alimentation est une alimentation 5V DC.

Pour une mise en marche/arrêt facile de la matrice, un interrupteur est ajouté entre la prise d'alimentation et les circuits de la matrice. Néanmoins, comme le Raspberry Pi n'aime pas l'arrêt brutal, il existe une option d'arrêt dans le logiciel pour arrêter le Pi en toute sécurité via la manette de jeu avant de basculer la matrice.

La broche DIN de la bande LED est connectée via une résistance au Pi, un grand condensateur (4700uF) est également ajouté pour tamponner l'alimentation. Veuillez consulter l'Überguide Adafruit pour Neopixels pour plus de détails.

Les LED consomment un courant maximum de 60mA par LED, donc un courant maximum de 200x60mA = 12A est possible !!! En réduisant la luminosité et en n'utilisant pas toutes les LED en blanc, il s'agit plus d'une valeur théorique, mais cela dépend du code dont le courant maximum est atteint. Il est donc très important de choisir une alimentation suffisamment grande. Pour la plupart des applications, une alimentation de 5V/5A (25W) devrait suffire.

Pour fixer le fond de panier avec le Pi et l'écran Matrix, quelques petits morceaux de bois peuvent être utilisés pour les frotter dans les bords et également utiliser des vis pour maintenir le fond de panier en place.

Étape 8: Configurer Pi

Configurer Pi
Configurer Pi

1. Téléchargez la dernière image Raspbian lite depuis raspberrypi.org

2. Copiez-le sur une carte SD, 8 Go suffisent. Vous pouvez utiliser par ex. graveur pour le faire.

3. Avant de démarrer le Pi avec la carte SD, préparez l'accès WIFI et ssh

4. Insérez la carte SD dans n'importe quel ordinateur, un dossier de démarrage doit être accessible

5. Copiez les lignes suivantes dans le fichier wpa_supplicant.conf (générez-le s'il n'existe pas) et modifiez les paramètres en fonction de votre Wifi et de votre région

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev

country=US update_config=1 network={ ssid="Home Wifi" psk="mypassword" key_mgmt=WPA-PSK }

6. Ajoutez un fichier vide appelé ssh (sans aucune extension) pour démarrer pour activer l'accès ssh

7. Insérez maintenant la carte SD dans le Raspberry Pi et démarrez-le. Vérifiez votre routeur wifi pour obtenir l'adresse IP du Pi

8. démarrer une connexion SSH au Pi à l'aide d'un terminal (Linux, Mac) ou par ex. Mastic un Windows. Insérez l'IP du Pi au lieu de 192.168.x.y

ssh [email protected]

9. Mettre à jour le Pi (cela prend du temps !)

sudo apt-get mise à jour

sudo apt-get mise à niveau

10. Installer pip et outil de configuration

sudo apt-get installer python3-pip

sudo pip3 install --upgrade setuptools

11. Installez le pilote Neopixel, ws281x lib, pygame et libsdl

sudo pip3 installer rpi_ws281x adafruit-circuitpython-neopixel

sudo pip3 install pygame sudo apt-get install libsdl1.2-dev sudo pip3 install --upgrade luma.led_matrix

12. Activez SPI en appelant raps-config, accédez à 5 options d'interfaçage / P4 SPI / Activer

sudo raspi-config

13. Ajouter une manette de jeu Bluetooth

sudo bluetoothctl

[bluetooth]# agent on [bluetooth]# pairable on [bluetooth]# scan on [bluetooth]# pair aa:bb:cc:dd:ee:ff [bluetooth]# trust aa:bb:cc:dd:ee:ff [bluetooth]# connecter aa:bb:cc:dd:ee:ff [bluetooth]# quitter

où aa:bb:cc:dd:ee:ff est la robe MAC de votre manette de jeu Bluetooth. Cette adresse doit être affichée après l'appel de la commande « scan on ». Assurez-vous que votre contrôleur Bluetooth est prêt à être couplé, veuillez consulter le manuel du contrôleur pour savoir comment procéder.

14. Vous pouvez maintenant vous connecter à votre Pi via, le mot de passe par défaut est framboise (les utilisateurs de Windows peuvent utiliser Putty):

ssh [email protected]

Étape 9: Code Python, test et simulateur

Code Python, Test et Simulateur
Code Python, Test et Simulateur
Code Python, Test et Simulateur
Code Python, Test et Simulateur
Code Python, Test et Simulateur
Code Python, Test et Simulateur

Le code est disponible sur Github. games_pi_only.py et tous les fichiers bmp sont nécessaires.

git clone href= https://github.com/makeTVee/ledmatrix/tree/master/python/pi_only

Le code a une option pour s'exécuter en mode simulation en dehors du Pi en utilisant pygame pour simuler la matrice. Ceci est très utile pour développer de nouvelles fonctionnalités sans avoir un accès direct au matériel de la matrice. Le débogage est également beaucoup plus facile. Vous devez définir la constante PI pour activer le mode simulation (Ligne 15):

PI=Faux

Dans ce mode de simulation, le clavier est également utilisé à la place de la manette de jeu Bluetooth. Les boutons 1, 2, 3, 4 sont mappés sur A, B, X, Y de la manette de jeu, les touches fléchées pour les directions, « s » pour démarrer et « x » pour sélectionner. Vous pouvez utiliser un éditeur standard plus la console ou certains IDE intégrés comme Micosoft Visual Studio Code ou Jetbrain PyCharm pour faire le développement sur votre PC.

Si vous utilisez la matrice et le Raspberry Pi, vous devez définir:

PI=Vrai

Pour copier le code sur le Raspberry Pi, vous pouvez utiliser la commande scp (Windows WinSCP). Ouvrez une fenêtre de console, basculez vers le dossier contenant les fichiers Github et appelez

scp games_pi_only [email protected]:/home/pi

scp *.bmp [email protected]:/home/pi

puis connectez-vous au Pi via ssh (les utilisateurs de Windows peuvent utiliser Putty):

ssh [email protected]

après une connexion réussie, vous pouvez démarrer le code python en appelant:

sudo python3 games_pi_only.py

Si le code s'exécute correctement, vous pouvez activer le démarrage automatique en appelant:

sudo nano /etc/rc.local

et ajoutez la ligne suivante avant exit 0:

/usr/bin/nice -n -20 python3 /home/pi/games_pi_only.py &

Enregistrer (Ctrl+O) et quitter (Ctrl+X)

Étape 10: Test final et placage

Test final et placage
Test final et placage
Test final et placage
Test final et placage
Test final et placage
Test final et placage

Avant que le placage ne soit collé sur le dessus de la façade, la matrice doit être testée pour s'assurer que toutes les LED fonctionnent. Il est beaucoup plus facile de réparer quelque chose avant que le placage ne soit collé.

Le placage de bois utilisé est un papier de placage d'érable spécial appelé Microwood, qui est recouvert d'un côté de papier et a une épaisseur de 0,1 mm. Le côté papier peut être collé directement sur le mdf à l'aide de colle à papier standard sans eau.

Étape 11: Le résultat

Le résultat
Le résultat
Le résultat
Le résultat

Amusez-vous et profitez du jeu!

Concours Raspberry Pi 2020
Concours Raspberry Pi 2020
Concours Raspberry Pi 2020
Concours Raspberry Pi 2020

Grand prix du concours Raspberry Pi 2020

Conseillé: