Cuprins:

Afișaj pentru jocuri LED din lemn, alimentat de Raspberry Pi Zero: 11 pași (cu imagini)
Afișaj pentru jocuri LED din lemn, alimentat de Raspberry Pi Zero: 11 pași (cu imagini)

Video: Afișaj pentru jocuri LED din lemn, alimentat de Raspberry Pi Zero: 11 pași (cu imagini)

Video: Afișaj pentru jocuri LED din lemn, alimentat de Raspberry Pi Zero: 11 pași (cu imagini)
Video: High Density 2022 2024, Iulie
Anonim
Afișaj LED pentru jocuri din lemn, alimentat de Raspberry Pi Zero
Afișaj LED pentru jocuri din lemn, alimentat de Raspberry Pi Zero
Afișaj LED pentru jocuri din lemn, alimentat de Raspberry Pi Zero
Afișaj LED pentru jocuri din lemn, alimentat de Raspberry Pi Zero
Afișaj LED pentru jocuri din lemn, alimentat de Raspberry Pi Zero
Afișaj LED pentru jocuri din lemn, alimentat de Raspberry Pi Zero

Acest proiect realizează un afișaj LED bazat pe WS2812 de 20x10 pixeli cu o dimensiune de 78x35 cm, care poate fi instalat cu ușurință în sufragerie pentru a juca jocuri retro. Prima versiune a acestei matrice a fost construită în 2016 și reconstruită de mulți alți oameni. Această experiență a fost utilizată pentru a rezuma toate îmbunătățirile pentru a construi o nouă versiune a matricei și pentru a aduce aceasta acum la instructables.com. Principalele caracteristici noi sunt actualizarea la un Raspberry Pi Zero în schimb, folosind și Pi A plus un Arduino și înlocuirea controlerului mare anterior cu un gamepad Bluetooth. De asemenea, software-ul a fost îmbunătățit, inclusiv simulatorul, care vă permite să dezvoltați codul pe un computer, chiar dacă nu aveți acces la hardware-ul matricei.

O caracteristică specială a acestei matrice de LED-uri este furnirul special din lemn, care este utilizat pentru a acoperi LED-ul și pentru a le ascunde, atunci când LED-urile sunt dezactivate. Acest lucru mărește foarte mult factorul de acceptare al persoanelor care nu sunt tehnologice;-) Desigur, dacă acest furnir special nu este disponibil în țara dvs., puteți utiliza și alt material difuz, cum ar fi acrilul, pentru a ascunde LED-urile. De asemenea, este planificată furnizarea unor părți cheie în viitor pentru a facilita reconstruirea proiectului.

Provizii:

  • Raspberry Pi Zero W (cu unele adaptări, toate celelalte modele vor funcționa, de asemenea)
  • 200 LED / s (benzi LED WS2812B cu 30 LED / m)
  • Afișaj cu matrice LED 4x SPI cu MAX7219
  • Cabluri
  • Gamepad Bluetooth (de exemplu, acesta de la Pimoroni)
  • Alimentare 5V cu cel puțin 5A
  • Lemn MDF pentru tăiere cu laser
  • Furnir din lemn sau placă acrilică de difuzie
  • Condensator, rezistor
  • Niște șuruburi

Pasul 1: tăierea cu laser

Taietura cu laser
Taietura cu laser
Taietura cu laser
Taietura cu laser
Taietura cu laser
Taietura cu laser

Structura de bază a matricei este realizată din lemn MDF cu grosimea de 3 mm și tăiată de un tăietor cu laser. Dacă nu dețineți un dispozitiv de tăiat cu laser, puteți utiliza un serviciu online precum ponoko.com sau formulor.de sau contactați următorul fablab / makerspace din mediul dvs. De asemenea, este posibil să se utilizeze carton sau alte materiale mai ușoare, dar fișierele atașate sunt concepute pentru grosimea de 3 mm, astfel încât materialele mai subțiri sau mai groase necesită o reproiectare a fișierelor. Proiectarea a fost realizată în Fusion 360. Majoritatea pieselor se țin împreună doar glisându-le în poziție, doar unele dintre părți, precum marginile exterioare, ar trebui lipite împreună folosind lipici pentru lemn. Asigurați-vă că matricea dvs. funcționează pe deplin înainte de a aplica orice adeziv! De asemenea, furnirul de lemn trebuie lipit, dar acesta este ultimul pas după asigurarea faptului că totul funcționează.

În partea dreaptă (inferioară) a panoului din spate, există un segment decupat pentru a fixa componentele electronice la matrice și a avea în continuare acces la aceste componente atunci când furnirul este lipit.

Pasul 2: Instalați LED-uri

Instalați LED-uri
Instalați LED-uri
Instalați LED-uri
Instalați LED-uri
Instalați LED-uri
Instalați LED-uri

Benzi LED sunt benzi standard 30 LED / m WS2812, care sunt disponibile la Amazon, eBay sau alte magazine online din întreaga lume. Aceasta este, în mod normal, și cea mai ieftină bandă LED adresabilă disponibilă. Dacă doriți să utilizați alte LED-uri, trebuie să vă asigurați distanța de 30 LED / m pentru a se potrivi cu modelul matricei. Segmentele tăiate cu laser au regiuni mici decupate pentru a se potrivi cu lățimea LED-ului de 10 cm. Aceste dungi LED au bandă dublă pe spate, astfel încât să le puteți lipi direct pe MDF după o poziționare precisă. Verificați orientarea corectă a fiecărei dungi înainte de a utiliza banda (direcția DIN-DOUT).

Modelul de cablare este un zig-zag, astfel încât la sfârșit există un singur pin de intrare în matrice, iar lungimile cablurilor sunt cât mai scurte posibil. Pentru a distribui corect puterea și a reduce carcasa din partea de sus a matricei, fiecare bandă LED este conectată la 5V și GND în partea de jos a matricei. Puteți utiliza fie fire simple, fie PCB-uri de prototipare pentru a distribui linia 5V și GND.

Pasul 3: Asamblare

Asamblare
Asamblare
Asamblare
Asamblare
Asamblare
Asamblare

Vizualizarea exploziei ajută la identificarea pieselor corecte pentru asamblare. Doar urmați imaginile de instalare pas cu pas. Planul din spate are structuri transversale pentru a ține pereții laterali lungi și unii dintre pereții scurți. Dacă aveți probleme la instalarea pieselor, utilizați hârtie de nisip pentru a o remedia.

Pasul 4: lipire

Lipire
Lipire
Lipire
Lipire

Există diferite moduri de a lipi acolo liniile de alimentare pentru diferitele dungi împreună. Fie puteți utiliza fire simple sau un fel de șină comună din cupru pentru a lipi diferitele fire. În acest caz, bucăți de PCB-uri prototip au fost folosite pentru a ghida șinele de alimentare către dungi. Benzile WS2812B au deja cabluri de alimentare separate, pe care le puteți utiliza pentru a conecta șina de alimentare la prima intrare de bandă (partea stângă a imaginii).

Pasul 5: Instalați SPI Display

Instalați afișajul SPI
Instalați afișajul SPI

Pentru a afișa scorurile și textul jocului, este utilizat un afișaj cu matrice LED bazat pe driverul LED MAX7219. Este conectat prin SPI (Serial Peripheral Interface) la Raspberry Pi. Patru afișaje 8x8 sunt combinate cu un afișaj cu matrice de puncte de 32x8 pixeli. Puteți cumpăra aceste afișaje de 8x8 pixeli pentru de ex. la eBay, sunt disponibile și afișaje combinate de 32x8 pixeli. De asemenea, aveți diferite opțiuni de culoare; în acest caz au fost utilizate afișaje roșii. Deoarece SPI funcționează ca un registru de schimbare, afișajele sunt conectate împreună în serie prin conectarea datelor din prima matrice la datele din a doua și așa mai departe începând din partea dreaptă a afișajului.

Acest afișaj poate fi citit numai din exterior, dacă este plasat direct în spatele stratului de furnir. Dacă nu, este vizibilă doar o estompare roșie. Deci, trebuie să-l montați pe partea de sus a segmentului decupat al planului din spate, cu o distanță de 30 mm între suprafața planului din spate și suprafața matricei. Am folosit câteva piese și șuruburi din lemn pentru a adapta lipsa de 19 mm dintre panoul din spate și PCB-uri, dar puteți, de asemenea, orice tip exterior de distanțiere.

Cablarea afișajului este prezentată la pasul 7.

Pasul 6: Instalați Pi

Instalați Pi
Instalați Pi
Instalați Pi
Instalați Pi
Instalați Pi
Instalați Pi

În această instalare, se folosește un Raspberry Pi Zero. Puteți utiliza, de asemenea, orice alt model Raspberry Pi, dar cele mai noi cu WiFi și Bluetooth integrate vă permit să vă conectați cu ușurință la gamepad-uri fără fir și să simplificați programarea. Puteți fixa Pi utilizând cel puțin două șuruburi și distanțieri mici pentru a-l înșuruba pe fundal.

Pentru Raspberry Pi Zero W, sunt utilizați următorii pini:

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

Unii oameni au raportat probleme cu utilizarea GPIO18 pentru LED-uri. Vă rugăm să utilizați GPIO21 în acest caz. Dacă da, trebuie să schimbați codul din linia 21 în pixel_pin = board. D21.

Banda WS2812B este utilizată aici în afara specificațiilor sale. În mod normal necesită un nivel logic de 5V pe DIN, dar Pi oferă doar 3, 3V. Chiar dacă acest lucru funcționează în majoritatea cazurilor, ar trebui să testați acest lucru cu banda dvs. Dacă nu funcționează, puteți adăuga un convertor de nivel ca un 74HCT245 sau orice alt convertor de 3V3 la 5V între Pi și bandă.

Pasul 7: Cablare și sursă de alimentare

Cablare și sursă de alimentare
Cablare și sursă de alimentare
Cablare și sursă de alimentare
Cablare și sursă de alimentare
Cablare și sursă de alimentare
Cablare și sursă de alimentare

Cablarea se face conform schemei de cablare. Sursa de alimentare este o sursă de 5V DC.

Pentru o pornire / oprire ușoară a matricei, se adaugă un comutator între mufa de alimentare și circuitele matricei. Cu toate acestea, deoarece Raspberry Pi nu-i place oprirea dură, există o opțiune de oprire în software pentru a opri în siguranță Pi prin Gamepad înainte de a comuta matricea.

Pinul DIN cu bandă LED este conectat printr-un rezistor la Pi, de asemenea, este adăugat un condensator mare (4700uF) pentru tamponarea sursei de alimentare. Vă rugăm să consultați Adafruit Überguide pentru Neopixels pentru mai multe detalii.

LED-urile consumă un curent maxim de 60mA per LED, deci este posibil un curent maxim de 200x60mA = 12A !!! Reducând luminozitatea și nu folosind toate LED-urile în alb complet, aceasta este mai mult o valoare teoretică, dar depinde de codul la care se atinge curentul maxim. Așadar, selectarea unei surse de alimentare suficient de mari este foarte importantă. Pentru majoritatea aplicațiilor ar trebui să fie suficientă o sursă de alimentare cu 5V / 5A (25W).

Pentru a fixa panoul de fundal cu afișajul Pi și Matrix, unele bucăți mici de lemn pot fi folosite pentru a le scruma în margini și, de asemenea, cu șuruburi pentru a ține panoul de fundal în poziție.

Pasul 8: Configurați Pi

Configurați Pi
Configurați Pi

1. Descărcați cea mai recentă imagine Raspbian lite de pe raspberrypi.org

2. Copiați-l pe cardul SD și 8 GB este suficient. Puteți utiliza de ex. gravor pentru a face acest lucru.

3. Înainte de a porni Pi cu cardul SD, pregătiți accesul WIFI și ssh

4. Introduceți cardul SD pe orice computer, ar trebui să fie accesibil un folder de boot

5. Copiați următoarele linii în fișierul wpa_supplicant.conf (generați-l dacă nu există) și modificați parametrii în funcție de Wifi și regiune

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

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

6. Adăugați un fișier gol numit ssh (fără nicio extensie) pentru a porni pentru a permite accesul ssh

7. Acum introduceți cardul SD în Raspberry Pi și porniți-l. Verificați routerul WiFi pentru a obține adresa IP a dispozitivului Pi

8. porniți o conexiune SSH la Pi utilizând un terminal (Linux, Mac) sau de ex. Puneți un Windows. Introduceți adresa IP a Pi în loc de 192.168.x.y

ssh [email protected]

9. Actualizați Pi (durează ceva timp!)

sudo apt-get update

sudo apt-get upgrade

10. Instalați pip și instrumentul de configurare

sudo apt-get install python3-pip

sudo pip3 install --upgrade setuptools

11. Instalați driverul Neopixel, ws281x lib, pygame și libsdl

sudo pip3 instalează rpi_ws281x adafruit-circuitpython-neopixel

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

12. Activați SPI apelând raps-config, navigați la 5 Opțiuni de interfațare / P4 SPI / Activare

sudo raspi-config

13. Adăugați Bluetooth Gamepad

sudo bluetoothctl

[bluetooth] # agent on [bluetooth] # pairable on [bluetooth] # scan on [bluetooth] # pair aa: bb: cc: dd: ee: ff [bluetooth] # trust aa: bb: cc: dd: ee: ff [bluetooth] # conectare aa: bb: cc: dd: ee: ff [bluetooth] # renunțare

unde aa: bb: cc: dd: ee: ff este rochia MAC a gamepad-ului dvs. bluetooth. Această adresă trebuie afișată după apelarea comenzii „scan on”. Asigurați-vă că controlerul Bluetooth este gata de asociere, vă rugăm să consultați manualul controlerului cum să faceți acest lucru.

14. Acum vă puteți conecta la dvs. prin Pi, parola implicită este zmeură (utilizatorii Windows pot folosi Putty):

ssh [email protected]

Pasul 9: Cod, test și simulator Python

Cod, test și simulator Python
Cod, test și simulator Python
Cod, test și simulator Python
Cod, test și simulator Python
Cod, test și simulator Python
Cod, test și simulator Python

Codul este disponibil pe Github. games_pi_only.py și toate fișierele BMP sunt necesare.

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

Codul are o opțiune pentru a rula în modul de simulare în afara Pi folosind pygame pentru a simula matricea. Acest lucru este foarte util pentru a dezvolta noi caracteristici fără a avea acces direct la hardware-ul matricei. De asemenea, depanarea este mult mai ușoară. Trebuie să setați constanta PI pentru a activa modul de simulare (Linia 15):

PI = Fals

În acest mod de simulare, altfel se folosește tastatura în locul gamepad-ului Bluetooth. Butoanele 1, 2, 3, 4 sunt mapate la A, B, X, Y ale gamepadului, tastele săgeți pentru direcții, „s” pentru start și „x” pentru selectare. Puteți utiliza un editor standard plus consola sau câteva IDE integrate, cum ar fi Micosoft Visual Studio Code sau Jetbrain PyCharm pentru a face dezvoltarea pe computerul dvs.

Dacă utilizați matricea și Raspberry Pi, trebuie să definiți:

PI = Adevărat

Pentru a copia codul în Raspberry Pi, puteți utiliza comanda scp (Windows WinSCP). Deschideți o fereastră de consolă, comutați la folderul care conține fișierele Github și apelați

scp games_pi_only [email protected]: / home / pi

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

apoi conectați-vă la Pi prin ssh (utilizatorii Windows pot folosi Putty):

ssh [email protected]

după conectarea cu succes, puteți porni codul python apelând:

sudo python3 games_pi_only.py

Dacă codul rulează corect, puteți activa pornirea automată apelând:

sudo nano /etc/rc.local

și adăugați următoarea linie înainte de ieșirea 0:

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

Salvați (Ctrl + O) și Ieșiți (Ctrl + X)

Pasul 10: Test final și furnir

Test final și furnir
Test final și furnir
Test final și furnir
Test final și furnir
Test final și furnir
Test final și furnir

Înainte ca furnirul să fie lipit pe partea din față, matricea trebuie testată pentru a se asigura că toate LED-urile funcționează. Este mult mai ușor să reparați ceva înainte ca furnirul să fie lipit.

Furnirul de lemn folosit este o hârtie specială pentru furnir de arțar numită Microwood, care este acoperită cu o singură parte cu hârtie și are o grosime de 0, 1 mm. Partea de hârtie poate fi lipită direct pe mdf folosind lipici de hârtie standard fără apă.

Pasul 11: Rezultatul

Rezultatul
Rezultatul
Rezultatul
Rezultatul

Distrează-te și bucură-te de joc!

Concursul Raspberry Pi 2020
Concursul Raspberry Pi 2020
Concursul Raspberry Pi 2020
Concursul Raspberry Pi 2020

Marele Premiu la Concursul Raspberry Pi 2020

Recomandat: