Inhaltsverzeichnis:

Hölzernes LED-Gaming-Display mit Raspberry Pi Zero - Gunook
Hölzernes LED-Gaming-Display mit Raspberry Pi Zero - Gunook

Video: Hölzernes LED-Gaming-Display mit Raspberry Pi Zero - Gunook

Video: Hölzernes LED-Gaming-Display mit Raspberry Pi Zero - Gunook
Video: Вещи, которые мистеру Уэлчу больше не разрешается делать в сборнике для чтения RPG № 1-2450 2024, November
Anonim
LED-Gaming-Display aus Holz mit Raspberry Pi Zero
LED-Gaming-Display aus Holz mit Raspberry Pi Zero
LED-Gaming-Display aus Holz mit Raspberry Pi Zero
LED-Gaming-Display aus Holz mit Raspberry Pi Zero
LED-Gaming-Display aus Holz mit Raspberry Pi Zero
LED-Gaming-Display aus Holz mit Raspberry Pi Zero

In diesem Projekt wird ein 20x10 Pixel WS2812 basierendes LED Display mit einer Größe von 78x35 cm realisiert, das einfach im Wohnzimmer installiert werden kann um Retro-Spiele zu spielen. Die erste Version dieser Matrix wurde 2016 gebaut und von vielen anderen Leuten umgebaut. Diese Erfahrung wurde verwendet, um alle Verbesserungen zusammenzufassen, um eine neue Version der Matrix zu erstellen und diese jetzt zu instructables.com zu bringen. Die wichtigsten neuen Funktionen sind das Update auf einen Raspberry Pi Zero anstelle von Pi A plus einen Arduino und das Ersetzen des bisherigen großen Controllers durch ein Bluetooth-Gamepad. Auch die Software wurde verbessert, einschließlich des Simulators, der es Ihnen ermöglicht, den Code auf einem Computer zu entwickeln, auch wenn Sie keinen Zugriff auf die Matrix-Hardware haben.

Eine Besonderheit dieser LED-Matrix ist das spezielle Holzfurnier, das verwendet wird, um die LED abzudecken und bei deaktivierten LEDs zu verbergen. Dies erhöht die Akzeptanz bei Nicht-Technikern enorm;-) Wenn dieses spezielle Furnier in Ihrem Land nicht verfügbar ist, können Sie natürlich auch ein anderes diffuses Material wie Acryl verwenden, um die LEDs zu verbergen. Es ist auch geplant, in Zukunft einige wichtige Teile bereitzustellen, um den Wiederaufbau des Projekts zu erleichtern.

Lieferungen:

  • Raspberry Pi Zero W (mit einigen Anpassungen funktionieren auch alle anderen Modelle)
  • 200 LED/s s (WS2812B LED-Streifen mit 30 LED/m)
  • 4x SPI LED-Matrix-Display mit MAX7219
  • Kabel
  • Bluetooth-Gamepad (z. B. dieses von Pimoroni)
  • Netzteil 5V mit mindestens 5A
  • MDF-Holz zum Laserschneiden
  • Holzfurnier oder Diffusionsacrylplatte
  • Kondensator, Widerstand
  • Einige Schrauben

Schritt 1: Laserschneiden

Laser schneiden
Laser schneiden
Laser schneiden
Laser schneiden
Laser schneiden
Laser schneiden

Die Grundstruktur der Matrix besteht aus MDF-Holz mit einer Dicke von 3 mm und wird mit einem Laserschneider geschnitten. Wenn Sie keinen Laserschneider besitzen, können Sie einen Online-Dienst wie ponoko.com oder formulor.de nutzen oder sich an das nächste Fablab/Makerspace in Ihrer Umgebung wenden. Es ist auch möglich, Karton oder andere leichtere Materialien zu verwenden, aber die beigefügten Dateien sind für eine Dicke von 3 mm ausgelegt, sodass dünnere oder dickere Materialien eine Neugestaltung der Dateien erfordern. Das Design wurde in Fusion 360 erstellt. Die meisten Teile halten zusammen, indem sie einfach aufgeschoben werden, nur einige der Teile wie die Außenränder sollten mit Holzleim zusammengeklebt werden. Stellen Sie sicher, dass Ihre Matrix vollständig funktioniert, bevor Sie Klebstoff auftragen! Auch das Holzfurnier muss aufgeklebt werden, aber dies ist der letzte Schritt, nachdem sichergestellt wurde, dass alles funktioniert.

Auf der rechten (unteren) Seite der Backplane befindet sich ein ausgeschnittenes Segment, um die elektronischen Bauteile an der Matrize zu befestigen und beim Aufkleben des Furniers noch Zugriff auf diese Bauteile zu haben.

Schritt 2: LEDs installieren

LEDs installieren
LEDs installieren
LEDs installieren
LEDs installieren
LEDs installieren
LEDs installieren

Die LED-Streifen sind standardmäßige 30 LED/m WS2812-Streifen, die bei Amazon, eBay oder anderen Online-Shops auf der ganzen Welt erhältlich sind. Dies ist normalerweise auch der günstigste verfügbare adressierbare LED-Streifen. Wenn Sie andere LEDs verwenden möchten, müssen Sie sicherstellen, dass der Abstand von 30 LEDs/m zum Matrixmuster passt. Die lasergeschnittenen Segmente haben kleine ausgeschnittene Bereiche, um der LED-Breite von 10 cm zu entsprechen. Diese LED-Streifen haben doppelseitiges Klebeband auf der Rückseite, sodass Sie sie nach präziser Positionierung einfach direkt auf das MDF kleben können. Überprüfen Sie die korrekte Ausrichtung jedes Streifens, bevor Sie das Band verwenden (DIN-DOUT-Richtung).

Das Verdrahtungsmuster ist ein Zickzack, sodass am Ende nur ein Eingangspin zur Matrix vorhanden ist und die Kabellängen so kurz wie möglich sind. Um die Leistung richtig zu verteilen und die Verkabelung oben in der Matrix zu reduzieren, ist jeder LED-Streifen an der Unterseite der Matrix mit 5V und GND verbunden. Sie können entweder Einzeldrähte oder Prototyping-Leiterplatten verwenden, um die 5V- und GND-Leitung zu verteilen.

Schritt 3: Montage

Montage
Montage
Montage
Montage
Montage
Montage

Die Explosionsansicht hilft, die richtigen Teile für die Baugruppe zu identifizieren. Folgen Sie einfach den Schritt-für-Schritt-Installationsbildern. Die Rückwand hat Kreuzstrukturen, um die langen Seitenwände und einige der kurzen Wände zu halten. Wenn Sie Probleme beim Installieren der Teile haben, verwenden Sie Sandpapier, um es zu reparieren.

Schritt 4: Löten

Löten
Löten
Löten
Löten

Es gibt verschiedene Möglichkeiten, die Stromleitungen für die verschiedenen Streifen zusammenzulöten. Entweder können Sie einzelne Drähte oder eine Art Common Rail aus Kupfer verwenden, um die verschiedenen Drähte zu verlöten. In diesem Fall wurden Teile von Prototyp-Leiterplatten verwendet, um die Stromschienen zu den Streifen zu führen. WS2812B Stripes verfügen bereits über separate Stromkabel, mit denen Sie die Stromschiene an den ersten Stripe-Eingang (linke Seite im Bild) anschließen können.

Schritt 5: SPI-Anzeige installieren

SPI-Anzeige installieren
SPI-Anzeige installieren

Zur Anzeige von Spielständen und Text wird ein LED-Matrix-Display auf Basis des LED-Treibers MAX7219 verwendet. Es ist über SPI (Serial Peripheral Interface) mit dem Raspberry Pi verbunden. Vier 8x8-Displays werden zu einem 32x8-Pixel-Dot-Matrix-Display kombiniert. Sie können diese 8x8 Pixel Displays für z. B. bei eBay gibt es auch kombinierte 32x8 Pixel Displays. Außerdem haben Sie verschiedene Farboptionen; in diesem Fall wurden rote Anzeigen verwendet. Da SPI wie ein Schieberegister funktioniert, werden die Displays seriell miteinander verbunden, indem Daten aus der ersten Matrix mit Daten aus der zweiten verbunden werden und so weiter, beginnend von der rechten Seite des Displays.

Diese Anzeige ist von außen nur lesbar, wenn sie direkt hinter der Furnierschicht platziert wird. Wenn nicht, ist nur eine rote Unschärfe sichtbar. Sie müssen es also oben auf dem Backplane-Ausschnittssegment mit einem Abstand von 30 mm zwischen der Oberfläche der Backplane und der Oberfläche der Matrix montieren. Ich habe ein paar übrig gebliebene Holzstücke und Schrauben verwendet, um die fehlenden 19 mm zwischen der Backplane und den Platinen anzupassen, aber Sie können auch alle äußeren Arten von Abstandshaltern verwenden.

Die Verdrahtung des Displays wird in Schritt 7 gezeigt.

Schritt 6: Pi. installieren

Pi. installieren
Pi. installieren
Pi. installieren
Pi. installieren
Pi. installieren
Pi. installieren

In dieser Installation wird ein Raspberry Pi Zero verwendet. Sie können auch jedes andere Raspberry Pi-Modell verwenden, aber neuere mit integriertem WiFi und Bluetooth ermöglichen Ihnen eine einfache Verbindung zu drahtlosen Gamepads und vereinfachen die Programmierung. Sie können den Pi befestigen, indem Sie ihn mit mindestens zwei Schrauben und kleinen Abstandshaltern an der Backplane festschrauben.

Für den Raspberry Pi Zero W werden folgende Pins verwendet:

  • PIN 2: 5V
  • PIN 6: GND
  • GPIO18 -> LED-Streifen
  • GPIO11: SPI CLK -> MAX7219-Matrix CLK
  • GPIO10: SPI MOSI -> MAX7219 Matrix DIN
  • GPIO8:SPI CS -> MAX7219 Matrix CS

Einige Leute haben Probleme mit der Verwendung von GPIO18 für die LEDs gemeldet. Bitte verwenden Sie in diesem Fall GPIO21. In diesem Fall müssen Sie den Code in Zeile 21 in pixel_pin = board. D21 ändern.

Der WS2812B-Streifen wird hier außerhalb seiner Spezifikation verwendet. Normalerweise benötigt es einen 5V Logikpegel auf DIN, aber der Pi liefert nur 3, 3V. Auch wenn dies in den meisten Fällen funktioniert, sollten Sie dies mit Ihrem Streifen testen. Wenn es nicht funktioniert, können Sie einen Pegelwandler wie einen 74HCT245 oder einen anderen 3V3-zu-5-V-Wandler zwischen dem Pi und dem Streifen hinzufügen.

Schritt 7: Verkabelung und Stromversorgung

Verkabelung und Stromversorgung
Verkabelung und Stromversorgung
Verkabelung und Stromversorgung
Verkabelung und Stromversorgung
Verkabelung und Stromversorgung
Verkabelung und Stromversorgung

Die Verdrahtung erfolgt nach dem Verdrahtungsschema. Die Stromversorgung ist eine 5V DC-Versorgung.

Zum einfachen Ein-/Ausschalten der Matrix wird ein Schalter zwischen dem Netzstecker und den Matrixschaltungen eingefügt. Da der Raspberry Pi jedoch kein hartes Ausschalten mag, gibt es in der Software eine Shutdown-Option, um den Pi vor dem Umschalten der Matrix sicher per Gamepad herunterzufahren.

Der DIN-Pin des LED-Streifens ist über einen Widerstand mit dem Pi verbunden, außerdem ist ein großer Kondensator (4700uF) hinzugefügt, um die Stromversorgung zu puffern. Weitere Informationen finden Sie im Adafruit Überguide für Neopixel.

LEDs verbrauchen maximal 60mA pro LED, somit ist ein maximaler Strom von 200x60mA = 12A möglich!!! Durch die Reduzierung der Helligkeit und die Verwendung nicht alle LEDs in Vollweiß ist dies eher ein theoretischer Wert, jedoch hängt es vom Code ab, welcher Maximalstrom erreicht wird. Daher ist die Auswahl eines ausreichend großen Netzteils sehr wichtig. Für die meisten Anwendungen sollte ein Netzteil mit 5V/5A (25W) ausreichen.

Um die Backplane mit dem Pi und dem Matrix-Display zu fixieren, kann man sie mit einigen kleinen Holzstücken in die Kanten schieben und auch mit Schrauben die Backplane festhalten.

Schritt 8: Pi. einrichten

Setup-Pi
Setup-Pi

1. Laden Sie das neueste Raspbian Lite-Image von raspberrypi.org herunter

2. Kopieren Sie es auf eine SD-Karte, 8 GB sind genug. Sie können z. B. ätzen, um dies zu tun.

3. Bevor Sie den Pi mit der SD-Karte booten, bereiten Sie WIFI und SSH-Zugriff vor

4. Legen Sie die SD-Karte in einen beliebigen Computer ein, ein Boot-Ordner sollte zugänglich sein

5. Kopieren Sie die folgenden Zeilen in die Datei wpa_supplicant.conf (generieren Sie diese, falls nicht vorhanden) und ändern Sie die Parameter je nach Ihrem WLAN und Ihrer Region

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. Fügen Sie eine leere Datei namens ssh (ohne Erweiterung) zum Booten hinzu, um den SSH-Zugriff zu ermöglichen

7. Stecken Sie nun die SD-Karte in den Raspberry Pi und booten Sie diesen. Überprüfen Sie Ihren WLAN-Router, um die IP-Adresse des Pi. zu erhalten

8. Starten Sie eine SSH-Verbindung zum Pi über ein Terminal (Linux, Mac) oder z. B. Putty und Windows. Geben Sie die IP des Pi anstelle von 192.168.x.y ein

ssh [email protected]

9. Aktualisieren Sie den Pi (dauert etwas!)

sudo apt-get update

sudo apt-get upgrade

10. Pip und Setup-Tool installieren

sudo apt-get install python3-pip

sudo pip3 install --upgrade setuptools

11. Installieren Sie Neopixel-Treiber, ws281x lib, pygame und libsdl

sudo pip3 install rpi_ws281x adafruit-circuitpython-neopixel

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

12. Aktivieren Sie SPI, indem Sie raps-config aufrufen, navigieren Sie zu 5 Schnittstellenoptionen / P4 SPI / Aktivieren

sudo raspi-config

13. Bluetooth-Gamepad hinzufügen

sudo bluetoothctl

[Bluetooth]# Agent auf [Bluetooth]# Paarbar auf [Bluetooth]# Scan auf [Bluetooth]# Paar aa:bb:cc:dd:ee:ff [Bluetooth]# Vertrauen aa:bb:cc:dd:ee:ff [bluetooth]# verbinden aa:bb:cc:dd:ee:ff [bluetooth]# beenden

wobei aa:bb:cc:dd:ee:ff das MAC-Kleid Ihres Bluetooth-Gamepads ist. Diese Adresse sollte nach Aufruf des Befehls „scan on“angezeigt werden. Stellen Sie sicher, dass Ihr Bluetooth-Controller zum Pairing bereit ist. Lesen Sie dazu die Anleitung des Controllers.

14. Sie können sich jetzt mit Ihrem Pi verbinden, das Standardpasswort ist raspberry (Windows-Benutzer können Putty verwenden):

ssh [email protected]

Schritt 9: Python-Code, Test und Simulator

Python-Code, Test und Simulator
Python-Code, Test und Simulator
Python-Code, Test und Simulator
Python-Code, Test und Simulator
Python-Code, Test und Simulator
Python-Code, Test und Simulator

Code ist auf Github verfügbar. games_pi_only.py und alle bmp-Dateien werden benötigt.

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

Der Code kann im Simulationsmodus außerhalb des Pi ausgeführt werden, indem pygame verwendet wird, um die Matrix zu simulieren. Dies ist sehr hilfreich, um neue Funktionen zu entwickeln, ohne direkten Zugriff auf die Matrix-Hardware zu haben. Auch das Debuggen ist viel einfacher. Sie müssen die PI-Konstante setzen, um den Simulationsmodus zu aktivieren (Zeile 15):

PI=Falsch

In diesem Simulationsmodus wird auch die Tastatur anstelle des Bluetooth-Gamepads verwendet. Die Tasten 1, 2, 3, 4 sind A, B, X, Y des Gamepads zugeordnet, Pfeiltasten für Richtungen, „s“für Start und „x“für Auswahl. Sie können einen Standardeditor plus die Konsole oder einige integrierte IDEs wie Microsoft Visual Studio Code oder Jetbrain PyCharm verwenden, um die Entwicklung auf Ihrem PC durchzuführen.

Wenn Sie die Matrix und den Raspberry Pi verwenden, müssen Sie Folgendes definieren:

PI=Wahr

Um den Code auf den Raspberry Pi zu kopieren, können Sie den scp-Befehl (Windows WinSCP) verwenden. Öffnen Sie ein Konsolenfenster, wechseln Sie in den Ordner mit den Github-Dateien und rufen Sie. auf

scp games_pi_only [email protected]:/home/pi

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

Verbinden Sie sich dann über ssh mit dem Pi (Windows-Benutzer können Putty verwenden):

ssh [email protected]

Nach erfolgreicher Anmeldung können Sie den Python-Code starten, indem Sie Folgendes aufrufen:

sudo python3 games_pi_only.py

Wenn der Code korrekt ausgeführt wird, können Sie den Autostart aktivieren, indem Sie Folgendes aufrufen:

sudo nano /etc/rc.local

und fügen Sie die folgende Zeile vor Exit 0 hinzu:

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

Speichern (Strg+O) und Beenden (Strg+X)

Schritt 10: Abschlusstest und Veneer

Abschlusstest und Veneer
Abschlusstest und Veneer
Abschlusstest und Veneer
Abschlusstest und Veneer
Abschlusstest und Veneer
Abschlusstest und Veneer

Bevor das Furnier auf die Vorderseite geklebt wird, sollte die Matrix getestet werden, um sicherzustellen, dass alle LEDs funktionieren. Es ist viel einfacher, etwas zu fixieren, bevor das Furnier aufgeklebt wird.

Das verwendete Holzfurnier ist ein spezielles Ahornfurnierpapier namens Microwood, das einseitig mit Papier belegt ist und eine Stärke von 0,1 mm hat. Die Papierseite kann mit handelsüblichem wasserfreiem Papierkleber direkt auf das MDF geklebt werden.

Schritt 11: Das Ergebnis

Das Ergebnis
Das Ergebnis
Das Ergebnis
Das Ergebnis

Viel Spaß und viel Spaß beim Spiel!

Raspberry Pi-Wettbewerb 2020
Raspberry Pi-Wettbewerb 2020
Raspberry Pi-Wettbewerb 2020
Raspberry Pi-Wettbewerb 2020

Großer Preis beim Raspberry Pi Contest 2020

Empfohlen: