Obsah:

Drevený LED herný displej poháňaný Raspberry Pi Zero: 11 krokov (s obrázkami)
Drevený LED herný displej poháňaný Raspberry Pi Zero: 11 krokov (s obrázkami)

Video: Drevený LED herný displej poháňaný Raspberry Pi Zero: 11 krokov (s obrázkami)

Video: Drevený LED herný displej poháňaný Raspberry Pi Zero: 11 krokov (s obrázkami)
Video: Часть 5. Аудиокнига «Джунгли» Эптона Синклера (главы 18–22) 2024, Júl
Anonim
Drevený LED herný displej poháňaný Raspberry Pi Zero
Drevený LED herný displej poháňaný Raspberry Pi Zero
Drevený LED herný displej poháňaný Raspberry Pi Zero
Drevený LED herný displej poháňaný Raspberry Pi Zero
Drevený LED herný displej poháňaný Raspberry Pi Zero
Drevený LED herný displej poháňaný Raspberry Pi Zero

Tento projekt realizuje LED displej s rozlíšením 20 x 10 pixelov WS2812 s veľkosťou 78 x 35 cm, ktorý je možné ľahko nainštalovať do obývačky a hrať retro hry. Prvá verzia tejto matice bola postavená v roku 2016 a prestavaná mnohými ďalšími ľuďmi. Táto skúsenosť bola použitá na zhrnutie všetkých vylepšení pri vytváraní novej verzie matice a jej uvedení na stránku instructables.com. Hlavnými novými funkciami sú aktualizácia na Raspberry Pi Zero namiesto toho a Pi A plus Arduino a nahradenie predchádzajúceho veľkého ovládača gamepadom Bluetooth. Vylepšený bol aj softvér vrátane simulátora, ktorý vám umožňuje vyvíjať kód na počítači, aj keď nemáte prístup k maticovému hardvéru.

Jednou špeciálnou vlastnosťou tejto matice LED je špeciálna drevená dyha, ktorá sa používa na zakrytie LED a na ich skrytie, keď sú LED diódy vypnuté. To výrazne zvyšuje faktor akceptácie netechnických ľudí;-) Samozrejme, ak táto špeciálna dyha nie je vo vašej krajine k dispozícii, môžete na skrytie LED diód použiť aj iný difúzny materiál, ako je akryl. V budúcnosti sa plánuje poskytnúť niektoré kľúčové časti, ktoré by uľahčili obnovu projektu.

Zásoby:

  • Raspberry Pi Zero W (s určitou adaptáciou budú fungovať aj všetky ostatné modely)
  • 200 LED/s s (WS2812B LED pásy s 30 LED/m)
  • 4x SPI LED maticový displej s MAX7219
  • Káble
  • Bluetooth gamepad (napr. Od Pimoroni)
  • Napájanie 5V s najmenej 5A
  • MDF drevo na rezanie laserom
  • Drevená dyha alebo difúzna akrylová doska
  • Kondenzátor, odpor
  • Nejaké skrutky

Krok 1: Rezanie laserom

Rezanie laserom
Rezanie laserom
Rezanie laserom
Rezanie laserom
Rezanie laserom
Rezanie laserom

Základná štruktúra matrice je vyrobená z MDF dreva s hrúbkou 3 mm a rezaná laserovou rezačkou. Ak nevlastníte laserovú rezačku, môžete použiť online službu, ako je ponoko.com alebo formullor.de, alebo sa obrátiť na ďalšieho fablab/makerspace vo svojom okolí. Je možné použiť aj lepenku alebo iný ľahší materiál, ale priložené súbory sú navrhnuté pre hrúbku 3 mm, takže tenšie alebo hrubšie materiály vyžadujú redizajn súborov. Návrh bol vykonaný vo Fusion 360. Väčšina častí drží pohromade len ich posunutím na miesto, iba niektoré časti, ako napríklad vonkajšie okraje, by mali byť zlepené pomocou lepidla na drevo. Pred nanesením akéhokoľvek lepidla sa uistite, že je vaša matrica plne funkčná! Tiež je potrebné nalepiť drevenú dyhu, ale to je posledný krok po zaistení toho, aby všetko fungovalo.

Na pravej (spodnej) strane základnej dosky je vyrezaný segment, ktorý zaisťuje elektronické súčiastky k matici a má k nim stále prístup, keď je dyha nalepená.

Krok 2: Nainštalujte diódy LED

Nainštalujte LED diódy
Nainštalujte LED diódy
Nainštalujte LED diódy
Nainštalujte LED diódy
Nainštalujte LED diódy
Nainštalujte LED diódy

LED pásy sú štandardné 30 LED/m pásy WS2812, ktoré sú k dispozícii v Amazone, eBay alebo iných internetových obchodoch po celom svete. Toto je zvyčajne tiež najlacnejší dostupný LED pásik. Ak chcete použiť iné LED diódy, musíte zaistiť vzdialenosť 30 LED/m, aby zodpovedali maticovému vzoru. Laserom rezané segmenty majú malé vyrezané oblasti, aby sa zmestili do šírky LED 10 cm. Tieto pásy LED majú na zadnej strane obojstrannú pásku, takže ich môžete po presnom umiestnení jednoducho prilepiť priamo na MDF. Pred použitím pásky skontrolujte správnu orientáciu každého pruhu (smer DIN-DOUT).

Schéma zapojenia je kľukatá, takže na konci je k matici iba jeden vstupný kolík a dĺžky káblov sú čo najkratšie. Aby sa správne rozdelil výkon a znížilo napätie v hornej časti matice, je každý pásik LED pripojený k 5V a GND v spodnej časti matice. Na distribúciu vedenia 5V a GND môžete použiť buď jednoduché vodiče, alebo prototypové dosky plošných spojov.

Krok 3: Zostavenie

zhromaždenie
zhromaždenie
zhromaždenie
zhromaždenie
zhromaždenie
zhromaždenie

Pohľad na výbuch pomáha identifikovať správne kusy pre zostavu. Postupujte podľa podrobných inštalačných obrázkov. Zadná doska má priečne konštrukcie, ktoré držia dlhé bočné steny a niektoré krátke steny. Ak máte problémy s inštaláciou dielov, opravte ho brúsnym papierom.

Krok 4: Spájkovanie

Spájkovanie
Spájkovanie
Spájkovanie
Spájkovanie

Existujú rôzne spôsoby spájkovania elektrických vedení pre rôzne pruhy dohromady. Na spájkovanie rôznych vodičov môžete použiť buď jednoduché vodiče, alebo nejaký druh common rail z medi. V tomto prípade boli na vedenie energetických koľajníc k pruhom použité kusy prototypu PCB. Pásy WS2812B už majú samostatné napájacie káble, ktoré môžete použiť na pripojenie napájacej lišty k prvému vstupu pruhu (ľavá strana na obrázku).

Krok 5: Nainštalujte displej SPI

Nainštalujte displej SPI
Nainštalujte displej SPI

Na zobrazenie skóre a textu hry sa používa maticový LED displej založený na LED ovládači MAX7219. K Raspberry Pi je pripojený prostredníctvom SPI (sériové periférne rozhranie). Štyri displeje s rozmermi 8 x 8 sú kombinované do bodového maticového displeja s rozmermi 32 x 8 pixelov. Tento 8x8 pixelový displej môžete kúpiť napr. na eBay sú k dispozícii aj kombinované 32 x 8 pixelové displeje. Tiež máte rôzne možnosti farieb; v tomto prípade boli použité červené displeje. Pretože SPI funguje ako posuvný register, displeje sú navzájom spojené sériovo prepojením údajov z prvej matice s údajmi v druhej a podobne, začínajúc od pravej strany displeja.

Tento displej je čitateľný iba zvonku, ak je umiestnený priamo za vrstvou dyhy. Ak nie, je viditeľná iba červená neostrosť. Musíte ho teda namontovať na vrch vystrihnutého segmentu základnej dosky so vzdialenosťou 30 mm medzi povrchom základnej dosky a povrchom matice. Použil som niekoľko zvyšných drevených dielov a skrutiek, aby som upravil chýbajúcich 19 mm medzi prepojovacou doskou a plošnými spojmi, ale môžete použiť aj akýkoľvek vonkajší typ rozperiek.

Zapojenie displeja je zobrazené v kroku 7.

Krok 6: Nainštalujte Pi

Nainštalujte Pi
Nainštalujte Pi
Nainštalujte Pi
Nainštalujte Pi
Nainštalujte Pi
Nainštalujte Pi

V tejto inštalácii je použitý Raspberry Pi Zero. Môžete tiež použiť akýkoľvek iný model Raspberry Pi, ale novšie s integrovaným WiFi a Bluetooth vám umožnia jednoduché pripojenie k bezdrôtovým gamepadom a zjednodušenie programovania. Pi môžete zaistiť pomocou najmenej dvoch skrutiek a malých rozperiek, ktorými ho priskrutkujete k základnej doske.

Pre Raspberry Pi Zero W sa používajú nasledujúce kolíky:

  • PIN 2: 5V
  • PIN 6: GND
  • GPIO18 -> LED pásy
  • GPIO11: SPI CLK -> MAX7219 maticová CLK
  • GPIO10: SPI MOSI -> MAX7219 matica DIN
  • GPIO8: SPI CS -> MAX7219 matica CS

Niektorí ľudia hlásili problémy s používaním GPIO18 pre LED diódy. V tomto prípade použite GPIO21. Ak je to tak, musíte zmeniť kód v riadku 21 na pixel_pin = board. D21.

Pás WS2812B sa tu používa mimo svojich špecifikácií. Normálne to vyžaduje logickú úroveň 5V na DIN, ale Pi poskytuje iba 3, 3V. Aj keď to vo väčšine prípadov funguje, mali by ste to otestovať pomocou prúžku. Ak to nefunguje, môžete medzi Pi a pásik pridať prevodník úrovní ako 74HCT245 alebo akýkoľvek iný prevodník 3V3 na 5V.

Krok 7: Zapojenie a napájanie

Elektroinštalácia a napájanie
Elektroinštalácia a napájanie
Elektroinštalácia a napájanie
Elektroinštalácia a napájanie
Elektroinštalácia a napájanie
Elektroinštalácia a napájanie

Zapojenie sa vykonáva podľa schémy zapojenia. Napájací zdroj je 5V DC.

Na ľahké zapnutie/vypnutie matice je medzi napájaciu zástrčku a maticové obvody pridaný spínač. Napriek tomu, pretože Raspberry Pi nemá rád tvrdé vypnutie, v softvéri je možnosť vypnutia, aby sa Pi pred vypnutím matice bezpečne vyplo prostredníctvom Gamepadu.

LED kolíkový pásik DIN je pripojený cez rezistor k Pi, tiež je pridaný veľký kondenzátor (4700uF) na vyrovnanie napájania. Bližšie informácie nájdete v dokumente Adafruit Überguide for Neopixels.

LED diódy spotrebúvajú maximálny prúd 60mA na jednu LED, takže je možný maximálny prúd 200x60mA = 12A !!! Znížením jasu a nepoužitím všetkých LED diód úplne bielej je to skôr teoretická hodnota, ale závisí to od kódu, ktorý maximálny prúd sa dosiahne. Výber dostatočne veľkého napájacieho zdroja je preto veľmi dôležitý. Pre väčšinu aplikácií by mal stačiť zdroj s napätím 5 V/5 A (25 W).

Na upevnenie základnej dosky k displeju Pi a Matrix je možné použiť niekoľko malých kúskov dreva, ktoré ich poškriabajú na okrajoch, a tiež pomocou skrutiek držať zadnú dosku na mieste.

Krok 8: Nastavte Pi

Nastaviť Pi
Nastaviť Pi

1. Stiahnite si najnovší obrázok Raspbian lite z raspberrypi.org

2. Skopírujte ho na kartu SD a stačí 8 GB. Môžete použiť napr. etcher, aby to urobil.

3. Pred zavedením Pi z karty SD si pripravte prístup WIFI a ssh

4. Vložte kartu SD do akéhokoľvek počítača, bootovací priečinok by mal byť prístupný

5. Skopírujte nasledujúce riadky do súboru wpa_supplicant.conf (vygenerujte ho, ak neexistuje) a zmeňte parametre v závislosti od vašej siete Wi -Fi a oblasti

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

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

6. Pridajte na spustenie prázdny súbor s názvom ssh (bez akejkoľvek prípony), aby bol povolený prístup ssh

7. Teraz vložte kartu SD do Raspberry Pi a spustite ju. Skontrolujte svoj router WiFi a získajte IP adresu zariadenia Pi

8. spustite SSH pripojenie k Pi pomocou terminálu (Linux, Mac) alebo napr. Tmel na Windows. Vložte IP Pi namiesto 192.168.x.y

ssh [email protected]

9. Aktualizujte Pi (chvíľu to trvá!)

sudo apt-get aktualizácia

sudo apt-get upgrade

10. Nainštalujte pip a nástroj na nastavenie

sudo apt-get install python3-pip

sudo pip3 install -aktualizácia nástrojov nastavenia

11. Nainštalujte ovládač Neopixel, ws281x lib, pygame a libsdl

sudo pip3 nainštalujte rpi_ws281x adafruit-circuitpython-neopixel

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

12. Povoľte SPI zavolaním raps-config, prejdite na 5 možností rozhrania / P4 SPI / Povoliť

sudo raspi-config

13. Pridajte Bluetooth gamepad

sudo bluetoothctl

[bluetooth]# agent na [bluetooth]# nastaviteľný na [bluetooth]# skenovanie na [bluetooth]# pár aa: bb: cc: dd: ee: ff [bluetooth]# trust aa: bb: cc: dd: ee: ff [bluetooth]# connect aa: bb: cc: dd: ee: ff [bluetooth]# quit

kde aa: bb: cc: dd: ee: ff sú šaty MAC vášho bluetooth gamepadu. Táto adresa by sa mala zobraziť po zavolaní príkazu „skenovať ďalej“. Uistite sa, že je váš ovládač Bluetooth pripravený na párovanie. V tomto návode si prečítajte návod k ovládaču.

14. Teraz sa k vám môžete pripojiť pomocou Pi, predvolené heslo je malina (používatelia systému Windows môžu používať Putty):

ssh [email protected]

Krok 9: Kód, test a simulátor Pythonu

Kód, test a simulátor Pythonu
Kód, test a simulátor Pythonu
Kód, test a simulátor Pythonu
Kód, test a simulátor Pythonu
Kód, test a simulátor Pythonu
Kód, test a simulátor Pythonu

Kód je k dispozícii na Github. games_pi_only.py a všetky súbory bmp sú potrebné.

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

Kód má možnosť bežať v simulačnom režime mimo Pi pomocou pygame na simuláciu matice. To je veľmi užitočné pri vývoji nových funkcií bez priameho prístupu k maticovému hardvéru. Tiež ladenie je oveľa jednoduchšie. Na aktiváciu simulačného režimu musíte nastaviť konštantu PI (riadok 15):

PI = nepravda

V tomto simulačnom režime sa namiesto gamepadu Bluetooth používa klávesnica. Tlačidlá 1, 2, 3, 4 sú namapované na A, B, X, Y gamepadu, klávesy so šípkami pre smer, „s“pre začiatok a „x“pre výber. Na vývoj na počítači môžete použiť štandardný editor plus konzolu alebo niektoré integrované IDE, ako napríklad Micosoft Visual Studio Code alebo Jetbrain PyCharm.

Ak používate maticu a Raspberry Pi, musíte definovať:

PI = Pravda

Na skopírovanie kódu na Raspberry Pi môžete použiť príkaz scp (Windows WinSCP). Otvorte okno konzoly, prepnite sa do priečinka obsahujúceho súbory Github a zavolajte

scp games_pi_only [email protected]:/home/pi

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

potom sa pripojte k Pi pomocou ssh (používatelia systému Windows môžu používať Putty):

ssh [email protected]

po úspešnom prihlásení môžete spustiť kód pythonu zavolaním:

sudo python3 games_pi_only.py

Ak kód beží správne, môžete automatické spustenie povoliť volaním:

sudo nano /etc/rc.local

a pred výjazdom 0 pridajte nasledujúci riadok:

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

Uložiť (Ctrl+O) a Ukončiť (Ctrl+X)

Krok 10: Záverečný test a dyha

Záverečný test a dyha
Záverečný test a dyha
Záverečný test a dyha
Záverečný test a dyha
Záverečný test a dyha
Záverečný test a dyha

Predtým, ako je dyha nalepená na prednú stranu, by mala byť otestovaná matrica, aby sa zabezpečilo, že všetky LED diódy fungujú. Oveľa jednoduchšie je niečo opraviť, kým je dyha nalepená.

Použitá drevená dyha je špeciálny javorový dyhový papier s názvom Microwood, ktorý je jednostranne potiahnutý papierom a má hrúbku 0, 1 mm. Papierovú stranu je možné prilepiť priamo na mdf pomocou štandardného bezvodého papierového lepidla.

Krok 11: Výsledok

Výsledok
Výsledok
Výsledok
Výsledok

Bavte sa a užite si hru!

Súťaž Raspberry Pi 2020
Súťaž Raspberry Pi 2020
Súťaž Raspberry Pi 2020
Súťaž Raspberry Pi 2020

Veľká cena v súťaži Raspberry Pi Contest 2020

Odporúča: