Innholdsfortegnelse:

LED -spillskjerm i tre drevet av Raspberry Pi Zero: 11 trinn (med bilder)
LED -spillskjerm i tre drevet av Raspberry Pi Zero: 11 trinn (med bilder)

Video: LED -spillskjerm i tre drevet av Raspberry Pi Zero: 11 trinn (med bilder)

Video: LED -spillskjerm i tre drevet av Raspberry Pi Zero: 11 trinn (med bilder)
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Juli
Anonim
LED -spillskjerm i tre drevet av Raspberry Pi Zero
LED -spillskjerm i tre drevet av Raspberry Pi Zero
LED -spillskjerm i tre drevet av Raspberry Pi Zero
LED -spillskjerm i tre drevet av Raspberry Pi Zero
LED -spillskjerm i tre drevet av Raspberry Pi Zero
LED -spillskjerm i tre drevet av Raspberry Pi Zero

Dette prosjektet realiserer en 20x10 piksel WS2812 -basert LED -skjerm med en størrelse på 78x35 cm som enkelt kan installeres i stuen for å spille retrospill. Den første versjonen av denne matrisen ble bygget i 2016 og gjenoppbygd av mange andre mennesker. Denne erfaringen ble brukt til å oppsummere alle forbedringer for å bygge en ny versjon av matrisen og bringe denne nå til instructables.com. De viktigste nye funksjonene er oppdateringen til en Raspberry Pi Zero i stedet for bruk og Pi A pluss en Arduino og erstatning av den forrige store kontrolleren med en Bluetooth gamepad. Programvaren ble også forbedret inkludert simulatoren, som lar deg utvikle koden på en datamaskin selv om du ikke har tilgang til matrisemaskinvaren.

En spesiell egenskap ved denne LED -matrisen er den spesielle trefineren, som brukes til å dekke LED -en og skjule dem når LED -lampene er deaktivert. Dette øker akseptfaktoren for ikke-tekniske mennesker sterkt;-) Selvfølgelig, hvis denne spesielle fineren ikke er tilgjengelig i ditt land, kan du også bruke noe annet diffust materiale som akryl for å skjule lysdiodene. Det er også planlagt å gi noen viktige deler i fremtiden for å gjøre det lettere å bygge opp prosjektet.

Rekvisita:

  • Raspberry Pi Zero W (med litt tilpasning vil alle andre modeller også fungere)
  • 200 LED/s (WS2812B LED -striper med 30 LED/m)
  • 4x SPI LED matriseskjerm med MAX7219
  • Kabler
  • Bluetooth gamepad (f.eks. Dette fra Pimoroni)
  • Strømforsyning 5V med minst 5A
  • MDF -tre for laserskjæring
  • Trefiner eller diffusjon akrylplate
  • Kondensator, motstand
  • Noen skruer

Trinn 1: Laserskjæring

Laserskjæring
Laserskjæring
Laserskjæring
Laserskjæring
Laserskjæring
Laserskjæring

Matrisens grunnstruktur er laget av MDF -tre med en tykkelse på 3 mm og kuttet av en laserskjærer. Hvis du ikke eier en laserskærer, kan du bruke en online tjeneste som ponoko.com eller formulor.de eller kontakte neste fablab/makerspace i ditt miljø. Det er også mulig å bruke papp eller andre lettere materialer, men de vedlagte filene er designet for 3 mm tykkelse, så tynnere eller tykkere materialer trenger en redesign av filene. Designet ble gjort i Fusion 360. De fleste delene holder sammen bare ved å skyve dem på plass, bare noen av delene som de ytre kantene skal limes sammen ved hjelp av trelim. Sørg for at matrisen din fungerer fullt ut før du påfører lim! Også trefiner må limes på, men dette er det siste trinnet etter å ha sørget for at alt fungerer.

På høyre (nedre) side av bakplanet er det et utskåret segment for å feste de elektroniske komponentene til matrisen og fortsatt ha tilgang til disse komponentene når fineren limes på.

Trinn 2: Installer lysdioder

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

LED -stripene er standard 30 LED/m WS2812 -striper, som er tilgjengelige på Amazon, eBay eller andre nettbutikker over hele verden. Dette er normalt også den billigste adresserbare LED -stripen som er tilgjengelig. Hvis du vil bruke andre lysdioder, må du sørge for 30 LED/m avstand for å passe til matrisemønsteret. De laserskårne segmentene har små utskårne områder for å passe til LED -bredden på 10 cm. Disse LED-stripene har dobbeltsidig tape på ryggen, slik at du kan lime dem direkte på MDF etter presis plassering. Kontroller riktig retning for hver stripe før du bruker båndet (DIN-DOUT-retning).

Kabelmønster er en sikksakk, så på slutten er det bare en inngangspinne til matrisen, og kabellengdene er så korte som mulig. For å fordele strømmen og redusere kabelen øverst på matrisen, er hver LED -stripe koblet til 5V og GND nederst på matrisen. Du kan bruke enkeltledninger eller prototypende PCB -er for å distribuere 5V- og GND -linjen.

Trinn 3: Montering

montering
montering
montering
montering
montering
montering

Eksplosjonsvisningen hjelper til med å identifisere de riktige brikkene for enheten. Bare følg de trinnvise installasjonsbildene. Bakplanet har tverrstrukturer for å holde de lange sideveggene og noen av de korte veggene. Hvis du har problemer med å installere bitene, bruker du sandpapir til å fikse det.

Trinn 4: Lodding

Lodding
Lodding
Lodding
Lodding

Det er forskjellige måter å lodde kraftledninger for de forskjellige stripene sammen. Enten kan du bruke enkle ledninger eller en eller annen form for fellesskinne av kobber for å lodde de forskjellige ledningene. I dette tilfellet ble det brukt stykker prototype PCB for å lede kraftskinnene til stripene. WS2812B -stripene har allerede separate strømkabler som du kan bruke til å koble strømskinnen til den første stripeinngangen (venstre side på bildet).

Trinn 5: Installer SPI -skjerm

Installer SPI -skjerm
Installer SPI -skjerm

For å vise spillresultater og tekst, brukes en LED -matrisedisplay basert på LED -driveren MAX7219. Den er koblet til Raspberry Pi via SPI (Serial Peripheral Interface). Fire 8x8 -skjermer er kombinert til en 32x8 pixel dot matrix -skjerm. Du kan kjøpe disse 8x8 pikslers skjermer for f.eks. på eBay er det også kombinert 32x8 piksler tilgjengelig. Du har også forskjellige fargevalg; i dette tilfellet ble røde skjermer brukt. Fordi SPI fungerer som et skiftregister, kobles displayene sammen i serie ved å koble data fra den første matrisen til data i den andre og så videre fra høyre side av displayet.

Denne skjermen er bare lesbar utenfra hvis den er plassert rett bak finerlaget. Hvis ikke, er det bare en rød uskarphet som er synlig. Så du må montere den på toppen av bakplanets utskårne segment med en avstand på 30 mm mellom overflaten på bakplanet og overflaten på matrisen. Jeg har brukt noen rester av trebiter og skruer for å tilpasse de manglende 19 mm mellom bakplanet og kretskortene, men du kan også bruke hvilken som helst ytre type avstandsstykker.

Kabling av displayet vises i trinn 7.

Trinn 6: Installer Pi

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

I denne installasjonen brukes en Raspberry Pi Zero. Du kan også bruke hvilken som helst annen Raspberry Pi -modell, men nyere med integrert WiFi og Bluetooth lar deg enkelt koble til trådløse gamepads og forenkle programmeringen. Du kan sikre Pi ved å bruke minst to skruer og små avstandsstykker til å skru den til bakplanet.

For Raspberry Pi Zero W brukes følgende pinner:

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

Noen mennesker rapporterte problemer med bruk av GPIO18 for lysdiodene. Vennligst bruk GPIO21 i dette tilfellet. I så fall må du endre koden på linje 21 til pixel_pin = board. D21.

WS2812B -stripen brukes her utenfor spesifikasjonen. Normalt krever det et 5V logisk nivå på DIN, men Pi gir bare 3, 3V. Selv om dette fungerer i de fleste tilfeller, bør du teste dette med stripen din. Hvis det ikke fungerer, kan du legge til en nivåomformer som en 74HCT245 eller en annen 3V3 til 5V -omformer mellom Pi og stripen.

Trinn 7: Kabling og strømforsyning

Kabling og strømforsyning
Kabling og strømforsyning
Kabling og strømforsyning
Kabling og strømforsyning
Kabling og strømforsyning
Kabling og strømforsyning

Kabling utføres i henhold til ledningsopplegget. Strømforsyningen er en 5V DC -forsyning.

For en enkel av/på -veksling av matrisen, legges det til en bryter mellom strømpluggen og matrisekretsene. Fordi Raspberry Pi ikke liker hard avstengning, er det imidlertid et alternativ for avstengning i programvaren for å trygt slå av Pi via Gamepad før du bytter matrisen.

LED -stripen DIN -pinne er koblet via en motstand til Pi, også en stor kondensator (4700uF) er lagt til for å buffer strømforsyningen. Ta en titt på Adafruit Überguide for Neopixels for mer informasjon.

Lysdioder bruker en maksimal strøm på 60mA per LED, så en maksimal strøm på 200x60mA = 12A er mulig !!! Ved å redusere lysstyrken og ikke bruke alle lysdioder i full hvit, er dette mer en teoretisk verdi, men det avhenger av koden hvilken maksimal strøm som er nådd. Så det er veldig viktig å velge en stor nok strømforsyning. For de fleste applikasjoner bør en strømforsyning med 5V/5A (25W) være nok.

For å fikse bakplanet med Pi og Matrix -skjermen, kan noen små trebiter brukes til å skrumpe dem i kantene og også bruke skruer for å holde bakplanet på plass.

Trinn 8: Sett opp Pi

Oppsett Pi
Oppsett Pi

1. Last ned det nyeste Raspbian lite -bildet fra raspberrypi.org

2. Kopier den til og SD -kort, 8 GB er nok. Du kan bruke f.eks. etser for å gjøre dette.

3. Før du starter Pi med SD -kortet, må du forberede WIFI og ssh -tilgang

4. Sett inn SD -kortet i en hvilken som helst datamaskin. En oppstartsmappe skal være tilgjengelig

5. Kopier følgende linjer til filen wpa_supplicant.conf (generer den hvis den ikke finnes) og endre parameterne avhengig av Wifi og region

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

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

6. Legg til en tom fil som heter ssh (uten utvidelse) for å starte for å aktivere ssh -tilgang

7. Sett inn SD -kortet i Raspberry Pi og start det. Sjekk wifi -ruteren din for å få IP -adressen til Pi

8. starte en SSH -tilkobling til Pi ved hjelp av en terminal (Linux, Mac) eller f.eks. Kitt en Windows. Sett inn IP -en til Pi i stedet for 192.168.x.y

ssh [email protected]

9. Oppdater Pi (tar litt tid!)

sudo apt-get oppdatering

sudo apt-get oppgradering

10. Installer pip og installeringsverktøy

sudo apt-get install python3-pip

sudo pip3 install -oppgrader 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 å kalle raps-config, naviger til 5 Grensesnittalternativer / P4 SPI / Aktiver

sudo raspi-config

13. Legg til Bluetooth Gamepad

sudo bluetoothctl

[bluetooth]# agent på [bluetooth]# parbar på [bluetooth]# skanning på [bluetooth]# par aa: bb: cc: dd: ee: ff [bluetooth]# trust aa: bb: cc: dd: ee: ff [bluetooth]# koble til aa: bb: cc: dd: ee: ff [bluetooth]# avslutt

hvor aa: bb: cc: dd: ee: ff er MAC -kjolen til din bluetooth -gamepad. Denne adressen skal vises etter at du har kalt "scan on" -kommandoen. Sørg for at Bluetooth -kontrolleren er klar til å koble til. Se håndboken til kontrolleren hvordan du gjør dette.

14. Du kan nå koble deg til Pi via, standardpassordet er bringebær (Windows -brukere kan bruke Putty):

ssh [email protected]

Trinn 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 tilgjengelig 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 et alternativ for å kjøre i simuleringsmodus utenfor Pi ved å bruke pygame for å simulere matrisen. Dette er veldig nyttig for å utvikle nye funksjoner uten å ha direkte tilgang til matrisemaskinvaren. Debugging er også mye lettere. Du må stille PI -konstanten for å aktivere simuleringsmodus (linje 15):

PI = Feil

I denne simuleringsmodusen brukes tastaturet i stedet for Bluetooth -gamepad. Knappene 1, 2, 3, 4 er tilordnet til A, B, X, Y på spillkontrollen, piltastene for retninger, “s” for start og “x” for å velge. Du kan bruke en standard editor pluss konsollen eller noen integrerte IDEer som Micosoft Visual Studio Code eller Jetbrain PyCharm for å gjøre utviklingen på din PC.

Hvis du bruker matrisen og Raspberry Pi, må du definere:

PI = sant

For å kopiere koden til Raspberry Pi kan du bruke kommandoen scp (Windows WinSCP). Åpne et konsollvindu, bytt til mappen som inneholder Github -filene og ring

scp games_pi_only [email protected]:/home/pi

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

koble deretter til Pi via ssh (Windows -brukere kan bruke Putty):

ssh [email protected]

etter vellykket pålogging kan du starte pythonkoden ved å ringe:

sudo python3 games_pi_only.py

Hvis koden fungerer som den skal, kan du aktivere autostart ved å ringe:

sudo nano /etc/rc.local

og legg til følgende linje før avkjørsel 0:

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

Lagre (Ctrl+O) og Avslutt (Ctrl+X)

Trinn 10: Sluttest og finér

Sluttest og finér
Sluttest og finér
Sluttest og finér
Sluttest og finér
Sluttest og finér
Sluttest og finér

Før fineren limes på toppen av fronten, bør matrisen testes for å sikre at alle lysdiodene fungerer. Det er mye lettere å fikse noe før fineren limes på.

Det brukte trefineret er et spesielt lønnfinerpapir kalt Microwood, som er dekket på én side med papir og har en tykkelse på 0, 1 mm. Papirsiden kan limes direkte på mdf ved hjelp av standard vannfritt papirlim.

Trinn 11: Resultatet

Resultatet
Resultatet
Resultatet
Resultatet

Ha det gøy og nyt spillet!

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

Storpris i Raspberry Pi Contest 2020

Anbefalt: