Innholdsfortegnelse:
- Trinn 1: Laserskjæring
- Trinn 2: Installer lysdioder
- Trinn 3: Montering
- Trinn 4: Lodding
- Trinn 5: Installer SPI -skjerm
- Trinn 6: Installer Pi
- Trinn 7: Kabling og strømforsyning
- Trinn 8: Sett opp Pi
- Trinn 9: Python -kode, test og simulator
- Trinn 10: Sluttest og finér
- Trinn 11: Resultatet
Video: LED -spillskjerm i tre drevet av Raspberry Pi Zero: 11 trinn (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:20
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
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
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
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
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
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
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 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
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
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):
Trinn 9: 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):
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
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
Ha det gøy og nyt spillet!
Storpris i Raspberry Pi Contest 2020
Anbefalt:
Raspberry Pi-drevet internettradio: 5 trinn (med bilder)
Raspberry Pi-drevet internettradio: Det er noe tilfredsstillende med å dreie ringer og trykke på knapper, som de på gamle radioer. Dessverre er mange av disse radioene ødelagte eller stasjonene har blitt stille. Heldigvis er det ikke så vanskelig å oppdatere noen radio til en internettradio ved hjelp av
Arduino og Raspberry Pi drevet overvåkingssystem for kjæledyr: 19 trinn (med bilder)
Arduino og Raspberry Pi Powered Pet Monitoring System: Nylig, mens vi var på ferie, innså vi mangelen på forbindelse med kjæledyret vårt Beagle. Etter litt undersøkelser fant vi produkter som inneholdt et statisk kamera som tillot en å overvåke og kommunisere med kjæledyret. Disse systemene hadde visse fordeler med
Raspberry Pi, Android, IoT og Bluetooth -drevet drone: 7 trinn (med bilder)
Raspberry Pi, Android, IoT og Bluetooth-drevet drone: Ved hjelp av en Raspberry Pi for innebygd logikk, vil denne kompakte, mobile datamaskinen opprette en lokal port som streamer en video i sanntid samtidig som den oppretter Bluetooth-kontakter for å lese verdier sendt av en tilpasset Android -app. Appen synkroniseres med t
Pool Pi Guy - AI -drevet alarmsystem og bassengovervåking ved hjelp av Raspberry Pi: 12 trinn (med bilder)
Pool Pi Guy - AI -drevet alarmsystem og bassengovervåking ved bruk av Raspberry Pi: Å ha et basseng hjemme er morsomt, men har et stort ansvar. Min største bekymring er å overvåke om noen er i nærheten av bassenget uten tilsyn (spesielt yngre barn). Min største irritasjon er å sørge for at bassengvannledningen aldri går under pumpens inngang
USB -drevet brenner! Dette prosjektet kan brenne gjennom plast / tre / papir (morsomt prosjekt må også være veldig fint tre): 3 trinn
USB -drevet brenner! Dette prosjektet kan brenne gjennom plast / tre / papir (morsomt prosjekt må også være veldig fint tre): IKKE GJØR DETTE MED USBEN !!!! Jeg fant ut at det kan skade datamaskinen din fra alle kommentarene. datamaskinen min har det bra. Bruk en 600ma 5v telefonlader. jeg brukte dette, og det fungerer fint, og ingenting kan bli skadet hvis du bruker en sikkerhetsplugg for å stoppe strømmen