Sadržaj:

Drveni LED ekran za igre Pokreće Raspberry Pi Zero: 11 koraka (sa slikama)
Drveni LED ekran za igre Pokreće Raspberry Pi Zero: 11 koraka (sa slikama)

Video: Drveni LED ekran za igre Pokreće Raspberry Pi Zero: 11 koraka (sa slikama)

Video: Drveni LED ekran za igre Pokreće Raspberry Pi Zero: 11 koraka (sa slikama)
Video: Leap Motion SDK 2024, Novembar
Anonim
Drveni LED igraći ekran Pokreće ga Raspberry Pi Zero
Drveni LED igraći ekran Pokreće ga Raspberry Pi Zero
Drveni LED igraći ekran Pokreće ga Raspberry Pi Zero
Drveni LED igraći ekran Pokreće ga Raspberry Pi Zero
Drveni LED ekran za igranje Pokreće ga Raspberry Pi Zero
Drveni LED ekran za igranje Pokreće ga Raspberry Pi Zero

Ovaj projekat realizuje LED ekran zasnovan na 20x10 piksela WS2812, veličine 78x35 cm, koji se može lako instalirati u dnevnoj sobi za igranje retro igara. Prva verzija ove matrice izgrađena je 2016. godine i obnovili su je mnogi drugi ljudi. Ovo iskustvo je korišteno za sumiranje 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đe je poboljšan softver, uključujući simulator, koji vam omogućava da razvijete kôd na računaru čak i ako nemate pristup hardveru matrice.

Jedna posebna karakteristika ove LED matrice je poseban drveni furnir, koji se koristi za prekrivanje LED diode i za njihovo sakrivanje, kada su LED diode onemogućene. Ovo uvelike povećava faktor prihvaćanja ljudi koji nisu tehničari;-) Naravno, ako ovaj poseban furnir nije dostupan u vašoj zemlji, možete upotrijebiti i neki drugi difuzni materijal poput akrila da sakrijete LED diode. Planirano je i pružanje nekih ključnih dijelova u budućnosti kako bi se olakšala obnova projekta.

Potrošni materijal:

  • Raspberry Pi Zero W (uz određenu prilagodbu, svi drugi modeli će također raditi)
  • 200 LED/s (WS2812B LED trake sa 30 LED/m)
  • 4x SPI LED matrični ekran sa MAX7219
  • Cables
  • Bluetooth gamepad (npr. Ovaj od Pimoronija)
  • Napajanje 5V sa 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 drveta 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. Moguće je koristiti i 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 urađen u Fusion 360. Većina dijelova drži se zajedno samo tako što ih se gurne na mjesto, 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 pričvršćuje elektroničke komponente za 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 adresibilna LED traka. Ako želite koristiti druge LED diode, morate osigurati udaljenost od 30 LED/m kako bi se uklopila u matrični uzorak. Laserski izrezani segmenti imaju male izrezane regije koje 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 upotrebe 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 dužine kabela su što kraće. Za pravilnu raspodjelu snage i smanjenje kabela na vrhu matrice, svaka LED traka je spojena 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

Montaža
Montaža
Montaža
Montaža
Montaža
Montaža

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 zidova 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 vodilica do pruga. WS2812B pruge već imaju zasebne kablove za napajanje koje možete koristiti za spajanje razvodnika na ulaz prve 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 baziran na LED upravljačkom programu MAX7219. Povezan je putem SPI (serijsko periferno sučelje) na Raspberry Pi. Četiri ekrana 8x8 kombinovana su sa matričnim ekranom od 32x8 piksela. Ove ekrane 8x8 piksela možete kupiti za npr. na eBay -u su dostupni i kombinovani ekrani od 32x8 piksela. Takođe imate različite opcije boja; u ovom slučaju korišteni su crveni ekrani. Budući da SPI radi kao registar pomaka, ekrani su serijski povezani povezivanjem podataka iz prve matrice s podacima u drugoj i tako dalje, počevši od desne strane ekrana.

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

Ožičenje ekrana 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. Možete koristiti i bilo koji drugi model Raspberry Pi, ali noviji s integriranim WiFi -em i Bluetooth -om omogućuju vam jednostavno povezivanje s bežičnim gamepadima i pojednostavljuju programiranje. 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ći pinovi:

  • 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 se ovdje koristi izvan svojih specifikacija. Obično zahtijeva logički nivo od 5V na DIN -u, ali Pi daje samo 3, 3V. Čak i ako ovo uspije u većini slučajeva, trebali biste to testirati svojom trakom. Ako ne radi, možete dodati pretvarač nivoa 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 opcija 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. Za više detalja pogledajte Adafruit Überguide za neopiksele.

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

Da biste fiksirali stražnju ploču s Pi i Matrix zaslonom, neki mali komadi drveta mogu se upotrijebiti za njihovo razbijanje po rubovima, a također se koriste i vijci za držanje zadnje ploče.

Korak 8: Postavite 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 ovo.

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

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

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

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

country = US update_config = 1 network = {ssid = "Kućni WiFi" psk = "moja lozinka" key_mgmt = WPA-PSK}

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

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

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

ssh [email protected]

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

sudo apt-get update

sudo apt-get nadogradnja

10. Instalirajte pip i alat za postavljanje

sudo apt-get install python3-pip

sudo pip3 install --upgrade setuptools

11. Instalirajte Neopixel upravljački program, ws281x lib, pygame i 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. Omogućite SPI pozivom raps-config, idite na 5 Opcije sučelja / P4 SPI / Omogući

sudo raspi-config

13. Dodajte Bluetooth Gamepad

sudo bluetoothctl

[bluetooth]# agent na [bluetoothu]# 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”. Uverite se da je vaš Bluetooth kontroler spreman za uparivanje. Proverite priručnik za kontroler kako to učiniti.

14. Sada se možete povezati sa Pi putem, zadana lozinka je malina (korisnici Windowsa 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 sve bmp datoteke su potrebne.

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 funkcija bez direktnog pristupa hardveru matrice. Otklanjanje grešaka je mnogo lakše. Morate postaviti PI konstantu da biste aktivirali način simulacije (Red 15):

PI = Netačno

U ovom načinu simulacije, umjesto Bluetooth gamepada, koristi se tastatura. Dugmad 1, 2, 3, 4 su mapirana u A, B, X, Y na gamepad -u, tasteri sa strelicama za uputstva, “s” za početak i “x” za izbor. Za razvoj na svom računaru 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 = Tačno

Da biste kopirali kôd na Raspberry Pi, možete koristiti naredbu scp (Windows WinSCP). Otvorite prozor konzole, prebacite se u mapu koja sadrži Github datoteke i pozovite

scp games_pi_only [email protected]:/home/pi

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

zatim se povežite na Pi putem ssh -a (korisnici Windowsa 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 &

Sačuvaj (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 je poseban papir od furnira javora zvan Microwood, koji je s jedne strane prekriven papirom i ima debljinu od 0,1 mm. Papirna strana se može lijepiti direktno 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 takmičenje 2020
Raspberry Pi takmičenje 2020
Raspberry Pi takmičenje 2020
Raspberry Pi takmičenje 2020

Velika nagrada na takmičenju Raspberry Pi 2020

Preporučuje se: