Sisällysluettelo:
Video: POING! - Arduino Arcade Game!: 3 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:00
Rakennamme PONG-tyylistä arcade-peliä, jossa käytetään osia Elegoo Inc: n "Täydellisin aloituspakkaus UNO R3 Project" -sarjasta.
Täysi paljastaminen - Elegoo Inc. toimitti kirjoittajalle suurimman osan tähän oppaaseen toimitetuista osista.
Olen halunnut rakentaa projektin käyttämällä LED Matrix -moduulia. Perus 8x8 LED -näyttö vaatii lisäsiirtorekisterien käyttöä, jotta voidaan käsitellä matriisin yksittäisiä LED -valoja. Sen sijaan tässä projektissa käytetään MAX7219 8x8 LED -moduulia. Se on erittäin helppokäyttöinen moduuli.
Ehdotan, että tämän projektin johdotusliitäntöjen suuren määrän vuoksi sitä pidettäisiin INTERMEDIATE level Instructable.
Aloitetaan!
Tarvikkeet
Elegoon käynnistyssarjan osat (https://rebrand.ly/dvjb3w8)
- UNO R3 -mikro -ohjain
- MAX7219 8x8 LED -moduuli
- 16x2 LCD -näyttömoduuli
- 10K Trim -potentiometri ja nuppi
- Dupont -johdot
- 220R vastus
- Passiivinen pietsosummeri
- Virtalähdemoduuli
- 9V 1A -sovitin - tarvitaan, koska UNO ei voi syöttää riittävästi virtaa 8x8 LED -moduulille
- Leipälauta
Lisäosia tarvitaan
2 x 10K lineaarinen potentiometri - edullinen ja laajalti saatavilla eBayssa, AliExpressissä, Banggoodissa jne.
Vaihe 1: Piirin kytkentä
Kytke piiri kytkentäkaavion mukaisesti. Ei kiirettä. Näihin kahteen näyttöön tarvitaan PALJON liitäntöjä.
Huomaa piirin kuvassa, että virtamoduuli on kiinnitetty leipälevyn vasemmalle puolelle ja 9V 1A DC -sovitin on kytketty virtamoduuliin niin, että LED -matriisiin syötetään riittävästi virtaa. UNO: n 5V -nastan ja leipälevyn välillä EI ole yhteyttä. MUTTA UNO: n GND -nasta on kytketty leipälevyn GND: hen.
Tarkista työsi kahdesti ja kolmesti.
Vaihe 2: Arduino -koodi
Tämä opettavainen olettaa, että osaat jo ohjelmoida Arduinossa.
Lataa liitteenä oleva Arduino -luonnos. Varmista, että olet lisännyt LedControl -kirjaston Arduino -kirjastoihisi. Käytin Eberhard Fahlen versiota. Etsi MAX7219 Hallitse kirjastoja -selaimesta ja löydät sen ja asennat sen.
Varmista, että pitches.h -tiedosto on luonnoksen kansiossa. Sitä käytetään pelin äänien toistamiseen.
Vähän ajoituksesta
Koska delay () -komento keskeyttää luonnoksen suorittamisen kokonaan sen suorittamisen aikana, etsimme sen sijaan kuluneita ajanjaksoja, jotka tapahtuvat, kun haluamme suorittaa luonnoksen animaatioon liittyviä osia. Odotamme ennalta määrätyn ajan kuluvan ennen kuin suoritamme luonnoksen osia, kuten päivitämme pallon sijainnin näytöllä.
Vielä tärkeämpää on, että delay () -komento suoritetaan todella vain loop () -menetelmässä. Se ei yleensä toimi odotetusti muissa menetelmissä. Joten kaikki animaatioon liittyvät ajoitukset tehdään loop () -menetelmällä.
Esimerkki:
Määritämme joitain "pitkiä" tyyppisiä muuttujia ja pari booleania ja asetamme ne sitten asennuksen lopussa ().
bThresh = 80; // pallo päivitysten välinen aika millisekunteina
ballTime = millis (); // asetetaan järjestelmän nykyiseen aikaan
bon = epätosi; // on pallon merkkivalo päällä tai pois päältä
ballReturn = epätosi; // palautammeko pallon melon osuman jälkeen?
Silmukassa () pallon piirtämiseen meillä on:
if ((millis () - ballTime> bThresh) && bon == false) {// jos pallo on POIS PÄÄLTÄ ja tarpeeksi aikaa on kulunut ballOn (); // sytytä pallon merkkivalo
bon = totta; // pallo on nyt päällä
ballTime = millis (); // palauta ballTime nykyiseen aikaan
}
if ((millis () - ballTime> bThresh) && bon == true) {// jos pallo on päällä ja tarpeeksi aikaa on kulunut
ballOff (); // sammuta pallon LED
bon = epätosi; // pallo on nyt POIS PÄÄLTÄ
ballTime = millis (); palauta palloilmoitus nykyiseen aikaan
}
On monia tapoja tehdä tämä peli. Nämä ovat vain minun mieltymykseni.
Luonnos on täysin dokumentoitu, joten kehotan teitä lukemaan koodin nähdäksesi kuinka se toimii.
Tarkista, käännä ja lähetä koodisi.
Nauti pelaamisesta!
Vaihe 3: Johtopäätös
Kiitokset Elegoo Inc: lle tämän projektin aloituspakkauksen toimittamisesta. Se on sarja, jossa on laaja valikoima osia ja moduuleja, joiden avulla pääset hyvin Arduino Maker -maailmaan.
Suositeltava:
Bubble Bobble Arcade Cabinet (Bartop): 14 vaihetta (kuvilla)
Bubble Bobble Arcade Cabinet (Bartop): Vielä yksi kaapinrakennusopas? No, rakensin kaappini käyttämällä ensisijaisesti Galactic Starcadea mallina, mutta tein muutamia muutoksia mennessäni, että minusta tuntuu, että jälkikäteen parannan molempia joidenkin osien asentamisen helppous ja esteettisyyden parantaminen
Retro Arcade - (täysikokoinen Powered by Raspberry Pi): 8 vaihetta
Retro Arcade - (täysikokoinen Powered by Raspberry Pi): Halusin ensin kiittää sinua tämän Retro Arcade -järjestelmän rakennusoppaan katsomisesta. Otan vanhemman arcade-laatikon ja asetan sen erilliseen kaappiin, jossa on 24 tuuman laajakuvanäyttö. Tämän oppaan mittaukset ovat karkeita antaakseen sinulle
Arcade -kaiuttimien äänenvoimakkuuden sovitin: 3 vaihetta
Arcade -kaiuttimien äänenvoimakkuussovitin: Tämä on lyhyt ohje siitä, miten sovitetaan Arcade -painikkeen asennusreikä, jotta se mukauttaa Arcade -kaiuttimen äänenvoimakkuuden säädön. keino saada yksi näistä
Cyclone LED Arcade Game: 4 vaihetta
Cyclone LED Arcade Game: Tämän projektin tarkoituksena oli luoda yksinkertainen peli Arduinolla, joka olisi interaktiivinen ja viihdyttävä lapsille. Muistan, että Cyclone -arcade -peli oli yksi suosikki arcade -peleistäni nuorempana, joten päätin toistaa sen. T
Stackers Arcade Game: 6 vaihetta (kuvilla)
Stackers Arcade Game: Hei kaverit, tänään haluan jakaa kanssanne tämän hämmästyttävän arcade -pelin, jonka voit tehdä joukolla Ws2812b -LED -valoja ja mikro-/FPGA -ohjainta. Katso Stack Overflow - laitteistototeutuksemme klassisesta arcade -pelistä. Mikä alkoi kouluprojektina