Sadržaj:

Drveni LED zaslon za igranje Powered by Raspberry Pi Zero: 11 koraka (sa slikama)
Drveni LED zaslon za igranje Powered by Raspberry Pi Zero: 11 koraka (sa slikama)

Video: Drveni LED zaslon za igranje Powered by Raspberry Pi Zero: 11 koraka (sa slikama)

Video: Drveni LED zaslon za igranje Powered by Raspberry Pi Zero: 11 koraka (sa slikama)
Video: Leap Motion SDK 2024, Srpanj
Anonim
Drveni LED zaslon za igre Pokreće ga Raspberry Pi Zero
Drveni LED zaslon za igre Pokreće ga Raspberry Pi Zero
Drveni LED zaslon za igre Pokreće ga Raspberry Pi Zero
Drveni LED zaslon za igre Pokreće ga Raspberry Pi Zero
Drveni LED zaslon za igre Pokreće ga Raspberry Pi Zero
Drveni LED zaslon za igre Pokreće ga Raspberry Pi Zero

Ovaj projekt realizira LED zaslon temeljen na 20x10 piksela WS2812 veličine 78x35 cm koji se može lako instalirati u dnevnu sobu za igranje retro igara. Prva verzija ove matrice izgrađena je 2016. godine, a obnovili su je mnogi drugi ljudi. Ovo iskustvo je korišteno za sažimanje svih poboljšanja za izradu nove verzije matrice i donošenje ovoga sada na instructables.com. Glavne nove značajke su nadogradnja na Raspberry Pi Zero umjesto korištenja i Pi A plus Arduina te zamjena prethodnog velikog kontrolera Bluetooth gamepadom. Također je poboljšan softver, uključujući simulator, koji vam omogućuje razvoj koda na računalu čak i ako nemate pristup hardveru matrice.

Jedna posebnost ove LED matrice je poseban drveni furnir, koji se koristi za prekrivanje LED diode i za njihovo skrivanje, kada su LED diode onemogućene. Ovo uvelike povećava faktor prihvaćanja ljudi koji nisu tehničari;-) Naravno, ako ovaj posebni furnir nije dostupan u vašoj zemlji, za sakrivanje LED dioda možete upotrijebiti i neki drugi difuzni materijal poput akrila. Također se planira u budućnosti osigurati neke ključne dijelove kako bi se olakšala obnova projekta.

Pribor:

  • Raspberry Pi Zero W (uz određenu prilagodbu, svi drugi modeli će također raditi)
  • 200 LED/s (WS2812B LED trake s 30 LED/m)
  • 4x SPI LED matrični zaslon s MAX7219
  • Kablovi
  • Bluetooth gamepad (npr. Ovo iz Pimoronija)
  • Napajanje 5V s najmanje 5A
  • MDF drvo za lasersko rezanje
  • Drveni furnir ili difuzijska akrilna ploča
  • Kondenzator, otpornik
  • Neki vijci

Korak 1: Lasersko rezanje

Lasersko rezanje
Lasersko rezanje
Lasersko rezanje
Lasersko rezanje
Lasersko rezanje
Lasersko rezanje

Osnovna struktura matrice izrađena je od MDF drva debljine 3 mm i izrezana laserskim rezačem. Ako ne posjedujete laserski rezač, možete koristiti internetsku uslugu poput ponoko.com ili formulalor.de ili kontaktirati sljedeći fablab/makerspace u svom okruženju. Također je moguće koristiti karton ili druge svjetlije materijale, ali priložene datoteke dizajnirane su za debljinu od 3 mm, pa tanji ili deblji materijali trebaju redizajn datoteka. Dizajn je izveden u sustavu Fusion 360. Većina se dijelova drži zajedno samo klizanjem na mjestu, samo neki dijelovi poput vanjskih obruba trebaju biti zalijepljeni ljepilom za drvo. Prije nanošenja ljepila provjerite radi li vaša matrica u potpunosti! I drveni furnir mora biti zalijepljen, ali ovo je posljednji korak nakon osiguranja da sve funkcionira.

Na desnoj (donjoj) strani stražnje ploče nalazi se izrezani segment koji učvršćuje elektroničke komponente na matricu i još uvijek ima pristup tim komponentama kada se furnir zalijepi.

Korak 2: Instalirajte LED diode

Ugradite LED diode
Ugradite LED diode
Ugradite LED diode
Ugradite LED diode
Ugradite LED diode
Ugradite LED diode

LED trake su standardne 30 LED/m WS2812 trake, koje su dostupne u Amazonu, eBayu ili drugim internetskim trgovinama diljem svijeta. Ovo je inače i najjeftinija dostupna adresirana LED traka. Ako želite koristiti druge LED diode, morate osigurati da udaljenost od 30 LED/m odgovara matričnom uzorku. Laserski izrezani segmenti imaju mala izrezana područja koja odgovaraju LED širini od 10 cm. Ove LED trake imaju dvostranu traku na leđima, pa ih možete jednostavno zalijepiti izravno na MDF nakon preciznog pozicioniranja. Prije uporabe trake provjerite ispravnu orijentaciju svake trake (smjer DIN-DOUT).

Uzorak ožičenja je cik-cak, pa na kraju postoji samo jedan ulazni pin na matricu, a duljine kabela su što kraće. Za pravilnu raspodjelu snage i smanjenje kabela na vrhu matrice, svaka LED traka spojena je na 5V i GND na dnu matrice. Za distribuciju 5V i GND linije možete koristiti pojedinačne žice ili prototipske PCB -e.

Korak 3: Montaža

Skupština
Skupština
Skupština
Skupština
Skupština
Skupština

Prikaz eksplozije pomaže u identifikaciji ispravnih dijelova za sklop. Samo slijedite korak-po-korak slike instalacije. Stražnja ploča ima poprečne strukture za držanje dugih bočnih stijenki i nekih kratkih zidova. Ako imate problema s ugradnjom komada, popravite ih brusnim papirom.

Korak 4: Lemljenje

Lemljenje
Lemljenje
Lemljenje
Lemljenje

Postoje različiti načini lemljenja dalekovoda za različite pruge zajedno. Za lemljenje različitih žica možete koristiti pojedinačne žice ili neku zajedničku vodilicu od bakra. U ovom slučaju, komadi prototipa PCB -a korišteni su za usmjeravanje tračnica do pruga. Trake WS2812B već imaju zasebne kabele za napajanje koje možete koristiti za spajanje razvodnika na prvi ulaz trake (lijeva strana na slici).

Korak 5: Instalirajte SPI zaslon

Instalirajte SPI zaslon
Instalirajte SPI zaslon

Za prikaz rezultata igre i teksta koristi se LED matrični zaslon temeljen na LED upravljačkom programu MAX7219. Povezan je putem SPI (serijsko periferno sučelje) na Raspberry Pi. Četiri zaslona 8x8 kombinirana su s matričnim zaslonom od 32x8 piksela. Ove zaslone 8x8 piksela možete kupiti za npr. na eBayu su dostupni i kombinirani zasloni veličine 32x8 piksela. Također imate različite mogućnosti boja; u ovom slučaju korišteni su crveni zasloni. Budući da SPI radi kao registar pomaka, zasloni su serijski povezani povezivanjem podataka iz prve matrice s podacima u drugoj i tako dalje, počevši od desne strane zaslona.

Ovaj se zaslon može čitati samo izvana ako je postavljen izravno iza sloja furnira. Ako nije, vidljiva je samo crvena zamućenost. Zato ga morate montirati na izrezani segment stražnje ploče s razmakom od 30 mm između površine stražnje ploče i površine matrice. Koristio sam neke preostale drvene komade i vijke za prilagodbu nedostajućih 19 mm između stražnje ploče i PCB -a, ali možete i bilo koju vanjsku vrstu odstojnika.

Ožičenje zaslona prikazano je u koraku 7.

Korak 6: Instalirajte Pi

Instalirajte Pi
Instalirajte Pi
Instalirajte Pi
Instalirajte Pi
Instalirajte Pi
Instalirajte Pi

U ovoj instalaciji koristi se Raspberry Pi Zero. Također možete koristiti bilo koji drugi model Raspberry Pi, ali noviji s integriranim WiFi -jem i Bluetooth -om omogućuju vam jednostavno povezivanje s bežičnim gamepadima i pojednostavljenje programiranja. Pi možete pričvrstiti pomoću najmanje dva vijka i malih odstojnika za pričvršćivanje na stražnju ploču.

Za Raspberry Pi Zero W koriste se sljedeće igle:

  • PIN 2: 5V
  • PIN 6: GND
  • GPIO18 -> LED trake
  • GPIO11: SPI CLK -> MAX7219 matrični CLK
  • GPIO10: SPI MOSI -> MAX7219 matrica DIN
  • GPIO8: SPI CS -> MAX7219 matrični CS

Neki su ljudi prijavili probleme s upotrebom GPIO18 za LED diode. U ovom slučaju koristite GPIO21. Ako je tako, morate promijeniti kôd u retku 21 u pixel_pin = board. D21.

Traka WS2812B ovdje se koristi izvan svojih specifikacija. Obično zahtijeva 5V logičku razinu na DIN -u, ali Pi daje samo 3, 3V. Čak i ako to uspije u većini slučajeva, trebali biste to testirati svojom trakom. Ako ne radi, možete dodati pretvarač razine poput 74HCT245 ili bilo koji drugi pretvarač 3V3 u 5V između Pi i trake.

Korak 7: Ožičenje i napajanje

Ožičenje i napajanje
Ožičenje i napajanje
Ožičenje i napajanje
Ožičenje i napajanje
Ožičenje i napajanje
Ožičenje i napajanje

Ožičenje se vrši prema shemi ožičenja. Napajanje je 5V DC napajanje.

Za jednostavno uključivanje/isključivanje matrice, dodaje se prekidač između utikača i krugova matrice. Ipak, budući da Raspberry Pi ne voli teško isključivanje, u softveru postoji mogućnost isključivanja za sigurno isključivanje Pi putem Gamepada prije prebacivanja matrice.

DIN pin LED trake spojen je preko otpornika na Pi, također je dodan veliki kondenzator (4700uF) za međuspremnik napajanja. Više detalja potražite u Adafruit Überguideu za neopiksele.

LED troši maksimalnu struju od 60mA po LED, pa je moguća maksimalna struja od 200x60mA = 12A !!! Smanjenjem svjetline i ne korištenjem svih LED dioda u punoj bijeloj boji, ovo je više teoretska vrijednost, ali o kodu ovisi koja je maksimalna struja dosegnuta. Stoga je odabir dovoljno velikog izvora napajanja vrlo važan. Za većinu aplikacija napajanje s 5V/5A (25W) trebalo bi biti dovoljno.

Za pričvršćivanje stražnje ploče s zaslonom Pi i Matrixom, neki mali komadi drva mogu se upotrijebiti za njihovo razbijanje po rubovima, a također se koriste i vijci za držanje stražnje ploče.

Korak 8: Postavljanje Pi

Postavljanje Pi
Postavljanje Pi

1. Preuzmite najnoviju Raspbian lite sliku sa stranice raspberrypi.org

2. Kopirajte je na SD karticu, dovoljno je 8 GB. Možete koristiti npr. etcher za to.

3. Prije pokretanja Pi sa SD kartice, pripremite WIFI i ssh pristup

4. Umetnite SD karticu u bilo koje računalo, mapa za pokretanje bi trebala biti dostupna

5. Kopirajte sljedeće retke u datoteku wpa_supplicant.conf (generirajte je ako ne postoji) i promijenite parametre ovisno o Wifi -u i regiji

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

country = US update_config = 1 network = {ssid = "Domaći Wifi" psk = "moja lozinka" key_mgmt = WPA-PSK}

6. Dodajte praznu datoteku pod nazivom ssh (bez ikakvog nastavka) za pokretanje kako biste omogućili pristup ssh -u

7. Sada umetnite SD karticu u Raspberry Pi i pokrenite je. Provjerite svoj WiFi usmjerivač da biste dobili IP adresu Pi

8. pokrenite SSH vezu s Pi -om pomoću terminala (Linux, Mac) ili npr. Zalijepiti Windows. Umetnite IP broja Pi umjesto 192.168.x.y

ssh [email protected]

9. Ažurirajte Pi (potrebno je neko vrijeme!)

sudo apt-get ažuriranje

sudo apt-get nadogradnja

10. Instalirajte pip i alat za postavljanje

sudo apt-get install python3-pip

sudo pip3 install --upgrade setuptools

11. Instalirajte upravljački program Neopixel, ws281x lib, pygame i libsdl

sudo pip3 instalirati rpi_ws281x adafruit-circuitpython-neopixel

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

12. Omogućite SPI pozivom raps-config, prijeđite na 5 Opcija sučelja / P4 SPI / Omogući

sudo raspi-config

13. Dodajte Bluetooth Gamepad

sudo bluetoothctl

[bluetooth]# agent na [bluetooth]# moguće spajanje na [bluetooth]# skeniranje na [bluetooth]# par aa: bb: cc: dd: ee: ff [bluetooth]# povjerenje aa: bb: cc: dd: ee: ff [bluetooth]# povežite aa: bb: cc: dd: ee: ff [bluetooth]# odustanite

gdje je aa: bb: cc: dd: ee: ff MAC haljina vašeg bluetooth gamepada. Ova adresa bi se trebala prikazati nakon pozivanja naredbe "scan on". Provjerite je li vaš Bluetooth kontroler spreman za uparivanje. Provjerite priručnik za upravljanje kako to učiniti.

14. Sada se možete povezati s Pi putem, zadana lozinka je malina (korisnici sustava Windows mogu koristiti Putty):

ssh [email protected]

Korak 9: Python kod, test i simulator

Python kod, test i simulator
Python kod, test i simulator
Python kod, test i simulator
Python kod, test i simulator
Python kod, test i simulator
Python kod, test i simulator

Kod je dostupan na Githubu. games_pi_only.py i potrebne su sve bmp datoteke.

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

Kod ima mogućnost izvođenja u simulacijskom načinu rada izvan Pi -a koristeći pygame za simulaciju matrice. Ovo je vrlo korisno za razvoj novih značajki bez izravnog pristupa hardveru matrice. Također je ispravljanje pogrešaka mnogo lakše. Morate postaviti PI konstantu da biste aktivirali način simulacije (redak 15):

PI = Netačno

U ovom simulacijskom načinu rada tipkovnica se koristi umjesto Bluetooth gamepada. Gumbi 1, 2, 3, 4 mapirani su u A, B, X, Y na gamepadu, tipke sa strelicama za upute, “s” za početak i “x” za odabir. Za razvoj na svom računalu možete koristiti standardni uređivač plus konzolu ili neke integrirane IDE -ove poput Micosoft Visual Studio Code ili Jetbrain PyCharm.

Ako koristite matricu i Raspberry Pi, morate definirati:

PI = Istina

Za kopiranje koda na Raspberry Pi možete upotrijebiti naredbu scp (Windows WinSCP). Otvorite prozor konzole, prijeđite u mapu koja sadrži datoteke Github i nazovite

scp games_pi_only [email protected]:/home/pi

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

zatim se povežite s Pi putem ssh -a (korisnici sustava Windows mogu koristiti Putty):

ssh [email protected]

nakon uspješne prijave, možete pokrenuti python kôd pozivom:

sudo python3 games_pi_only.py

Ako kôd radi ispravno, možete omogućiti automatsko pokretanje pozivom:

sudo nano /etc/rc.local

i dodajte sljedeći redak prije izlaza 0:

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

Spremi (Ctrl+O) i Izađi (Ctrl+X)

Korak 10: Završni test i furnir

Završni test i furnir
Završni test i furnir
Završni test i furnir
Završni test i furnir
Završni test i furnir
Završni test i furnir

Prije nego se furnir zalijepi s prednje strane, matricu treba ispitati kako bi se osiguralo da sve LED diode rade. Mnogo je lakše popraviti nešto prije nego što se furnir zalijepi.

Korišteni drveni furnir poseban je papir od furnira javora zvan Microwood, koji je s jedne strane prekriven papirom i ima debljinu od 0,1 mm. Papirna strana može se lijepiti izravno na mdf pomoću standardnog ljepila za papir bez vode.

Korak 11: Rezultat

Rezultat
Rezultat
Rezultat
Rezultat

Zabavite se i uživajte u igri!

Raspberry Pi natjecanje 2020
Raspberry Pi natjecanje 2020
Raspberry Pi natjecanje 2020
Raspberry Pi natjecanje 2020

Velika nagrada na natjecanju Raspberry Pi 2020

Preporučeni: