Turinys:

Medinis LED žaidimų ekranas, sukurtas naudojant „Raspberry Pi Zero“: 11 žingsnių (su nuotraukomis)
Medinis LED žaidimų ekranas, sukurtas naudojant „Raspberry Pi Zero“: 11 žingsnių (su nuotraukomis)

Video: Medinis LED žaidimų ekranas, sukurtas naudojant „Raspberry Pi Zero“: 11 žingsnių (su nuotraukomis)

Video: Medinis LED žaidimų ekranas, sukurtas naudojant „Raspberry Pi Zero“: 11 žingsnių (su nuotraukomis)
Video: Высокая плотность 2022 2024, Liepa
Anonim
Medinis LED žaidimų ekranas, sukurtas naudojant „Raspberry Pi Zero“
Medinis LED žaidimų ekranas, sukurtas naudojant „Raspberry Pi Zero“
Medinis LED žaidimų ekranas, sukurtas naudojant „Raspberry Pi Zero“
Medinis LED žaidimų ekranas, sukurtas naudojant „Raspberry Pi Zero“
Medinis LED žaidimų ekranas, sukurtas naudojant „Raspberry Pi Zero“
Medinis LED žaidimų ekranas, sukurtas naudojant „Raspberry Pi Zero“

Šis projektas realizuoja 20x10 pikselių WS2812 pagrindu pagamintą 78x35 cm dydžio LED ekraną, kurį galima lengvai sumontuoti svetainėje žaisti retro žaidimus. Pirmoji šios matricos versija buvo sukurta 2016 m., Ją perstatė daugelis kitų žmonių. Ši patirtis buvo panaudota apibendrinant visus patobulinimus kuriant naują matricos versiją ir dabar ją pateikiant instrukctables.com. Pagrindinės naujos funkcijos yra „Raspberry Pi Zero“atnaujinimas naudojant „Pi A“ir „Arduino“bei ankstesnio didelio valdiklio pakeitimas „Bluetooth“žaidimų pulteliu. Taip pat buvo patobulinta programinė įranga, įskaitant simuliatorių, kuris leidžia jums sukurti kodą kompiuteryje, net jei neturite prieigos prie matricos aparatūros.

Viena ypatinga šios LED matricos ypatybė yra speciali medinė fanera, naudojama LED dengimui ir slėpimui, kai šviesos diodai yra išjungti. Tai labai padidina ne technologijų žmonių priėmimo koeficientą;-) Žinoma, jei šios specialios faneros jūsų šalyje nėra, šviesos diodams paslėpti galite naudoti ir kitą išsklaidytą medžiagą, pvz., Akrilą. Ateityje taip pat planuojama pateikti keletą pagrindinių dalių, kad būtų lengviau atstatyti projektą.

Priedai:

  • „Raspberry Pi Zero W“(pritaikius visus kitus modelius taip pat veiks)
  • 200 LED/s (WS2812B LED juostelės su 30 LED/m)
  • 4x SPI LED matricos ekranas su MAX7219
  • Kabeliai
  • „Bluetooth“žaidimų pultas (pvz., Šis iš „Pimoroni“)
  • Maitinimo šaltinis 5V, ne mažesnis kaip 5A
  • MDF mediena pjovimui lazeriu
  • Medinė fanera arba difuzinė akrilo plokštė
  • Kondensatorius, rezistorius
  • Kai kurie varžtai

1 žingsnis: pjovimas lazeriu

Pjovimas lazeriu
Pjovimas lazeriu
Pjovimas lazeriu
Pjovimas lazeriu
Pjovimas lazeriu
Pjovimas lazeriu

Pagrindinė matricos konstrukcija pagaminta iš 3 mm storio MDF medienos ir supjaustyta lazeriniu pjaustytuvu. Jei neturite lazerinio pjaustytuvo, galite naudotis internetine paslauga, pvz., Ponoko.com arba formulor.de, arba susisiekti su kitu jūsų aplinkoje esančiu fablab/makerspace. Taip pat galima naudoti kartoną ar kitas lengvesnes medžiagas, tačiau pridedami failai yra skirti 3 mm storiui, todėl plonesnėms ar storesnėms medžiagoms reikia pertvarkyti failus. Projektavimas buvo atliktas naudojant „Fusion 360“. Dauguma dalių laikosi vien tik stumdydamos jas į vietą, tik kai kurios dalys, pvz., Išorinės kraštinės, turi būti klijuojamos medžio klijais. Prieš tepdami klijus, įsitikinkite, kad jūsų matrica visiškai veikia! Taip pat reikia klijuoti medžio lukštą, tačiau tai yra paskutinis žingsnis po to, kai užtikrinama, kad viskas veikia.

Dešinėje (apatinėje) galinės plokštės pusėje yra išpjautas segmentas, skirtas elektroniniams komponentams pritvirtinti prie matricos ir vis tiek turėti prieigą prie šių komponentų, kai klijuojama fanera.

2 žingsnis: įdiekite šviesos diodus

Įdiekite šviesos diodus
Įdiekite šviesos diodus
Įdiekite šviesos diodus
Įdiekite šviesos diodus
Įdiekite šviesos diodus
Įdiekite šviesos diodus

Šviesos diodų juostelės yra standartinės 30 LED/m WS2812 juostų, kurias galima įsigyti „Amazon“, „eBay“ar kitose internetinėse parduotuvėse visame pasaulyje. Paprastai tai taip pat yra pigiausia prieinama LED juostelė. Jei norite naudoti kitus šviesos diodus, turite užtikrinti, kad 30 LED/m atstumas atitiktų matricos modelį. Lazeriu išpjauti segmentai turi nedideles iškirptas sritis, kad tilptų į 10 cm LED plotį. Šios šviesos diodų juostelės turi dvipusę juostą ant nugaros, todėl galite tiksliai klijuoti jas tiesiai prie MDF plokštės. Prieš naudodami juostą, patikrinkite teisingą kiekvienos juostos orientaciją (DIN-DOUT kryptis).

Laidų schema yra zigzagas, todėl pabaigoje matricoje yra tik vienas įvesties kaištis, o kabelių ilgis yra kuo trumpesnis. Norint tinkamai paskirstyti galią ir sumažinti matricos viršuje esančius kabelius, kiekviena LED juostelė yra prijungta prie 5 V ir GND matricos apačioje. 5V ir GND linijoms paskirstyti galite naudoti atskirus laidus arba prototipines PCB.

3 žingsnis: Surinkimas

Surinkimas
Surinkimas
Surinkimas
Surinkimas
Surinkimas
Surinkimas

Sprogimo vaizdas padeda nustatyti tinkamus surinkimo elementus. Tiesiog sekite žingsnis po žingsnio diegimo nuotraukas. Galinėje plokštumoje yra skersinės konstrukcijos, skirtos ilgoms šoninėms sienoms ir kai kurioms trumpoms sienoms laikyti. Jei kyla problemų montuojant dalis, naudokite švitrinį popierių.

4 žingsnis: litavimas

Litavimas
Litavimas
Litavimas
Litavimas

Yra įvairių būdų, kaip lituoti elektros linijas skirtingoms juostoms kartu. Skirtingiems laidams lituoti galite naudoti atskirus laidus arba tam tikrą bendrą varinį iš vario. Šiuo atveju PCB prototipų gabalai buvo naudojami elektros bėgiams nukreipti į juosteles. „WS2812B“juostelės jau turi atskirus maitinimo kabelius, kuriuos galite naudoti, kad prijungtumėte maitinimo bėgelį prie pirmojo juostos įvesties (kairėje paveikslėlio pusėje).

5 veiksmas: įdiekite SPI ekraną

Įdiekite SPI ekraną
Įdiekite SPI ekraną

Žaidimo rezultatams ir tekstui rodyti naudojamas LED matricos ekranas, pagrįstas LED tvarkykle MAX7219. Jis yra prijungtas per SPI (Serial Peripheral Interface) prie Raspberry Pi. Keturi 8x8 ekranai yra sujungti į 32x8 pikselių taškų matricos ekraną. Šį 8x8 pikselių ekraną galite įsigyti, pvz. „eBay“taip pat yra kombinuoti 32x8 pikselių ekranai. Taip pat turite įvairių spalvų variantų; šiuo atveju buvo naudojami raudoni ekranai. Kadangi SPI veikia kaip poslinkių registras, ekranai yra sujungiami nuosekliai, jungiant duomenis iš pirmosios matricos į antrosios matricos duomenis ir taip toliau, pradedant nuo dešinės ekrano pusės.

Šis ekranas yra skaitomas tik iš išorės, jei jis yra tiesiai už faneros sluoksnio. Jei ne, matomas tik raudonas suliejimas. Taigi jūs turite jį sumontuoti ant galinės plokštės išpjovos segmento, esant 30 mm atstumui tarp plokštės paviršiaus ir matricos paviršiaus. Aš panaudojau likusius medinius gabalus ir varžtus, kad pritaikyčiau trūkstamus 19 mm tarp galinės plokštės ir PCB, tačiau taip pat galite naudoti bet kokius išorinius tarpiklius.

Ekrano prijungimas parodytas 7 veiksme.

6 veiksmas: įdiekite „Pi“

Įdiekite Pi
Įdiekite Pi
Įdiekite Pi
Įdiekite Pi
Įdiekite Pi
Įdiekite Pi

Šiame įrenginyje naudojamas „Raspberry Pi Zero“. Taip pat galite naudoti bet kurį kitą „Raspberry Pi“modelį, tačiau naujesni su integruotu „WiFi“ir „Bluetooth“leidžia lengvai prisijungti prie belaidžių žaidimų valdiklių ir supaprastinti programavimą. Galite pritvirtinti Pi naudodami bent du varžtus ir mažus tarpiklius, kad prisuktumėte prie galinės plokštės.

„Raspberry Pi Zero W“naudojami šie kaiščiai:

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

Kai kurie žmonės pranešė apie problemas, susijusias su GPIO18 naudojimu šviesos diodams. Tokiu atveju naudokite GPIO21. Jei taip, 21 eilutėje esantį kodą turite pakeisti į pixel_pin = board. D21.

WS2812B juostelė čia naudojama ne pagal specifikacijas. Paprastai DIN reikalauja 5 V loginio lygio, tačiau „Pi“suteikia tik 3, 3 V. Net jei tai daugeliu atvejų veikia, turėtumėte tai išbandyti savo juostele. Jei tai neveikia, galite pridėti lygio keitiklį, pvz., 74HCT245, arba bet kurį kitą 3V3–5V keitiklį tarp Pi ir juostos.

7 žingsnis: laidai ir maitinimas

Laidai ir maitinimo šaltinis
Laidai ir maitinimo šaltinis
Laidai ir maitinimo šaltinis
Laidai ir maitinimo šaltinis
Laidai ir maitinimo šaltinis
Laidai ir maitinimo šaltinis

Elektros instaliacija atliekama pagal laidų schemą. Maitinimo šaltinis yra 5 V nuolatinės srovės šaltinis.

Kad būtų lengviau įjungti/išjungti matricą, tarp maitinimo kištuko ir matricos grandinių pridedamas jungiklis. Nepaisant to, kadangi „Raspberry Pi“nemėgsta sunkaus išjungimo, programinėje įrangoje yra išjungimo parinktis, leidžianti saugiai išjungti „Pi“per „Gamepad“prieš perjungiant matricą.

Šviesos diodų juostos DIN kaištis yra prijungtas per rezistorių prie „Pi“, taip pat pridedamas didelis kondensatorius (4700uF), kad buferinis maitinimas būtų buferinis. Daugiau informacijos rasite „Adafruit Überguide for Neopixels“.

Šviesos diodai sunaudoja maksimalią 60 mA srovę vienam šviesos diodui, todėl galima maksimali 200x60mA = 12A srovė !!! Sumažinus ryškumą ir nenaudojant visų šviesos diodų visiškai baltos spalvos, tai labiau teorinė vertė, tačiau tai priklauso nuo kodo, kokia maksimali srovė pasiekiama. Taigi pasirinkti pakankamai didelį maitinimo šaltinį yra labai svarbu. Daugeliui programų turėtų pakakti 5 V/5 A (25 W) maitinimo šaltinio.

Norėdami pritvirtinti galinę plokštę su „Pi“ir „Matrix“ekranu, kai kurie nedideli medžio gabalai gali būti naudojami jų kraštams šlifuoti, taip pat varžtais pritvirtinti galinę plokštę.

8 veiksmas: sąranka Pi

Sąranka Pi
Sąranka Pi

1. Atsisiųskite naujausią „Raspbian lite“vaizdą iš raspberrypi.org

2. Nukopijuokite jį į ir SD kortelę, pakanka 8 GB. Galite naudoti pvz. etcher tai padaryti.

3. Prieš paleisdami Pi naudodami SD kortelę, paruoškite WIFI ir ssh prieigą

4. Įdėkite SD kortelę į bet kurį kompiuterį, įkrovos aplankas turėtų būti prieinamas

5. Nukopijuokite šias eilutes į failą wpa_supplicant.conf (sugeneruokite, jei jo nėra) ir pakeiskite parametrus, priklausomai nuo jūsų „Wifi“ir regiono

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. Įjunkite tuščią failą, pavadintą ssh (be jokio plėtinio), kad paleistumėte ssh prieigą

7. Dabar įdėkite SD kortelę į Raspberry Pi ir paleiskite ją. Patikrinkite „Wi -Fi“maršrutizatorių, kad gautumėte „Pi“IP adresą

8. užmegzti SSH ryšį su Pi naudojant terminalą (Linux, Mac) arba pvz. Uždėkite „Windows“. Vietoj 192.168.x.y įterpkite „Pi“IP adresą

ssh [email protected]

9. Atnaujinkite „Pi“(užtrunka šiek tiek laiko!)

sudo apt-get atnaujinimas

sudo apt-get atnaujinimas

10. Įdiekite pip ir sąrankos įrankį

sudo apt-get įdiegti python3-pip

sudo pip3 įdiegti -atnaujinti sąrankos įrankius

11. Įdiekite „Neopixel“tvarkyklę, ws281x lib, pygame ir libsdl

sudo pip3 įdiegti rpi_ws281x adafruit-circuitpython-neopixel

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

12. Įjunkite SPI skambindami raps-config, eikite į 5 sąsajos parinktys / P4 SPI / Įgalinti

sudo raspi-config

13. Pridėkite „Bluetooth“žaidimų pultą

sudo bluetoothctl

[bluetooth]# agentas į [bluetooth]# sulyginamas naudojant [bluetooth]# nuskaitymas [bluetooth]# pora aa: bb: cc: dd: ee: ff [bluetooth]# pasitikėjimas aa: bb: cc: dd: ee: ff [bluetooth]# connect aa: bb: cc: dd: ee: ff [bluetooth]# uždaryti

kur aa: bb: cc: dd: ee: ff yra jūsų „Bluetooth“žaidimų pulto MAC suknelė. Šis adresas turėtų būti parodytas paskambinus komandai „nuskaityti“. Įsitikinkite, kad „Bluetooth“valdiklis yra paruoštas susieti, peržiūrėkite valdiklio vadovą, kaip tai padaryti.

14. Dabar galite prisijungti prie „Pi“, numatytasis slaptažodis yra avietė („Windows“vartotojai gali naudoti „Putty“):

ssh [email protected]

9 veiksmas: „Python“kodas, testas ir simuliatorius

„Python“kodas, testas ir simuliatorius
„Python“kodas, testas ir simuliatorius
„Python“kodas, testas ir simuliatorius
„Python“kodas, testas ir simuliatorius
„Python“kodas, testas ir simuliatorius
„Python“kodas, testas ir simuliatorius

Kodą galima rasti „Github“. games_pi_only.py ir visi bmp failai yra reikalingi.

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

Kodas turi galimybę paleisti modeliavimo režimą už Pi ribų, naudojant „pigame“, kad imituotų matricą. Tai labai naudinga kuriant naujas funkcijas neturint tiesioginės prieigos prie matricos aparatūros. Taip pat derinimas yra daug lengvesnis. Norėdami suaktyvinti modeliavimo režimą, turite nustatyti PI konstantą (15 eilutė):

PI = klaidinga

Šiuo modeliavimo režimu vietoj „Bluetooth“žaidimų pulto naudojama klaviatūra. Mygtukai 1, 2, 3, 4 yra susieti su žaidimų pulto A, B, X, Y, rodyklių klavišais nurodymams, „s“- pradžiai ir „x“- pasirinkimui. Norėdami sukurti kompiuterį, galite naudoti standartinį redaktorių ir konsolę arba kai kuriuos integruotus IDE, pvz., „Micosoft Visual Studio Code“arba „Jetbrain PyCharm“.

Jei naudojate matricą ir „Raspberry Pi“, turite apibrėžti:

PI = tiesa

Norėdami nukopijuoti kodą į „Raspberry Pi“, galite naudoti komandą scp („Windows WinSCP“). Atidarykite konsolės langą, pereikite prie aplanko, kuriame yra „Github“failai, ir paskambinkite

scp games_pi_only [email protected]:/home/pi

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

tada prisijunkite prie „Pi“per ssh („Windows“vartotojai gali naudoti „Putty“):

ssh [email protected]

po sėkmingo prisijungimo galite pradėti „python“kodą paskambinę:

sudo python3 games_pi_only.py

Jei kodas veikia tinkamai, galite įjungti automatinį paleidimą paskambinę:

sudo nano /etc/rc.local

ir prieš išėjimą 0 pridėkite šią eilutę:

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

Išsaugoti („Ctrl“+O) ir išeiti („Ctrl“+X)

10 žingsnis: galutinis bandymas ir fanera

Galutinis bandymas ir fanera
Galutinis bandymas ir fanera
Galutinis bandymas ir fanera
Galutinis bandymas ir fanera
Galutinis bandymas ir fanera
Galutinis bandymas ir fanera

Prieš faneros klijavimą priekyje, matricą reikia išbandyti, kad įsitikintumėte, jog visi šviesos diodai veikia. Prieš klijuojant fanerą daug lengviau ką nors sutvarkyti.

Naudota medžio fanera yra specialus klevo faneros popierius, vadinamas „Microwood“, kurio viena pusė yra padengta popieriumi ir kurios storis yra 0,1 mm. Popieriaus pusę galima klijuoti tiesiai ant mdf, naudojant standartinius popierinius klijus be vandens.

11 žingsnis: rezultatas

Rezultatas
Rezultatas
Rezultatas
Rezultatas

Smagiai ir mėgaukitės žaidimu!

Raspberry Pi konkursas 2020 m
Raspberry Pi konkursas 2020 m
Raspberry Pi konkursas 2020 m
Raspberry Pi konkursas 2020 m

Pagrindinis prizas „Raspberry Pi“konkurse 2020 m

Rekomenduojamas: