Sisällysluettelo:
- Vaihe 1: Laserleikkaus
- Vaihe 2: Asenna LEDit
- Vaihe 3: Kokoonpano
- Vaihe 4: Juotos
- Vaihe 5: Asenna SPI -näyttö
- Vaihe 6: Asenna Pi
- Vaihe 7: Johdotus ja virtalähde
- Vaihe 8: Asenna Pi
- Vaihe 9: Python -koodi, testi ja simulaattori
- Vaihe 10: Lopullinen testi ja viilu
- Vaihe 11: Tulos
Video: Puinen LED -pelinäyttö Powered by Raspberry Pi Zero: 11 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 08:59
Tämä projekti toteuttaa 20x10 pikselin WS2812 -pohjaisen LED -näytön, jonka koko on 78x35 cm ja joka voidaan helposti asentaa olohuoneeseen retro -pelejä pelaamaan. Tämän matriisin ensimmäinen versio rakennettiin vuonna 2016 ja monet muut ihmiset rakensivat sen uudelleen. Tätä kokemusta käytettiin tiivistämään kaikki parannukset uuden version luomiseksi matriisista ja tuomaan se nyt osoitteeseen instructables.com. Tärkeimpiä uusia ominaisuuksia ovat päivitys Raspberry Pi Zero -laitteeseen sen sijaan käyttämällä ja Pi A sekä Arduino ja korvaamalla edellinen suuri ohjain Bluetooth -peliohjaimella. Myös ohjelmistoa parannettiin, mukaan lukien simulaattori, jonka avulla voit kehittää koodia tietokoneella, vaikka sinulla ei olisi pääsyä matriisilaitteistoon.
Yksi tämän LED -matriisin erityispiirteistä on erityinen puuviilu, jota käytetään LED: n peittämiseen ja piilottamiseen, kun LEDit eivät ole käytössä. Tämä lisää huomattavasti muiden kuin tekniikan ihmisten hyväksymiskerrointa;-) Tietenkin, jos tätä erikoisviilua ei ole saatavana maassasi, voit myös piilottaa LEDit käyttämällä jotakin muuta hajanaista materiaalia, kuten akryyliä. Suunnitelmissa on myös tarjota joitain keskeisiä osia tulevaisuudessa hankkeen uudelleenrakentamisen helpottamiseksi.
Tarvikkeet:
- Raspberry Pi Zero W (tietyillä muutoksilla kaikki muut mallit toimivat myös)
- 200 LED/s (WS2812B LED -raidat ja 30 LED/m)
- 4x SPI LED -matriisinäyttö ja MAX7219
- Kaapelit
- Bluetooth -peliohjain (esim. Tämä Pimoronilta)
- Virtalähde 5V, vähintään 5A
- MDF -puuta laserleikkaukseen
- Puuviilu tai diffuusioakryylilevy
- Kondensaattori, vastus
- Jotkut ruuvit
Vaihe 1: Laserleikkaus
Matriisin pohjarakenne on valmistettu MDF -puusta, jonka paksuus on 3 mm ja leikattu laserleikkurilla. Jos sinulla ei ole laserleikkuria, voit käyttää verkkopalvelua, kuten ponoko.com tai formulaor.de, tai ottaa yhteyttä ympäristösi seuraavaan fablab/makerspaceen. On myös mahdollista käyttää pahvia tai muita kevyempiä materiaaleja, mutta liitteenä olevat tiedostot on suunniteltu 3 mm: n paksuisille, joten ohuemmat tai paksummat materiaalit on suunniteltava uudelleen. Suunnittelu tehtiin Fusion 360: ssä. Suurin osa osista tarttuu yhteen vain liu'uttamalla ne paikalleen, vain osa osista, kuten ulkoreunat, tulee liimata yhteen puuliimalla. Varmista, että matriisi toimii täysin ennen liiman levittämistä! Myös puuviilu on liimataan, mutta tämä on viimeinen vaihe sen varmistamisen jälkeen, että kaikki toimii.
Taustalevyn oikealla (alemmalla) puolella on katkaistu segmentti, jolla elektroniset komponentit kiinnitetään matriisiin ja joilla on edelleen pääsy näihin komponentteihin, kun viilu liimataan kiinni.
Vaihe 2: Asenna LEDit
LED -raidat ovat vakiona 30 LED/m WS2812 -raitaa, joita on saatavana Amazonista, eBayssa tai muissa verkkokaupoissa ympäri maailmaa. Tämä on yleensä myös halvin saatavilla oleva LED -raita. Jos haluat käyttää muita LED -valoja, sinun on varmistettava, että etäisyys 30 LED/m sopii matriisikuvioon. Laserleikattuissa segmenteissä on pienet leikkausalueet, jotka sopivat 10 cm: n LED -leveyteen. Näiden LED-raitojen takana on kaksipuolinen teippi, joten voit liimata ne suoraan MDF-levyyn tarkan paikannuksen jälkeen. Tarkista jokaisen raidan oikea suunta ennen nauhan käyttöä (DIN-DOUT-suunta).
Johdotuskuvio on siksak, joten lopussa on vain yksi syöttötappi matriisiin ja kaapelin pituus on mahdollisimman lyhyt. Virran jakamiseksi oikein ja kaapeleiden vähentämiseksi matriisin yläosassa jokainen LED -raita on kytketty matriisin alareunassa olevaan 5V ja GND -verkkoon. Voit käyttää joko yksittäisiä johtoja tai piirilevyjen prototyyppejä 5V- ja GND -linjan jakamiseen.
Vaihe 3: Kokoonpano
Räjähdysnäkymä auttaa tunnistamaan oikeat osat kokoonpanolle. Seuraa vain vaiheittaisia asennuskuvia. Takatasossa on poikkirakenteita pitkiä sivuseiniä ja joitain lyhyitä seiniä varten. Jos kappaleiden asentamisessa on ongelmia, käytä niitä hiekkapaperilla.
Vaihe 4: Juotos
On olemassa erilaisia tapoja juottaa siellä voimalinjoja eri raidoille yhdessä. Voit joko käyttää yksittäisiä johtoja tai jonkinlaista kuparista valmistettua yhteistä kiskoa erilaisten johtojen juottamiseen. Tässä tapauksessa piirilevyjen prototyyppikappaleita käytettiin ohjaamaan virtakiskot raidoille. WS2812B -raidoissa on jo erilliset virtakaapelit, joiden avulla voit liittää virtakiskon ensimmäiseen raitisyöttöön (kuvan vasen puoli).
Vaihe 5: Asenna SPI -näyttö
Pelitulosten ja tekstin näyttämiseen käytetään LED -matriisinäyttöä, joka perustuu LED -ohjaimeen MAX7219. Se on kytketty SPI: n (Serial Peripheral Interface) kautta Raspberry Pi: hen. Neljä 8x8 näyttöä yhdistetään 32x8 pikselin pikselimatriisiin. Voit ostaa tämän 8x8 pikselin näytön esim. eBayssa on saatavana myös yhdistettyjä 32x8 pikselin näyttöjä. Sinulla on myös erilaisia värivaihtoehtoja; tässä tapauksessa käytettiin punaisia näyttöjä. Koska SPI toimii kuin siirtorekisteri, näytöt yhdistetään sarjaan yhdistämällä ensimmäisen matriisin tiedot toisen matriisin tietoihin ja niin edelleen alkaen näytön oikeasta reunasta.
Tämä näyttö on luettavissa vain ulkopuolelta, jos se on sijoitettu suoraan viilukerroksen taakse. Jos ei, näkyvissä on vain punainen hämärtyminen. Joten sinun on asennettava se takalevyn katkaisusegmentin päälle 30 mm: n etäisyydellä taustalevyn pinnan ja matriisin pinnan välillä. Olen käyttänyt jäljellä olevia puukappaleita ja ruuveja sovittaakseni puuttuvan 19 mm taustalevyn ja piirilevyjen väliin, mutta voit myös käyttää mitä tahansa ulkoisia välikappaleita.
Näytön johdotus näkyy vaiheessa 7.
Vaihe 6: Asenna Pi
Tässä asennuksessa käytetään Raspberry Pi Zeroa. Voit käyttää myös mitä tahansa muuta Raspberry Pi -mallia, mutta uudempien, joissa on integroitu WiFi ja Bluetooth, avulla voit helposti muodostaa yhteyden langattomiin peliohjaimiin ja yksinkertaistaa ohjelmointia. Voit kiinnittää Pi: n käyttämällä vähintään kahta ruuvia ja pieniä välikappaleita ruuvaamalla se taustalevyyn.
Raspberry Pi Zero W -laitteessa käytetään seuraavia tappeja:
- PIN 2: 5V
- PIN 6: GND
- GPIO18 -> LED -raidat
- GPIO11: SPI CLK -> MAX7219 matriisi CLK
- GPIO10: SPI MOSI -> MAX7219 matriisi DIN
- GPIO8: SPI CS -> MAX7219 matriisi CS
Jotkut ihmiset ilmoittivat ongelmista GPIO18: n käytössä LED -valoissa. Käytä tässä tapauksessa GPIO21. Jos näin on, sinun on vaihdettava koodin rivi 21 muotoon pixel_pin = board. D21.
WS2812B -nauhaa käytetään täällä sen teknisten tietojen ulkopuolella. Normaalisti se vaatii 5 V: n logiikkatason DIN: llä, mutta Pi tarjoaa vain 3, 3 V. Vaikka tämä toimii useimmissa tapauksissa, sinun on testattava tämä nauhallasi. Jos se ei toimi, voit lisätä tasonmuuntimen, kuten 74HCT245 tai minkä tahansa muun 3V3 - 5V -muuntimen Pi: n ja nauhan väliin.
Vaihe 7: Johdotus ja virtalähde
Johdotus tehdään kytkentäkaavion mukaisesti. Virtalähde on 5 V tasavirtalähde.
Matriisin on/off -kytkennän helpottamiseksi virtapistokkeen ja matriisipiirien väliin lisätään kytkin. Kuitenkin, koska Raspberry Pi ei pidä kovasta sammutuksesta, ohjelmistossa on sammutusvaihtoehto, jolla Pi voidaan sammuttaa turvallisesti Gamepadin kautta ennen matriisin vaihtamista.
LED -nauha DIN -nasta on kytketty vastuksen kautta Pi: hen, ja myös suuri kondensaattori (4700uF) lisätään virtalähteen puskuroimiseksi. Katso lisätietoja Adafruit Überguide Neopixels -oppaasta.
LEDit kuluttavat maksimivirtaa 60 mA per LED, joten maksimivirta 200x60mA = 12A on mahdollinen !!! Vähentämällä kirkkautta ja käyttämättä kaikkia täysin valkoisia LED -valoja tämä on enemmän teoreettinen arvo, mutta se riippuu koodista, mikä maksimivirta saavutetaan. Joten riittävän suuren virtalähteen valinta on erittäin tärkeää. Useimmissa sovelluksissa 5V/5A (25W) -virtalähteen pitäisi riittää.
Taustalevyn kiinnittämiseksi Pi- ja Matrix -näytöllä joitain pieniä puukappaleita voidaan käyttää niiden reunojen murskaamiseen ja myös ruuvien avulla pitämään taustalevy paikallaan.
Vaihe 8: Asenna Pi
1. Lataa uusin Raspbian lite -kuva raspberrypi.org -sivustolta
2. Kopioi se SD -kortille, 8 Gt riittää. Voit käyttää mm. etcher tekemään tämän.
3. Valmistele WIFI- ja ssh -yhteys ennen Pi: n käynnistämistä SD -kortilla
4. Aseta SD -kortti mihin tahansa tietokoneeseen, käynnistyskansion pitäisi olla käytettävissä
5. Kopioi seuraavat rivit tiedostoon wpa_supplicant.conf (luo se, jos sitä ei ole) ja muuta parametreja Wifi -verkon ja alueen mukaan
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. Lisää tyhjä tiedosto nimeltä ssh (ilman laajennusta) käynnistymään, jotta ssh -käyttöoikeus voidaan ottaa käyttöön
7. Aseta SD -kortti nyt Raspberry Pi -laitteeseen ja käynnistä se. Tarkista wifi -reitittimesi saadaksesi Pi: n IP -osoite
8. aloita SSH -yhteys Pi -laitteeseen päätelaitteen (Linux, Mac) tai esim. Putty Windows. Lisää Pi: n IP -osoite 192.168.x.y: n sijaan
9. Päivitä Pi (kestää jonkin aikaa!)
sudo apt-get päivitys
sudo apt-get päivitys
10. Asenna pip ja asennustyökalu
sudo apt-get install python3-pip
sudo pip3 install -päivitä asennustyökalut
11. Asenna Neopixel -ajuri, ws281x lib, pygame ja libsdl
sudo pip3 asenna rpi_ws281x adafruit-circuitpython-neopixel
sudo pip3 install pygame sudo apt-get install libsdl1.2-dev sudo pip3 install --upgrade luma.led_matrix
12. Ota SPI käyttöön soittamalla raps-config, siirry kohtaan 5 Liitäntävaihtoehdot / P4 SPI / Ota käyttöön
sudo raspi-config
13. Lisää Bluetooth -peliohjain
sudo bluetoothctl
[bluetooth]# agentti [bluetooth]# pariliitettävissä [bluetooth]# scan on [bluetooth]# pari aa: bb: cc: dd: ee: ff [bluetooth]# trust aa: bb: cc: dd: ee: ff [bluetooth]# connect aa: bb: cc: dd: ee: ff [bluetooth]# lopeta
jossa aa: bb: cc: dd: ee: ff on Bluetooth -peliohjaimesi MAC -mekko. Tämä osoite tulee näyttää skannauskomennon kutsuttua. Varmista, että Bluetooth -ohjaimesi on valmis muodostamaan pariliitoksen. Tarkista ohjaimen käyttöoppaasta, miten tämä tehdään.
14. Voit nyt muodostaa yhteyden Pi: hen, oletussalasana on vadelma (Windows -käyttäjät voivat käyttää Puttyä):
Vaihe 9: Python -koodi, testi ja simulaattori
Koodi löytyy Githubista. games_pi_only.py ja kaikki bmp -tiedostot tarvitaan.
git clone href = https://github.com/makeTVee/ledmatrix/tree/master/python/pi_only
Koodilla on mahdollisuus ajaa simulointitilassa Pi: n ulkopuolella käyttämällä pygamea matriisin simuloimiseksi. Tämä on erittäin hyödyllistä uusien ominaisuuksien kehittämisessä ilman suoraa pääsyä matriisilaitteistoon. Myös virheenkorjaus on paljon helpompaa. Sinun on asetettava PI -vakio simulointitilan aktivoimiseksi (rivi 15):
PI = epätosi
Tässä simulaatiotilassa käytetään myös näppäimistöä Bluetooth -peliohjaimen sijasta. Painikkeet 1, 2, 3, 4 on yhdistetty peliohjaimen A, B, X, Y, nuolinäppäimet reittiohjeisiin, "s" aloitus ja "x" valintaan. Voit käyttää kehitystä tietokoneellasi käyttämällä tavallista editoria ja konsolia tai joitakin integroituja IDE -laitteita, kuten Micosoft Visual Studio Code tai Jetbrain PyCharm.
Jos käytät matriisia ja Raspberry Pi: tä, sinun on määritettävä:
PI = Totta
Voit kopioida koodin Raspberry Pi -laitteeseen käyttämällä scp -komentoa (Windows WinSCP). Avaa konsoli -ikkuna, vaihda Github -tiedostoja sisältävään kansioon ja soita
scp games_pi_only [email protected]:/home/pi
scp *.bmp [email protected]:/home/pi
muodosta sitten yhteys Pi: hen ssh: n kautta (Windows -käyttäjät voivat käyttää Puttyä):
onnistuneen kirjautumisen jälkeen voit käynnistää python -koodin soittamalla:
sudo python3 games_pi_only.py
Jos koodi toimii oikein, voit ottaa automaattisen käynnistyksen käyttöön soittamalla:
sudo nano /etc/rc.local
ja lisää seuraava rivi ennen poistumista 0:
/usr/bin/nice -n -20 python3 /home/pi/games_pi_only.py &
Tallenna (Ctrl+O) ja Poistu (Ctrl+X)
Vaihe 10: Lopullinen testi ja viilu
Ennen kuin viilu on liimaa etupuolen päällä, matriisi on testattava sen varmistamiseksi, että kaikki LEDit toimivat. On paljon helpompaa korjata jotain ennen viilun liimaamista.
Käytetty puuviilu on erityinen vaahteraviilupaperi nimeltä Microwood, joka on toiselta puolelta peitetty paperilla ja jonka paksuus on 0,1 mm. Paperin puoli voidaan liimata suoraan mdf -levylle käyttämällä tavallista vedetöntä paperiliimaa.
Vaihe 11: Tulos
Pidä hauskaa ja nauti pelistä!
Pääpalkinto Raspberry Pi -kilpailussa 2020
Suositeltava:
Naarmuuntunut puinen offset -satelliittiantenni: 11 vaihetta (kuvilla)
Naarmuuntunut puinen offset -satelliittiantenni: Olin törmännyt joihinkin verkkosivustoihin, joissa useat ihmiset rakensivat omat ensisijaiset satelliittiantenninsa, yksi australialainen mies jopa rakensi valtavan 13 metrin offset -astian. Mikä on ero? Pääpaino on siinä, mitä ajattelet, kun joku sanoo "satelliittidis
LED -valaistu puinen hääkello: 8 vaihetta (kuvilla)
LED-valaistu puinen hääkello: Aloitin tämän projektin tehdäkseni ainutlaatuisen, ainutlaatuisen hääkellon sisarelleni ja veljelleni. Halusivat tehdä jotain, mitä he voisivat sytyttää ja näyttää jonkin osan hääpäivästään pitkään. Kävi läpi monia malleja
Puinen LED -kello: 5 vaihetta (kuvilla)
Puinen LED -kello: Puinen LED -kello näyttää tylsältä puulaatikolta, paitsi että aika hehkuu sen edestä. Harmaan muovin palan sijasta sinulla on mukavampi puukappale. Se säilyttää edelleen kaikki toiminnot, mukaan lukien
Puinen LED -seinävalaisin: 5 vaihetta (kuvilla)
Puinen LED -seinävalaisin: Ok, joten tykkään leikkiä LEDien kanssa ja rakastan myös puun kanssa työskentelyä. Miksi et käytä molempia ja luo jotain ainutlaatuista. Tietokoneen pöydän yläpuolelle tarvittiin mukava miellyttävä valonlähde, enkä pitänyt valaisimesta, joka oli jo
Puinen LED -kello - analoginen tyyli: 11 vaihetta (kuvilla)
Puinen LED -kello - Analoginen tyyli: Se on analoginen puinen LED -kello. En tiedä miksi en ole nähnyt yhtä näistä aikaisemmin .. vaikka digitaaliset tyypit ovat hyvin yleisiä. Anyhoo, näillä mennään