Indholdsfortegnelse:

LED -gamingskærm i træ Drevet af Raspberry Pi Zero: 11 trin (med billeder)
LED -gamingskærm i træ Drevet af Raspberry Pi Zero: 11 trin (med billeder)

Video: LED -gamingskærm i træ Drevet af Raspberry Pi Zero: 11 trin (med billeder)

Video: LED -gamingskærm i træ Drevet af Raspberry Pi Zero: 11 trin (med billeder)
Video: Min opgave er at observere skoven, og her sker noget mærkeligt. 2024, December
Anonim
LED -gamingskærm i træ Drevet af Raspberry Pi Zero
LED -gamingskærm i træ Drevet af Raspberry Pi Zero
LED -gamingskærm i træ Drevet af Raspberry Pi Zero
LED -gamingskærm i træ Drevet af Raspberry Pi Zero
LED -gamingskærm i træ Drevet af Raspberry Pi Zero
LED -gamingskærm i træ Drevet af Raspberry Pi Zero

Dette projekt realiserer et 20x10 pixel WS2812 baseret LED -display med en størrelse på 78x35 cm, som let kan installeres i stuen for at spille retrospil. Den første version af denne matrix blev bygget i 2016 og genopbygget af mange andre mennesker. Denne erfaring blev brugt til at opsummere alle forbedringer til at bygge en ny version af matrixen og bringe denne nu til instructables.com. De vigtigste nye funktioner er opdateringen til en Raspberry Pi Zero i stedet for at bruge og Pi A plus en Arduino og udskiftning af den tidligere store controller med en Bluetooth gamepad. Softwaren blev også forbedret inklusive simulatoren, som giver dig mulighed for at udvikle koden på en computer, selvom du ikke har adgang til matrixhardwaren.

Et særligt træk ved denne LED -matrix er den specielle træfiner, der bruges til at dække LED'en og skjule dem, når LED'er er deaktiveret. Dette øger acceptfaktoren for ikke-teknologiske mennesker stærkt;-) Selvfølgelig, hvis denne specielle finer ikke er tilgængelig i dit land, kan du også bruge noget andet diffust materiale som akryl til at skjule LED'erne. Det er også planlagt at levere nogle centrale dele i fremtiden for at gøre det lettere at genopbygge projektet.

Tilbehør:

  • Raspberry Pi Zero W (med en vis tilpasning fungerer alle andre modeller også)
  • 200 LED/s (WS2812B LED -striber med 30 LED/m)
  • 4x SPI LED matrix display med MAX7219
  • Kabler
  • Bluetooth gamepad (f.eks. Dette fra Pimoroni)
  • Strømforsyning 5V med mindst 5A
  • MDF træ til laserskæring
  • Træfiner eller diffusion akrylplade
  • Kondensator, modstand
  • Nogle skruer

Trin 1: Laserskæring

Laserskæring
Laserskæring
Laserskæring
Laserskæring
Laserskæring
Laserskæring

Matrixens grundstruktur er lavet af MDF -træ med en tykkelse på 3 mm og skæres af en laserskærer. Hvis du ikke ejer en laserskærer, kan du bruge en onlinetjeneste som ponoko.com eller formulor.de eller kontakte den næste fablab/makerspace i dit miljø. Det er også muligt at bruge pap eller andre lettere materialer, men de vedhæftede filer er designet til 3 mm tykkelse, så tyndere eller tykkere materialer har brug for et redesign af filerne. Designet blev udført i Fusion 360. De fleste af delene holder sammen bare ved at skubbe dem på plads, kun nogle af delene som de ydre kanter skal limes sammen ved hjælp af trælim. Sørg for, at din matrix fungerer fuldt ud, inden du påfører lim! Også træfiner skal limes på, men dette er det sidste trin efter at have sikret, at alt fungerer.

På højre (nederste) side af bagplanet er der et udskåret segment for at fastgøre de elektroniske komponenter til matrixen og stadig have adgang til disse komponenter, når fineren limes på.

Trin 2: Installer lysdioder

Installer lysdioder
Installer lysdioder
Installer lysdioder
Installer lysdioder
Installer lysdioder
Installer lysdioder

LED -striberne er standard 30 LED/m WS2812 -striber, som er tilgængelige på Amazon, eBay eller andre online butikker over hele verden. Dette er normalt også den billigste adresserbare LED -stribe, der findes. Hvis du vil bruge andre lysdioder, skal du sikre, at afstanden på 30 LED/m passer til matrixmønsteret. De laserskårne segmenter har små udskårne områder, så de passer til LED -bredden på 10 cm. Disse LED-striber har dobbeltsidet tape på ryggen, så du kan bare lime dem direkte til MDF efter præcis placering. Kontroller den korrekte retning for hver stribe, før du bruger tapen (DIN-DOUT-retning).

Ledningsmønster er en zig-zag, så i slutningen er der kun en indgangsstift til matricen, og kabellængderne er så korte som muligt. For at fordele strømmen korrekt og reducere kabinettet øverst i matrixen er hver LED -stribe forbundet til 5V og GND i bunden af matrixen. Du kan bruge enten enkeltledninger eller prototypende printkort til at distribuere 5V- og GND -linjen.

Trin 3: Montering

montage
montage
montage
montage
montage
montage

Eksplosionsvisningen hjælper med at identificere de korrekte stykker til samlingen. Følg bare trin-for-trin installationsbilleder. Bagplanet har tværstrukturer til at holde de lange sidevægge og nogle af de korte vægge. Hvis du har problemer med at installere stykkerne, skal du bruge sandpapir til at reparere det.

Trin 4: Lodning

Lodning
Lodning
Lodning
Lodning

Der er forskellige måder at lodde der strømledninger til de forskellige striber sammen. Enten kan du bruge enkelte tråde eller en slags common rail ud af kobber til at lodde de forskellige ledninger. I dette tilfælde blev stykker prototype PCB'er brugt til at lede strømskinnerne til striberne. WS2812B -striber har allerede separate strømkabler, som du kan bruge til at slutte strømskinnen til den første stribeindgang (venstre side på billedet).

Trin 5: Installer SPI -skærm

Installer SPI -skærm
Installer SPI -skærm

For at vise spilresultater og tekst bruges et LED -matrixdisplay baseret på LED -driveren MAX7219. Den er forbundet via SPI (Serial Peripheral Interface) til Raspberry Pi. Fire 8x8 -skærme kombineres til et 32x8 pixel dot matrix -display. Du kan købe disse 8x8 pixel displays til f.eks. på eBay findes der også kombinerede 32x8 pixel skærme. Du har også forskellige farveindstillinger; i dette tilfælde blev der brugt røde displays. Fordi SPI fungerer som et skiftregister, er skærmene forbundet serielt ved at forbinde data fra den første matrix til data i den anden og så videre fra højre side af displayet.

Dette display kan kun læses udefra, hvis det er placeret direkte bag finerlaget. Hvis ikke, er der kun en rød sløring synlig. Så du er nødt til at montere den oven på bagplansudskæringssegmentet med en afstand på 30 mm mellem overfladen af bagplanet og overfladen af matrixen. Jeg har brugt nogle rester af træstykker og skruer til at tilpasse de manglende 19 mm mellem bagpladen og printkortene, men du kan også enhver ydre type afstandsstykker.

Kabelføring af displayet vises i trin 7.

Trin 6: Installer Pi

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

I denne installation bruges en Raspberry Pi Zero. Du kan også bruge enhver anden Raspberry Pi -model, men nyere med integreret WiFi og Bluetooth giver dig mulighed for nemt at oprette forbindelse til trådløse gamepads og forenkle programmeringen. Du kan sikre Pi'en ved at bruge mindst to skruer og små afstandsstykker til at skrue den fast på bagplanet.

Til Raspberry Pi Zero W bruges følgende stifter:

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

Nogle mennesker rapporterede problemer med at bruge GPIO18 til lysdioderne. Brug venligst GPIO21 i dette tilfælde. I så fald skal du ændre koden i linje 21 til pixel_pin = board. D21.

WS2812B -strimlen bruges her uden for dens specifikationer. Normalt kræver det et 5V logisk niveau på DIN, men Pi giver kun 3, 3V. Selvom dette virker i de fleste tilfælde, bør du teste dette med din strip. Hvis det ikke virker, kan du tilføje en niveauomformer som en 74HCT245 eller en anden 3V3 til 5V -omformer mellem Pi og strimlen.

Trin 7: Ledningsføring og strømforsyning

Ledninger og strømforsyning
Ledninger og strømforsyning
Ledninger og strømforsyning
Ledninger og strømforsyning
Ledninger og strømforsyning
Ledninger og strømforsyning

Kabelføring foretages i henhold til ledningsskemaet. Strømforsyningen er en 5V DC forsyning.

For let at tænde/slukke matricen tilføjes en kontakt mellem strømstikket og matrixkredsløbene. Ikke desto mindre, fordi Raspberry Pi ikke kan lide at slukke hårdt, er der en lukningsmulighed i softwaren for sikkert at lukke Pi via Gamepad, før matricen skiftes.

LED -strip DIN -stiften er forbundet via en modstand til Pi, også en stor kondensator (4700uF) tilføjes for at buffer strømforsyningen. Se venligst Adafruit Überguide for Neopixels for flere detaljer.

Lysdioder forbruger en maksimal strøm på 60mA pr. LED, så en maksimal strøm på 200x60mA = 12A er mulig !!! Ved at reducere lysstyrken og ikke bruge alle lysdioder i fuld hvid, er dette mere en teoretisk værdi, men det afhænger af koden, hvilken maksimal strøm der nås. Så det er meget vigtigt at vælge en stor nok strømforsyning. For de fleste applikationer bør en strømforsyning med 5V/5A (25W) være nok.

For at fiksere bagplanet med Pi og Matrix -displayet kan nogle små træstykker bruges til at afrive dem i kanterne og også bruge skruer til at holde bagplanet på plads.

Trin 8: Opsætning Pi

Opsætning Pi
Opsætning Pi

1. Download det nyeste Raspbian lite -billede fra raspberrypi.org

2. Kopier det til og SD -kort, 8 GB er nok. Du kan bruge f.eks. ætser til at gøre dette.

3. Inden du starter Pi med SD -kortet, skal du forberede WIFI og ssh -adgang

4. Indsæt SD -kortet i en hvilken som helst computer, en startmappe skal være tilgængelig

5. Kopier følgende linjer til filen wpa_supplicant.conf (generer den, hvis den ikke findes), og skift parametrene afhængigt af din Wifi og område

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

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

6. Tilføj en tom fil kaldet ssh (uden udvidelse) for at starte for at aktivere ssh -adgang

7. Indsæt nu SD -kortet i Raspberry Pi og start det. Tjek din wifi -router for at få IP -adressen til Pi

8. starte en SSH -forbindelse til Pi ved hjælp af en terminal (Linux, Mac) eller f.eks. Kitt en Windows. Indsæt IP'en til Pi i stedet for 192.168.x.y

ssh [email protected]

9. Opdater Pi (tager noget tid!)

sudo apt-get opdatering

sudo apt-get opgradering

10. Installer pip og installationsværktøj

sudo apt-get install python3-pip

sudo pip3 install -opgrader setuptools

11. Installer Neopixel driver, ws281x lib, pygame og 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. Aktiver SPI ved at kalde raps-config, naviger til 5 Interfacing Options / P4 SPI / Enable

sudo raspi-config

13. Tilføj Bluetooth -gamepad

sudo bluetoothctl

[bluetooth]# agent på [bluetooth]# parbar på [bluetooth]# scanning på [bluetooth]# par aa: bb: cc: dd: ee: ff [bluetooth]# tillid aa: bb: cc: dd: ee: ff [bluetooth]# connect aa: bb: cc: dd: ee: ff [bluetooth]# afslut

hvor aa: bb: cc: dd: ee: ff er MAC -kjolen på din bluetooth gamepad. Denne adresse skal vises efter at du har kaldt kommandoen "scan on". Sørg for, at din Bluetooth -controller er klar til at blive parret. Se i manualen til controlleren, hvordan du gør dette.

14. Du kan nu oprette forbindelse til dig Pi via, standardadgangskode er hindbær (Windows -brugere kan bruge Putty):

ssh [email protected]

Trin 9: Python -kode, test og simulator

Python -kode, test og simulator
Python -kode, test og simulator
Python -kode, test og simulator
Python -kode, test og simulator
Python -kode, test og simulator
Python -kode, test og simulator

Koden er tilgængelig på Github. games_pi_only.py og alle bmp -filer er nødvendige.

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

Koden har en mulighed for at køre i simuleringstilstand uden for Pi ved hjælp af pygame til at simulere matrixen. Dette er meget nyttigt at udvikle nye funktioner uden at have direkte adgang til matrixhardwaren. Debugging er også meget lettere. Du skal indstille PI -konstanten for at aktivere simuleringstilstand (linje 15):

PI = Falsk

I denne simuleringstilstand bruges tastaturet ellers i stedet for Bluetooth gamepad. Knapperne 1, 2, 3, 4 er tilknyttet A, B, X, Y i gamepad, piletaster til retninger, “s” til start og “x” til valg. Du kan bruge en standard editor plus konsollen eller nogle integrerede IDE'er som Micosoft Visual Studio Code eller Jetbrain PyCharm til at udføre udviklingen på din pc.

Hvis du bruger matrixen og Raspberry Pi, skal du definere:

PI = sandt

For at kopiere koden til Raspberry Pi kan du bruge kommandoen scp (Windows WinSCP). Åbn et konsolvindue, skift til mappen, der indeholder Github -filerne, og ring til

scp games_pi_only [email protected]:/home/pi

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

opret derefter forbindelse til Pi via ssh (Windows -brugere kan bruge Putty):

ssh [email protected]

efter vellykket login kan du starte pythonkoden ved at ringe til:

sudo python3 games_pi_only.py

Hvis koden kører korrekt, kan du aktivere autostart ved at ringe til:

sudo nano /etc/rc.local

og tilføj følgende linje før afslutning 0:

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

Gem (Ctrl+O) og Afslut (Ctrl+X)

Trin 10: Afsluttende test og finer

Afsluttende test og finer
Afsluttende test og finer
Sidste test og finér
Sidste test og finér
Afsluttende test og finer
Afsluttende test og finer

Inden fineren limes oven på fronten, skal matrixen testes for at sikre, at alle lysdioder fungerer. Det er meget lettere at reparere noget, før fineren limes på.

Det brugte træfiner er et specielt ahornfinerpapir kaldet Microwood, som er dækket med papir på én side og har en tykkelse på 0, 1 mm. Papirsiden kan limes direkte på mdf ved hjælp af standard vandfri papirlim.

Trin 11: Resultatet

Resultatet
Resultatet
Resultatet
Resultatet

God fornøjelse og nyd spillet!

Raspberry Pi Contest 2020
Raspberry Pi Contest 2020
Raspberry Pi Contest 2020
Raspberry Pi Contest 2020

Storpris i Raspberry Pi Contest 2020

Anbefalede: