Obsah:

Dřevěný herní LED displej poháněný Raspberry Pi Zero: 11 kroků (s obrázky)
Dřevěný herní LED displej poháněný Raspberry Pi Zero: 11 kroků (s obrázky)

Video: Dřevěný herní LED displej poháněný Raspberry Pi Zero: 11 kroků (s obrázky)

Video: Dřevěný herní LED displej poháněný Raspberry Pi Zero: 11 kroků (s obrázky)
Video: Adel ukazala prso 2024, Listopad
Anonim
Dřevěný herní LED displej poháněný Raspberry Pi Zero
Dřevěný herní LED displej poháněný Raspberry Pi Zero
Dřevěný herní LED displej poháněný Raspberry Pi Zero
Dřevěný herní LED displej poháněný Raspberry Pi Zero
Dřevěný herní LED displej poháněný Raspberry Pi Zero
Dřevěný herní LED displej poháněný Raspberry Pi Zero

Tento projekt realizuje LED displej WS2812 s rozlišením 20 x 10 pixelů o velikosti 78 x 35 cm, který lze snadno nainstalovat do obývacího pokoje a hrát retro hry. První verze této matice byla postavena v roce 2016 a přestavěna mnoha dalšími lidmi. Tato zkušenost byla použita k shrnutí všech vylepšení k vytvoření nové verze matice a k jejímu uvedení na stránku instructables.com. Hlavními novými funkcemi jsou aktualizace na Raspberry Pi Zero namísto použití Pi A plus Arduino a nahrazení předchozího velkého ovladače Bluetooth gamepadem. Vylepšen byl také software včetně simulátoru, který vám umožňuje vyvíjet kód na počítači, i když nemáte přístup k maticovému hardwaru.

Jednou speciální vlastností této LED matice je speciální dřevěná dýha, která se používá k zakrytí LED a k jejich skrytí, když jsou LED diody deaktivovány. Tím se výrazně zvýší akceptační faktor netechnických lidí;-) Samozřejmě, pokud tato speciální dýha není ve vaší zemi k dispozici, můžete ke skrytí LED použít také jiný difúzní materiál, jako je akrylát. Plánuje se také poskytnout v budoucnu některé klíčové části, které usnadní obnovu projektu.

Zásoby:

  • Raspberry Pi Zero W (s určitou adaptací budou fungovat i všechny ostatní modely)
  • 200 LED/s s (WS2812B LED pásy s 30 LED/m)
  • 4x SPI LED maticový displej s MAX7219
  • Kabely
  • Bluetooth gamepad (např. Od Pimoroni)
  • Napájení 5V s minimálně 5A
  • MDF dřevo pro řezání laserem
  • Dřevěná dýha nebo difúzní akrylová deska
  • Kondenzátor, odpor
  • Nějaké šrouby

Krok 1: Laserové řezání

Laserové řezání
Laserové řezání
Laserové řezání
Laserové řezání
Laserové řezání
Laserové řezání

Základní struktura matrice je vyrobena z MDF dřeva o tloušťce 3 mm a řezána laserovou řezačkou. Pokud nevlastníte laserovou řezačku, můžete použít online službu jako ponoko.com nebo formullor.de nebo kontaktovat další fablab/makerspace ve vašem prostředí. Je také možné použít lepenku nebo jiné lehčí materiály, ale připojené soubory jsou navrženy pro tloušťku 3 mm, takže tenčí nebo silnější materiály vyžadují přepracování souborů. Design byl proveden ve Fusion 360. Většina dílů drží pohromadě pouhým posunutím na místo, pouze některé části jako vnější okraje by měly být slepeny dohromady pomocí lepidla na dřevo. Před nanesením jakéhokoli lepidla se ujistěte, že vaše matice plně funguje! Také dřevěná dýha musí být nalepena, ale to je poslední krok po zajištění toho, aby vše fungovalo.

Na pravé (spodní) straně základní desky je vyříznutý segment, který zajišťuje elektronické součástky k matici a stále má přístup k těmto součástem, když je dýha nalepena.

Krok 2: Nainstalujte diody LED

Nainstalujte LED diody
Nainstalujte LED diody
Nainstalujte LED diody
Nainstalujte LED diody
Nainstalujte LED diody
Nainstalujte LED diody

Pásy LED jsou standardními pruhy 30 LED/m WS2812, které jsou k dispozici na Amazonu, eBay nebo jiných internetových obchodech po celém světě. To je obvykle také nejlevnější dostupný adresovatelný LED pásek. Pokud chcete použít jiné LED diody, musíte zajistit vzdálenost 30 LED/m, aby odpovídala maticovému vzoru. Laserem řezané segmenty mají malé vyříznuté oblasti, aby se vešly na šířku LED 10 cm. Tyto LED pruhy mají na zadní straně oboustrannou pásku, takže je můžete po přesném umístění jednoduše přilepit přímo na MDF. Před použitím pásky zkontrolujte správnou orientaci každého pruhu (směr DIN-DOUT).

Schéma zapojení je klikaté, takže na konci je k matici pouze jeden vstupní kolík a délky kabelů jsou co nejkratší. Pro správné rozložení výkonu a snížení kabeláže v horní části matice je každý LED pásek připojen k 5V a GND ve spodní části matice. K distribuci vedení 5V a GND můžete použít buď jednotlivé vodiče, nebo prototypy desek plošných spojů.

Krok 3: Sestavení

Shromáždění
Shromáždění
Shromáždění
Shromáždění
Shromáždění
Shromáždění

Pohled na výbuch pomáhá identifikovat správné kusy pro sestavu. Postupujte podle obrázků instalace krok za krokem. Základní deska má příčné konstrukce pro uchycení dlouhých bočních stěn a některých krátkých stěn. Pokud máte problémy s instalací kusů, opravte jej pomocí smirkového papíru.

Krok 4: Pájení

Pájení
Pájení
Pájení
Pájení

Existují různé způsoby pájení elektrických vedení pro různé pruhy dohromady. K pájení různých vodičů můžete použít buď jednotlivé dráty, nebo nějaký druh common rail z mědi. V tomto případě byly kusy prototypových desek plošných spojů použity k vedení energetických kolejnic k pruhům. Pruhy WS2812B již mají samostatné napájecí kabely, které můžete použít k připojení napájecí lišty k prvnímu pruhovému vstupu (levá strana na obrázku).

Krok 5: Nainstalujte SPI Display

Nainstalujte SPI Display
Nainstalujte SPI Display

K zobrazení skóre a textu hry slouží LED maticový displej založený na LED ovladači MAX7219. Je připojen přes SPI (Serial Peripheral Interface) k Raspberry Pi. Čtyři displeje 8x8 jsou kombinovány do 32x8 pixelového maticového displeje. Tento displej s rozlišením 8 x 8 pixelů můžete zakoupit např. na eBay jsou k dispozici také kombinované 32x8 pixelové displeje. Také máte různé možnosti barev; v tomto případě byly použity červené displeje. Protože SPI funguje jako posuvný registr, jsou displeje spojeny dohromady v sérii připojením dat z první matice k datům ve druhé a tak dále od pravé strany displeje.

Tento displej je čitelný pouze zvenčí, pokud je umístěn přímo za vrstvou dýhy. Pokud ne, je vidět pouze červené rozostření. Musíte jej tedy namontovat na horní část segmentu výřezu základní desky se vzdáleností 30 mm mezi povrchem základní desky a povrchem matice. Použil jsem nějaké zbytky dřevěných kusů a šroubů, abych upravil chybějících 19 mm mezi základní deskou a deskami plošných spojů, ale můžete také použít jakýkoli vnější typ rozpěr.

Zapojení displeje je znázorněno v kroku 7.

Krok 6: Nainstalujte Pi

Nainstalujte Pi
Nainstalujte Pi
Nainstalujte Pi
Nainstalujte Pi
Nainstalujte Pi
Nainstalujte Pi

V této instalaci je použit Raspberry Pi Zero. Můžete také použít jakýkoli jiný model Raspberry Pi, ale novější s integrovaným WiFi a Bluetooth vám umožní snadné připojení k bezdrátovým gamepadům a zjednodušení programování. Pi můžete zajistit pomocí nejméně dvou šroubů a malých distančních šroubků, kterými jej přišroubujete k základní desce.

Pro Raspberry Pi Zero W se používají následující piny:

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

Někteří lidé hlásili problémy s používáním GPIO18 pro LED diody. V tomto případě použijte GPIO21. Pokud ano, musíte změnit kód v řádku 21 na pixel_pin = board. D21.

Pás WS2812B se zde používá mimo jeho specifikace. Normálně vyžaduje logickou úroveň 5V na DIN, ale Pi poskytuje pouze 3, 3V. I když to ve většině případů funguje, měli byste to vyzkoušet s páskem. Pokud to nefunguje, můžete mezi Pí a proužek přidat převodník úrovní jako 74HCT245 nebo jakýkoli jiný převodník 3V3 na 5V.

Krok 7: Zapojení a napájení

Elektroinstalace a napájení
Elektroinstalace a napájení
Elektroinstalace a napájení
Elektroinstalace a napájení
Elektroinstalace a napájení
Elektroinstalace a napájení

Zapojení se provádí podle schématu zapojení. Napájecí zdroj je 5V DC.

Pro snadné zapnutí/vypnutí matice je mezi napájecí zástrčku a maticové obvody přidán spínač. Nicméně, protože Raspberry Pi nemá rád tvrdé vypnutí, v softwaru je možnost vypnutí pro bezpečné vypnutí Pi přes Gamepad před přepnutím matice.

LED pin LED pásku je připojen přes odpor k Pi, také je přidán velký kondenzátor (4700uF) pro vyrovnávání napájení. Další podrobnosti najdete v Adafruit Überguide for Neopixels.

LED diody spotřebovávají maximální proud 60mA na LED, takže je možný maximální proud 200x60mA = 12A !!! Snížením jasu a nepoužíváním všech LED diod v plné bílé je to spíše teoretická hodnota, ale závisí na kódu, kterého je dosaženo maximálního proudu. Výběr dostatečně velkého napájecího zdroje je tedy velmi důležitý. Pro většinu aplikací by měl stačit napájecí zdroj 5V/5A (25W).

K upevnění propojovací roviny pomocí displeje Pi a displeje Matrix lze použít malé kousky dřeva, které je na okrajích obrousí, a také pomocí šroubů přidržet základní desku na místě.

Krok 8: Nastavení Pi

Nastavení Pi
Nastavení Pi

1. Stáhněte si nejnovější obrázek Raspbian lite z raspberrypi.org

2. Zkopírujte jej na kartu SD a stačí 8 GB. Můžete použít např. etcher, aby to udělal.

3. Před spuštěním Pi s SD kartou si připravte WIFI a ssh přístup

4. Vložte kartu SD do libovolného počítače, spouštěcí složka by měla být přístupná

5. Zkopírujte následující řádky do souboru wpa_supplicant.conf (vygenerujte jej, pokud neexistuje) a změňte parametry v závislosti na vaší 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. Chcete -li povolit přístup ssh, přidejte ke spuštění prázdný soubor s názvem ssh (bez jakékoli přípony)

7. Nyní vložte kartu SD do Raspberry Pi a spusťte ji. Zkontrolujte svůj wifi router a získejte IP adresu Pi

8. spusťte SSH připojení k Pi pomocí terminálu (Linux, Mac) nebo např. Tmel na Windows. Vložte IP Pi místo 192.168.x.y

ssh [email protected]

9. Aktualizujte Pi (nějakou dobu to trvá!)

sudo apt-get update

sudo apt-get upgrade

10. Nainstalujte pip a nástroj pro nastavení

sudo apt-get install python3-pip

sudo pip3 install --upgrade setuptools

11. Nainstalujte ovladač Neopixel, ws281x lib, pygame a 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. Povolte SPI voláním raps-config, přejděte na 5 možností rozhraní / P4 SPI / Povolit

sudo raspi-config

13. Přidejte Bluetooth gamepad

sudo bluetoothctl

[bluetooth]# agent na [bluetooth]# nastavitelný na [bluetooth]# skenování 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 jsou MAC šaty vašeho bluetooth gamepadu. Tato adresa by se měla zobrazit po volání příkazu „skenovat“. Zajistěte, aby byl váš ovladač Bluetooth připraven ke spárování. Podívejte se prosím do příručky k ovladači, jak to provést.

14. Nyní se k vám můžete připojit pomocí Pi, výchozí heslo je malina (uživatelé Windows mohou používat 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 dispozici na Githubu. games_pi_only.py a všechny soubory bmp jsou potřeba.

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

Kód má možnost spustit v simulačním režimu mimo Pi pomocí pygame k simulaci matice. To je velmi užitečné při vývoji nových funkcí bez přímého přístupu k maticovému hardwaru. Také ladění je mnohem jednodušší. Chcete -li aktivovat simulační režim (řádek 15), musíte nastavit konstantu PI:

PI = nepravda

V tomto režimu simulace se místo Bluetooth gamepadu používá klávesnice. Tlačítka 1, 2, 3, 4 jsou namapována na A, B, X, Y gamepadu, klávesy se šipkami pro pokyny, „s“pro začátek a „x“pro výběr. K vývoji můžete použít standardní editor plus konzolu nebo některá integrovaná IDE, jako je Micosoft Visual Studio Code nebo Jetbrain PyCharm.

Pokud používáte matici a Raspberry Pi, musíte definovat:

PI = pravda

Chcete -li zkopírovat kód na Raspberry Pi, můžete použít příkaz scp (Windows WinSCP). Otevřete okno konzoly, přepněte do složky obsahující soubory Github a zavolejte

scp games_pi_only [email protected]:/home/pi

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

poté se připojte k Pi pomocí ssh (uživatelé Windows mohou používat Putty):

ssh [email protected]

po úspěšném přihlášení můžete spustit kód pythonu voláním:

sudo python3 games_pi_only.py

Pokud kód běží správně, můžete automatické spuštění povolit voláním:

sudo nano /etc/rc.local

a před ukončením 0 přidejte následující řádek:

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

Uložit (Ctrl+O) a Konec (Ctrl+X)

Krok 10: Závěrečný test a dýha

Závěrečný test a dýha
Závěrečný test a dýha
Závěrečný test a dýha
Závěrečný test a dýha
Závěrečný test a dýha
Závěrečný test a dýha

Než se dýha nalepí na přední část, měla by být testována matice, aby se zajistilo, že všechny LED diody fungují. Je mnohem jednodušší opravit něco, než je dýha nalepena.

Použitá dřevěná dýha je speciální javorový dýhový papír s názvem Microwood, který je jednostranně potažený papírem a má tloušťku 0, 1 mm. Papírovou stranu lze nalepit přímo na mdf pomocí standardního bezvodého lepidla na papír.

Krok 11: Výsledek

Výsledek
Výsledek
Výsledek
Výsledek

Bavte se a užijte si hru!

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

Velká cena v soutěži Raspberry Pi Contest 2020

Doporučuje: