Sisällysluettelo:

Puinen LED -pelinäyttö Powered by Raspberry Pi Zero: 11 vaihetta (kuvilla)
Puinen LED -pelinäyttö Powered by Raspberry Pi Zero: 11 vaihetta (kuvilla)

Video: Puinen LED -pelinäyttö Powered by Raspberry Pi Zero: 11 vaihetta (kuvilla)

Video: Puinen LED -pelinäyttö Powered by Raspberry Pi Zero: 11 vaihetta (kuvilla)
Video: Электрика в квартире своими руками. Финал. Переделка хрущевки от А до Я. #11 2024, Heinäkuu
Anonim
Puinen LED -pelinäyttö Powered by Raspberry Pi Zero
Puinen LED -pelinäyttö Powered by Raspberry Pi Zero
Puinen LED -pelinäyttö Powered by Raspberry Pi Zero
Puinen LED -pelinäyttö Powered by Raspberry Pi Zero
Puinen LED -pelinäyttö Powered by Raspberry Pi Zero
Puinen LED -pelinäyttö Powered by Raspberry Pi Zero

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

Laserleikkaus
Laserleikkaus
Laserleikkaus
Laserleikkaus
Laserleikkaus
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

Asenna LEDit
Asenna LEDit
Asenna LEDit
Asenna LEDit
Asenna LEDit
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

Kokoonpano
Kokoonpano
Kokoonpano
Kokoonpano
Kokoonpano
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

Juotos
Juotos
Juotos
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ö

Asenna SPI -näyttö
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

Asenna Pi
Asenna Pi
Asenna Pi
Asenna Pi
Asenna Pi
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 ja virtalähde
Johdotus ja virtalähde
Johdotus ja virtalähde
Johdotus ja virtalähde
Johdotus ja virtalähde
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

Asenna Pi
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

ssh [email protected]

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ä):

ssh [email protected]

Vaihe 9: Python -koodi, testi ja simulaattori

Python -koodi, testi ja simulaattori
Python -koodi, testi ja simulaattori
Python -koodi, testi ja simulaattori
Python -koodi, testi ja simulaattori
Python -koodi, testi ja simulaattori
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ä):

ssh [email protected]

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

Lopullinen testi ja viilu
Lopullinen testi ja viilu
Lopullinen testi ja viilu
Lopullinen testi ja viilu
Lopullinen testi ja viilu
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

Lopputulos
Lopputulos
Lopputulos
Lopputulos

Pidä hauskaa ja nauti pelistä!

Raspberry Pi -kilpailu 2020
Raspberry Pi -kilpailu 2020
Raspberry Pi -kilpailu 2020
Raspberry Pi -kilpailu 2020

Pääpalkinto Raspberry Pi -kilpailussa 2020

Suositeltava: