INHOUDSOPGAWE:

Hout LED -speelskerm aangedryf deur Raspberry Pi Zero: 11 stappe (met foto's)
Hout LED -speelskerm aangedryf deur Raspberry Pi Zero: 11 stappe (met foto's)

Video: Hout LED -speelskerm aangedryf deur Raspberry Pi Zero: 11 stappe (met foto's)

Video: Hout LED -speelskerm aangedryf deur Raspberry Pi Zero: 11 stappe (met foto's)
Video: SCP-261 Pan-dimensionale Vending en Experiment Log 261 Ad De + Compleet + 2024, Julie
Anonim
Hout LED -speelskerm aangedryf deur Raspberry Pi Zero
Hout LED -speelskerm aangedryf deur Raspberry Pi Zero
Hout LED -speelskerm aangedryf deur Raspberry Pi Zero
Hout LED -speelskerm aangedryf deur Raspberry Pi Zero
Hout LED -speelskerm aangedryf deur Raspberry Pi Zero
Hout LED -speelskerm aangedryf deur Raspberry Pi Zero

Hierdie projek realiseer 'n 20x10 pixel WS2812 -gebaseerde LED -skerm met 'n grootte van 78x35 cm, wat maklik in die sitkamer geïnstalleer kan word om retro -speletjies te speel. Die eerste weergawe van hierdie matriks is in 2016 gebou en deur baie ander mense herbou. Hierdie ervaring is gebruik om alle verbeterings op te som om 'n nuwe weergawe van die matriks te bou en dit nou na instructables.com te bring. Die belangrikste nuwe funksies is die opdatering van 'n Raspberry Pi Zero in plaas daarvan en Pi A plus 'n Arduino en die vervanging van die vorige groot kontroleerder met 'n Bluetooth -gamepad. Die sagteware is ook verbeter, insluitend die simulator, waarmee u die kode op 'n rekenaar kan ontwikkel, selfs al het u nie toegang tot die matrikshardeware nie.

Een spesiale kenmerk van hierdie LED -matriks is die spesiale houtfineer, wat gebruik word om die LED te bedek en om dit weg te steek wanneer LED's uitgeskakel is. Dit verhoog die aanvaardingsfaktor van nie-tegniese mense baie;-) As hierdie spesiale fineer nie in u land beskikbaar is nie, kan u natuurlik ook ander diffuse materiaal soos akriel gebruik om die LED's weg te steek. Daar word ook beplan om in die toekoms 'n paar belangrike onderdele te verskaf om dit makliker te maak om die projek te herbou.

Benodighede:

  • Raspberry Pi Zero W (met enige aanpassing sal alle ander modelle ook werk)
  • 200 LED/s (WS2812B LED -strepe met 30 LED/m)
  • 4x SPI LED matriksskerm met MAX7219
  • Kabels
  • Bluetooth -gamepad (bv. Hierdie van Pimoroni)
  • Kragtoevoer 5V met ten minste 5A
  • MDF -hout vir lasersny
  • Houtfineer of diffusie -akrielplaat
  • Kondensator, weerstand
  • 'N Paar skroewe

Stap 1: Lasersny

Laser sny
Laser sny
Laser sny
Laser sny
Laser sny
Laser sny

Die basisstruktuur van die matriks is gemaak van MDF -hout met 'n dikte van 3 mm en gesny deur 'n lasersnyer. As u nie 'n lasersnyer besit nie, kan u 'n aanlyn diens soos ponoko.com of formulor.de gebruik of die volgende fablab/makerspace in u omgewing kontak. Dit is ook moontlik om karton of ander ligter materiaal te gebruik, maar die aangehegte lêers is ontwerp vir 'n dikte van 3 mm, dus dunner of dikker materiaal moet die lêers herontwerp. Die ontwerp is in Fusion 360 gedoen. Die meeste dele hou net bymekaar deur dit op hul plek te skuif, maar slegs 'n paar dele soos die buitekante moet met houtlym aan mekaar vasgeplak word. Maak seker dat u matriks heeltemal werk voordat u gom aanbring! Die houtfineer moet ook vasgeplak word, maar dit is die laaste stap nadat u seker gemaak het dat alles werk.

Aan die regterkant (onderste) kant van die agtervlak is daar 'n uitgesnyde segment om die elektroniese komponente aan die matriks vas te maak en steeds toegang tot hierdie komponente te hê wanneer die fineer vasgeplak word.

Stap 2: Installeer LED's

Installeer LED's
Installeer LED's
Installeer LED's
Installeer LED's
Installeer LED's
Installeer LED's

Die LED -strepe is standaard 30 LED/m WS2812 -strepe, wat beskikbaar is by Amazon, eBay of ander aanlynwinkels oor die hele wêreld. Dit is gewoonlik ook die goedkoopste adresbare LED -strook wat beskikbaar is. As u ander LED's wil gebruik, moet u die 30 LED/m -afstand verseker om by die matrikspatroon te pas. Die lasergesnyde segmente het klein uitgesnyde streke om by die LED -breedte van 10 cm te pas. Hierdie LED-strepe het dubbelzijdige band op hul rug, sodat u dit direk na die MDF kan plak na presiese posisionering. Kontroleer die korrekte rigting van elke streep voordat u die band gebruik (DIN-DOUT-rigting).

Die bedradingspatroon is 'n zig-zag, so aan die einde is daar slegs een invoerpen in die matriks en die kabellengtes is so kort as moontlik. Om die krag korrek te versprei en die bekabeling aan die bokant van die matriks te verminder, is elke LED -streep aan 5V en GND aan die onderkant van die matriks gekoppel. U kan enkeldrade of prototipe PCB's gebruik om die 5V- en GND -lyn te versprei.

Stap 3: Montering

Vergadering
Vergadering
Vergadering
Vergadering
Vergadering
Vergadering

Die ontploffingsaansig help om die korrekte stukke vir die samestelling te identifiseer. Volg net die stap-vir-stap installasiefoto's. Die agterste vliegtuig het kruisstrukture om die lang sywande en sommige van die kort mure vas te hou. As u probleme ondervind met die installering van die stukke, gebruik sandpapier om dit reg te maak.

Stap 4: Soldeer

Soldeer
Soldeer
Soldeer
Soldeer

Daar is verskillende maniere om kraglyne vir die verskillende strepe saam te soldeer. U kan enkeldrade of 'n soort gewone spoor uit koper gebruik om die verskillende drade te soldeer. In hierdie geval is stukke prototipe PCB's gebruik om die kragrails na die strepe te lei. WS2812B -strepe het reeds afsonderlike kragkabels waarmee u die kragrail aan die eerste strookingang kan koppel (linkerkant op die prentjie).

Stap 5: Installeer SPI Display

Installeer SPI Display
Installeer SPI Display

'N LED -matriksvertoning wat gebaseer is op die LED -bestuurder MAX7219 word gebruik om spel tellings en teks te vertoon. Dit is via SPI (Serial Peripheral Interface) aan die Raspberry Pi gekoppel. Vier 8x8 -skerms word gekombineer tot 'n matrix -skerm van 32x8 pixels. U kan hierdie 8x8 pixel skerms koop vir bv. Op eBay is daar ook gekombineerde skerms van 32 x 8 pixels beskikbaar. U het ook verskillende kleuropsies; in hierdie geval is rooi skerms gebruik. Omdat SPI soos 'n skofregister werk, word die skerms in serie verbind deurdat data uit die eerste matriks gekoppel is aan data in die tweede een, ensovoorts, vanaf die regterkant van die skerm.

Hierdie skerm kan slegs van buite af gelees word as dit direk agter die fineerlaag geplaas word. Indien nie, is daar slegs 'n rooi vervaag. U moet dit dus bo-op die uitsny-segment van die agtervlak plaas, met 'n afstand van 30 mm tussen die oppervlak van die agtervlak en die oppervlak van die matriks. Ek het 'n paar oorblywende houtstukke en skroewe gebruik om die ontbrekende 19 mm tussen die agtervlak en die PCB's aan te pas, maar u kan ook enige buitenste tipe afstandhouers gebruik.

Die bedrading van die skerm word in stap 7 getoon.

Stap 6: Installeer Pi

Installeer Pi
Installeer Pi
Installeer Pi
Installeer Pi
Installeer Pi
Installeer Pi

In hierdie installasie word 'n Raspberry Pi Zero gebruik. U kan ook enige ander Raspberry Pi -model gebruik, maar met nuwer met geïntegreerde WiFi en Bluetooth kan u maklik met draadlose gamepads koppel en die programmering vereenvoudig. U kan die Pi beveilig deur ten minste twee skroewe en klein afstandhouers aan die agtervlak te skroef.

Vir die Raspberry Pi Zero W word die volgende penne gebruik:

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

Sommige mense het probleme aangemeld met die gebruik van GPIO18 vir die LED's. Gebruik GPIO21 in hierdie geval. As dit die geval is, moet u die kode in reël 21 verander na pixel_pin = board. D21.

Die WS2812B -strook word hier buite sy spesifikasie gebruik. Normaalweg vereis dit 'n 5V logiese vlak op DIN, maar die Pi bied slegs 3, 3V. Selfs as dit in die meeste gevalle werk, moet u dit met u strook toets. As dit nie werk nie, kan u 'n vlakomskakelaar soos 'n 74HCT245 of enige ander 3V3 tot 5V -omskakelaar tussen die Pi en die strook byvoeg.

Stap 7: Bedrading en kragtoevoer

Bedrading en kragtoevoer
Bedrading en kragtoevoer
Bedrading en kragtoevoer
Bedrading en kragtoevoer
Bedrading en kragtoevoer
Bedrading en kragtoevoer

Bedrading geskied volgens die bedradingskema. Die kragtoevoer is 'n 5V DC -toevoer.

Vir 'n maklike aan/af skakel van die matriks, word 'n skakelaar bygevoeg tussen die kragprop en die matriksbane. Omdat die Raspberry Pi egter nie van harde afskakeling hou nie, is daar 'n afsluitingsopsie in die sagteware om die Pi veilig via Gamepad af te skakel voordat die matriks oorgeskakel word.

Die LED -strook DIN -pen is via 'n weerstand aan die Pi gekoppel, ook word 'n groot kapasitor (4700uF) bygevoeg om die kragtoevoer te buffer. Kyk na die Adafruit Überguide vir Neopixels vir meer besonderhede.

LED's verbruik 'n maksimum stroom van 60mA per LED, so 'n maksimum stroom van 200x60mA = 12A is moontlik !!! Deur die helderheid te verminder en nie alle LED's in volwit te gebruik nie, is dit meer 'n teoretiese waarde, maar dit hang af van die kode watter maksimum stroom bereik word. Dit is dus baie belangrik om 'n groot genoeg kragtoevoer te kies. Vir die meeste toepassings behoort 'n kragtoevoer met 5V/5A (25W) genoeg te wees.

Om die agtervlak met die Pi en die Matrix -skerm vas te maak, kan 'n paar stukke hout gebruik word om dit in die rande te skrum en ook skroewe te gebruik om die agtervlak vas te hou.

Stap 8: Stel Pi op

Stel Pi op
Stel Pi op

1. Laai die nuutste Raspbian lite -beeld af van raspberrypi.org

2. Kopieer dit na en SD -kaart, 8GB is genoeg. U kan bv. etser om dit te doen.

3. Voordat u die Pi met die SD -kaart begin, moet u WIFI- en ssh -toegang voorberei

4. Plaas die SD -kaart op enige rekenaar; 'n opstartmap moet toeganklik wees

5. Kopieer die volgende reëls na die lêer wpa_supplicant.conf (genereer dit as dit nie bestaan nie) en verander die parameters, afhangende van u Wifi en streek

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

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

6. Voeg 'n leë lêer genaamd ssh (sonder enige uitbreiding) by om op te laai om ssh -toegang moontlik te maak

7. Plaas nou die SD -kaart in die Raspberry Pi en begin dit. Kontroleer u wifi -router om die IP -adres van die Pi te kry

8. begin 'n SSH -verbinding met die Pi met 'n terminale (Linux, Mac) of bv. Stop 'n Windows. Voeg die IP van die Pi in plaas van 192.168.x.y in

ssh [email protected]

9. Werk die Pi op (dit neem tyd!)

sudo apt-get update

sudo apt-get upgrade

10. Installeer pip en setup tool

sudo apt-get install python3-pip

sudo pip3 installeer -upgrade setuptools

11. Installeer Neopixel -bestuurder, ws281x lib, pygame en libsdl

sudo pip3 installeer rpi_ws281x adafruit-circuitpython-neopixel

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

12. Aktiveer SPI deur raps-config te bel, navigeer na 5 Interfacing Options / P4 SPI / Enable

sudo raspi-config

13. Voeg Bluetooth -gamepad by

sudo bluetoothctl

[bluetooth]# agent op [bluetooth]# paarbaar op [bluetooth]# skandering op [bluetooth]# paar aa: bb: cc: dd: ee: ff [bluetooth]# vertrou aa: bb: cc: dd: ee: ff [bluetooth]# verbind aa: bb: cc: dd: ee: ff [bluetooth]# stop

waar aa: bb: cc: dd: ee: ff die MAC -rok van u bluetooth -gamepad is. Hierdie adres moet vertoon word nadat die opdrag "scan on" geroep is. Maak seker dat u Bluetooth -beheerder gereed is om te koppel. Raadpleeg die handleiding van die beheerder hoe u dit kan doen.

14. U kan nou aan u Pi koppel, die standaard wagwoord is framboos (Windows -gebruikers kan Putty gebruik):

ssh [email protected]

Stap 9: Python -kode, toets en simulator

Python -kode, toets en simulator
Python -kode, toets en simulator
Python -kode, toets en simulator
Python -kode, toets en simulator
Python -kode, toets en simulator
Python -kode, toets en simulator

Kode is beskikbaar op Github. games_pi_only.py en alle bmp -lêers is nodig.

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

Die kode het 'n opsie om in die simulasiemodus buite die Pi te werk met behulp van pygame om die matriks te simuleer. Dit is baie handig om nuwe funksies te ontwikkel sonder om direkte toegang tot die matrikshardeware te hê. Ontfouting is ook baie makliker. U moet die PI -konstante stel om die simulasiemodus (reël 15) te aktiveer:

PI = Onwaar

In hierdie simulasiemodus word die sleutelbord ook gebruik in plaas van die Bluetooth -gamepad. Knoppies 1, 2, 3, 4 word in A, B, X, Y van die gamepad gekarteer, pyltjie sleutels vir aanwysings, “s” vir begin en “x” vir kies. U kan 'n standaardredakteur plus die konsole of 'n paar geïntegreerde IDE's soos Micosoft Visual Studio Code of Jetbrain PyCharm gebruik om die ontwikkeling op u rekenaar uit te voer.

As u die matriks en die Raspberry Pi gebruik, moet u definieer:

PI = Waar

Om die kode na die Raspberry Pi te kopieer, kan u die scp -opdrag (Windows WinSCP) gebruik. Maak 'n konsole -venster oop, skakel oor na die gids met die Github -lêers en bel

scp games_pi_only [email protected]:/home/pi

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

Koppel dan aan die Pi via ssh (Windows -gebruikers kan Putty gebruik):

ssh [email protected]

na suksesvolle aanmelding, kan u die python -kode begin deur te bel:

sudo python3 games_pi_only.py

As die kode korrek loop, kan u outomaties begin deur te bel:

sudo nano /etc/rc.local

en voeg die volgende reël by voor afrit 0:

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

Stoor (Ctrl+O) en verlaat (Ctrl+X)

Stap 10: Finale toets en fineer

Finale toets en fineer
Finale toets en fineer
Finale toets en fineer
Finale toets en fineer
Finale toets en fineer
Finale toets en fineer

Voordat die fineer bo -op die voorkant gom word, moet die matriks getoets word om te verseker dat alle LED's werk. Dit is baie makliker om iets reg te maak voordat die fineer vasgeplak word.

Die gebruikte houtfineer is 'n spesiale esdoornfineerpapier genaamd Microwood, wat eenkant bedek is met papier en 'n dikte van 0, 1 mm het. Die papierkant kan direk op die mdf vasgeplak word met behulp van standaard watervrye papiergom.

Stap 11: Die resultaat

Die resultaat
Die resultaat
Die resultaat
Die resultaat

Om pret te hê en geniet die spel!

Framboos Pi -wedstryd 2020
Framboos Pi -wedstryd 2020
Framboos Pi -wedstryd 2020
Framboos Pi -wedstryd 2020

Groot prys in die Raspberry Pi -wedstryd 2020

Aanbeveel: