Turinys:
- 1 žingsnis: pjovimas lazeriu
- 2 žingsnis: įdiekite šviesos diodus
- 3 žingsnis: Surinkimas
- 4 žingsnis: litavimas
- 5 veiksmas: įdiekite SPI ekraną
- 6 veiksmas: įdiekite „Pi“
- 7 žingsnis: laidai ir maitinimas
- 8 veiksmas: sąranka Pi
- 9 veiksmas: „Python“kodas, testas ir simuliatorius
- 10 žingsnis: galutinis bandymas ir fanera
- 11 žingsnis: rezultatas
Video: Medinis LED žaidimų ekranas, sukurtas naudojant „Raspberry Pi Zero“: 11 žingsnių (su nuotraukomis)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:44
Š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
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
Š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
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
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ą
Ž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“
Š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
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
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ą
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“):
9 veiksmas: „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“):
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
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
Smagiai ir mėgaukitės žaidimu!
Pagrindinis prizas „Raspberry Pi“konkurse 2020 m
Rekomenduojamas:
„Pasidaryk pats“ARGB žaidimų ausinių stovas naudojant akrilą: 14 žingsnių (su nuotraukomis)
„Pasidaryk pats“ARGB žaidimų ausinių stovas naudojant akrilą: Sveiki visi, šioje instrukcijoje aš jums parodysiu, kaip sukurti adresuojamą RGB ausinių stovą savo žaidimų ausinėms naudojant WS2812b šviesos diodus („Aka Neopixels“). Tam taip pat galite naudoti RGB juosteles projektas. Tas aprašymas nėra tikras
„Arduino“pagrindu sukurtas „pasidaryk pats“žaidimų valdiklis - „Arduino PS2“žaidimų valdiklis - Žaidimas „Tekken“naudojant „pasidaryk pats“„Arduino“žaidimų pultą: 7 žingsniai
„Arduino“pagrindu sukurtas „pasidaryk pats“žaidimų valdiklis | „Arduino PS2“žaidimų valdiklis | Žaidimas „Tekken“naudojant „pasidaryk pats“„Arduino Gamepad“: Sveiki, vaikinai, žaisti žaidimus visada smagu, tačiau žaisti su savo „pasidaryk pats“žaidimo valdikliu yra smagiau. Taigi, mes padarysime žaidimų valdiklį naudodami „arduino pro micro“šioje instrukcijoje
„Ardubaby“mini žaidimų konsolė su 500 žaidimų: 10 žingsnių
„Ardubaby“mini žaidimų konsolė su 500 žaidimų: Kreditas kūrėjui (Kevinui Batesui), „Arduboy“yra labai sėkminga 8 bitų žaidimų konsolė. Mėgėjas parašė tūkstančius žaidimų, kurie jais laisvai dalijosi „Arduboy“bendruomenės forume, kad daugiau žmonių galėtų išmokti koduoti
Vizitinė kortelė/žaidimų konsolė: ATtiny85 ir OLED ekranas: 5 žingsniai (su nuotraukomis)
Vizitinė kortelė/žaidimų konsolė: „ATtiny85“ir OLED ekranas: Sveiki visi! Šiandien aš jums parodysiu, kaip galite sukurti savo vizitinę kortelę/žaidimų konsolę/viską, ką tik galite įsivaizduoti, kuriame yra apšviestas I2C OLED ekranas ir ATtiny85 mikroprocesorius. Šioje instrukcijoje aš jums pasakysiu, kaip mano sukurtas PCB
Servo pagrindu sukurtas keturkojis vaikštynė: 12 žingsnių (su nuotraukomis)
Servo pagrindu sukurtas 4 kojų vaikštynės: sukurkite savo (be reikalo technologijų) servo varikliu varomą keturių kojų vaikštynės robotą! Pirma, įspėjimas: šis robotas iš esmės yra klasikinio BEAM keturkojo vaikštynės mikrovaldiklio smegenų versija. „BEAM“keturkojį gali būti lengviau padaryti, jei to dar nesate