Sisällysluettelo:
- Vaihe 1: Osat
- Vaihe 2: Johdotus
- Vaihe 3: Vaihtoehtoinen johdotus
- Vaihe 4: Koodi + Selitys
- Vaihe 5: Kiitos, että luit
Video: Pongitennis LED -matriisilla, Arduinolla ja ohjaussauvoilla: 5 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:00
Tämä projekti on suunnattu niin aloittelijoille kuin kokeneillekin. Perustasolla se voidaan tehdä leipälevyllä, hyppyjohtimilla ja kiinnittää romumateriaaliin (käytin puuta) Blu-Tackilla ilman juottamista. Kuitenkin kehittyneemmällä tasolla se voidaan juottaa perf -levyyn tai mukautettuun piirilevyyn.
Koska tämä oli lukitusprojekti, minulla ei ollut pääsyä moniin työkaluihin tai materiaaleihin, joten miksi se on juuttunut puunpalaan, joka on hieman liian pieni Blu-Tackilla, mutta tästä huolimatta se on hauska projekti, joka tulee yhteen nopeasti ja koostuu yleisesti saatavilla olevista osista, jotka löytyvät edullisesti verkosta.
Vaihe 1: Osat
Tarvitset Pong -pelin;
- 1x Arduino (mikä tahansa toimii)
- 4x MAX7219 8x8 LED -matriisit
- 2x ohjaussauvat
- 1x pietsosummeri (valinnainen)
- 15x naaras-naarasliitin (3x 5 kpl ryhmää)
- 15x uros-naarasliitin (3x 5 kpl ryhmää)
- 18x uros-uros-hyppyjohdot
- 1x leipälauta
- 1x 220Ω vastus
Arduino Uno- tai Nano -levyn sijasta voit käyttää Arduino -leipäpohjaista leipää;
- 1x ATmega328p 28pin IC
- 1x 16kHz kideoskillaattori
- 2x 22pF keraamiset kondensaattorit
- 1x USB FTDI UART -muunnin
- 1x 100uF elektrolyyttikondensaattori
- 1x Micro USB Breakout (valinnainen)
Työkalut;
- PC, jossa on Arduino IDE (ja LedControl Library)
- Asiaankuuluva USB -kaapeli Arduinollesi
- Virtapankki tehostaaksesi peliä tietokoneeltasi
Vaihe 2: Johdotus
Johdotus on hyvin yksinkertaista, koska tarvitset vain hyppyjohdot matriisien ja ohjaussauvojen otsikoiden liittämiseksi Arduinoon. Ainoa komplikaatio on virta, koska Arduino Unossa on vain 3 GND -liitäntää ja yksi 5 voltin liitäntä. Täällä leipälauta tulee sisään ja toimii kaikkien komponenttien virranjakelukiskona. Jos käytät NANO -laitetta, leipälauta palvelee samaa tarkoitusta ja mahdollistaa kaiken kytkemisen.
Johdotusta varten noudata näitä kytkentöjä.
- Vasen ohjaussauva - GND ja 5v omille virtakiskoilleen. SW - nasta 9, VRx - A0, VRy - A1.
- Oikea ohjaussauva - GND ja 5v omiin voimakiskoihinsa. SW - nasta 8, VRx - A2, VRy - A3.
- Oikein päin oleva LED -matriisi - GND ja 5v vastaaviin virtakiskoihinsa. DIN - 13, CS - 11, CLK - 12. (rivin 25 mukaisesti)
- Kaikki muut LED -matriisit voidaan ketjuttaa ensimmäisen ensimmäisen ulostulosta oikealta vasemmalle, joten koodi toimii oikein.
- Valinnainen summeri - anodi (+) - 220 Ω: n virranrajoitusvastus nastaan 10, katodi (-) - GND.
Vaihe 3: Vaihtoehtoinen johdotus
Johdotuksen jälkeen Arduino UNO: lla tilan säästämiseksi päätin laittaa UNO: n Arduino IC: n leipälevylle, jossa on 16 MHz: n kristallioskillaattori ja pari 22pF: n kondensaattoria kummaltakin puolelta maahan. Mielestäni tämä oli kannattava muutos, koska se saa projektin näyttämään siistimmältä ja valmiimmalta, mutta sinun on käytettävä USB FTDI -ohjelmoijaa ohjelman päivittämiseen.
Vaihe 4: Koodi + Selitys
Jos haluat ladata koodin Arduinolle, lataa LedControl -kirjasto GitHubista täältä, github.com/wayoda/LedControl ja lisää Zip -tiedosto tai lisää se IDE: n kirjastonhallinnan kautta. Avaa tämän jälkeen liitteenä oleva luonnos, valitse Arduino -levysi ja porttiasetukset työkalujen alta ja lataa se arduinoon.
Selitys
Rivi 1: Lisää kirjaston
Rivi 5-23: Asettaa kaikki muuttujat, vakiot ja pin-numerot.
Rivi 25: Asettaa Martix -LEDin ja asettaa ohjaustapit ja kuinka monta näyttöä.
Rivi 27: Asettaa nollaustoiminnon.
Rivi 30-35: Sammutustoiminto kaikkien näyttöjen kytkemiseksi päälle/pois.
Rivi 38-43: SetIntensity-toiminto kaikkien näyttöjen kirkkauden asettamiseksi yhdessä.
Rivi 46-51: ClearAll-toiminto pyyhkii kaikki näytöt yhteen.
Rivi 53-64: ohjaussauva Toiminto, jolla saat ohjaussauvojen asennon, kartoitetaan ne seitsemään mahdolliseen mailan asentoon pallon lyömiseksi ja siirretään sitten maila uuteen asentoon.
Rivi 67-435: Toiminto, joka siirtää pallon vasemmalle pelaajalle määrätyllä korkeudella ja nopeudella, tarkistaa, osuiko pelaaja siihen ja joko jatkaa ja asettaa törmäystilan tosi-asentoon tai palauttaa pallon takaisin, lisää pisteeseen 1 ja lisää nopeutta.
Rivi 438-811: Toiminto, joka siirtää pallon oikealle pelaajalle määrätyllä korkeudella ja nopeudella, tarkistaa, osuiko pelaaja siihen ja joko jatkaa ja asettaa törmäyksen tilaksi tosi tai palauttaa pallon takaisin, lisää pistemäärään 1 ja lisää nopeutta.
Rivi 813-823: Toiminto, jolla voidaan näyttää hymiö, kasvot, rasti, risti tai kysymysmerkki määritettyyn näyttöön (0 oikealta 3 vasemmalle).
Rivi 861-979: Toiminto näyttää numerot 0-9 määritettyyn näyttöön.
Rivi 981-1047: Toiminto, joka näyttää pisteet näytön jokaiselle pelaajapuolelle.
Rivi 1049-1064: Toiminto, jolla voit tarkistaa, onko soitin valmis.
Rivi 1066-1076: Asetukset Koodin koodiosa, joka suoritetaan kerran, kun ohjelma käynnistyy.
Rivi 1078-1136: Pääsilmukka-osa pelilogiikalle, jossa kaikkia toimintoja käytetään ja missä voittaja päätetään ja sitten se käynnistää ohjelman uudelleen 5 sekunnin pisteytyksen jälkeen.
Vaihe 5: Kiitos, että luit
Kiitos, että luit tämän Instructable -ohjelman, se oli hauska lukitusprojekti, joka kokoontui parin päivän aikana, kun opin lisää Arduinon ohjelmoinnista. Jos pidit siitä, voit äänestää sitä Arduino -kilpailussa.
Suositeltava:
Hajautettu LED -nauhakyltti Arduinolla/Bluetoothilla: 8 vaihetta (kuvilla)
Hajaantunut LED -nauhakyltti Arduinolla/Bluetoothilla: loin tämän merkin DJ -osastolle 8. vuosittaisessa vuorovaikutteisessa näyttelyssä paikallisessa hakkeritilassani, NYC Resistorissa. Tänä vuonna teemana oli Running Man, vuoden 1987 scifi-elokuva, joka sijoittuu vuonna 2017. Merkki on rakennettu vaahtomuovista
Kuinka rakentaa 8x8x8 LED -kuutio ja ohjata sitä Arduinolla: 7 vaihetta (kuvilla)
Kuinka rakentaa 8x8x8 LED -kuutio ja hallita sitä Arduinolla: tammikuu 2020 edit: Jätän tämän pois, jos joku haluaa käyttää sitä ideoiden luomiseen, mutta ei ole enää mitään järkeä rakentaa kuutiota näiden ohjeiden perusteella. LED -ohjainpiirejä ei enää valmisteta, ja molemmat luonnokset on kirjoitettu vanhassa versiossa
DIY LED-fotometri Arduinolla fysiikan tai kemian oppitunneille: 5 vaihetta (kuvilla)
DIY LED-fotometri Arduinolla fysiikan tai kemian oppitunneille: Hei! Nesteet tai muut esineet näyttävät värillisiltä, koska ne heijastavat tai välittävät tiettyjä värejä ja nielevät (absorboivat) muita. Niin kutsutulla fotometrillä voidaan määrittää ne värit (aallonpituudet), jotka nesteet absorboivat. Perusmaksu
Värinvaihtolaatikkohyllyt LED-nauhoilla ja Arduinolla: 5 vaihetta (kuvilla)
Värinvaihtolaatikkohyllyt LED-nauhoilla ja Arduinolla: Tämä alkoi, koska tarvitsin ylimääräistä säilytystilaa työpöydän vieressä ja yläpuolella, mutta halusin antaa sille erityistä suunnittelua. Miksi et käytä niitä hämmästyttäviä LED -nauhoja, joita voidaan käsitellä yksilöllisesti ja ottaa minkä tahansa värin? Annan muutaman huomautuksen itse hyllystä
LED -sateenvarjo Arduinolla: 14 vaihetta (kuvilla)
LED -sateenvarjo Arduinolla: Arduinon kanssa varustetussa LED -sateenvarjossa yhdistyvät sateenvarjo, 8x10 LED -matriisi ja Arduino -mikrokontrolleri, jotka luovat hallittavan, ohjelmoitavan LED -kokemuksen oman sateenvarjon yksityisyydessä. Tämä projekti sai inspiraationsa sähköisestä sateenvarjosta