Sisällysluettelo:

POING! - Arduino Arcade Game!: 3 vaihetta
POING! - Arduino Arcade Game!: 3 vaihetta

Video: POING! - Arduino Arcade Game!: 3 vaihetta

Video: POING! - Arduino Arcade Game!: 3 vaihetta
Video: Build a Desktop Arcade Machine with Raspberry Pi 3 and Retropie: Super Turbo Pro Edition 2024, Marraskuu
Anonim
Image
Image
POING! - Arduino Arcade -peli!
POING! - Arduino Arcade -peli!

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ä

Piirin kytkentä
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

Johtopäätös
Johtopäätös
Johtopäätös
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: