Sisällysluettelo:

Kädessä pidettävä Arduino Pong -konsoli: 6 vaihetta (kuvilla)
Kädessä pidettävä Arduino Pong -konsoli: 6 vaihetta (kuvilla)

Video: Kädessä pidettävä Arduino Pong -konsoli: 6 vaihetta (kuvilla)

Video: Kädessä pidettävä Arduino Pong -konsoli: 6 vaihetta (kuvilla)
Video: X-Y display prototype with Arduino and an old VGA 2024, Kesäkuu
Anonim
Kädessä pidettävä Arduino Pong -konsoli
Kädessä pidettävä Arduino Pong -konsoli

DFRobot otti yhteyttä minuun äskettäin ja halusi minun käyttävän heidän erityistä Arduino Nano -levyään ja OLEDia. Aluksi halusin luoda älykkään pyörän ja rakensin sen kokonaisuudessaan. Mutta valitettavasti Nano oli liian heikko ajamaan ja tallentamaan tarvittavaa massiivista luonnosta. Joten päätin palata yhteen aiemmista projekteistani, Neopixel -matriisista, joka suoritti Pong -pelin. Halusin tehdä sen sen sijaan kannettavaksi, ja 1,7 tuuman OLED tekisi täydellisen näytön.

Osaluettelo:

  • Arduino nano
  • OLED
  • Kaiutin

Vaihe 1: Video

Image
Image

Vaihe 2: Pelin suunnittelu

Pelin suunnittelu
Pelin suunnittelu

Tässä Pong -pelissä halusin pitää sen suhteellisen yksinkertaisena, mikä tarkoitti tietokoneen ohjaamatonta meloa tai hienoja pallon heijastusalgoritmeja. Pohjimmiltaan on olemassa yksi mela, jota käyttäjä voi siirtää ylös tai alas, ja pallon törmääminen melaan aiheuttaisi sen x -akselin vektorin kääntymisen. Aina kun pallo osuu, kuuluu ääni. Kun pelilaite käynnistetään, näyttöön tulee pelin nimi ja ohjeet. Lisäksi äitini loi pienen tunnuslaulun, joka kiertää taustalla, kunnes yläpainiketta painetaan.

Vaihe 3: Pelilaitteen suunnittelu

Pelilaitteen suunnittelu
Pelilaitteen suunnittelu
Pelilaitteen suunnittelu
Pelilaitteen suunnittelu
Pelilaitteen suunnittelu
Pelilaitteen suunnittelu
Pelilaitteen suunnittelu
Pelilaitteen suunnittelu

Minun CAD-ohjelmani on Fusion 360, joten päätin käyttää sitä pong-pelilaitteeni suunnitteluun. Aloitin suunnittelemalla jokaisen käytetyn komponentin: OLEDin, Arduino Nanon ja kaiuttimen. Laitoin sitten nanon ja piirilevyn kotelon takaosaan ja OLEDin sen päälle. Seuraavaksi oli kysymys siitä, mihin kaiutin ja painikkeet sijoitetaan. Päätin, että 3 W: n kaiutin voisi mennä juuri näytön alapuolelle (katsottaessa sitä ylhäältä), ja se vaati myös "grillin" asettamisen kaiuttimen päälle, jotta ääni ei vaimenisi. Lopuksi lisäsin kaksi painiketta vasemmalle puolelle säätimien lisäämiseksi.

Vaihe 4: Laitteen rakentaminen

Laitteen rakentaminen
Laitteen rakentaminen
Laitteen rakentaminen
Laitteen rakentaminen
Laitteen rakentaminen
Laitteen rakentaminen

Aloitin 3D -tulostuksella jokaisen osan, joka koostui alaosasta, yläosasta ja 2 painikkeesta. Seuraavaksi juotin naaraspuolisen otsikon 4x6 cm: iin ja johdotin sen nanoon. Tämä ei ainoastaan salli OLEDin irrottamista helposti, vaan myös nostaa sen Arduino Nanon yläpuolelle. Tarkista kytkentäohjeet kaaviosta. Sitten kytkin kaksi painiketta ja yksinkertaisen mikro -USB -katkaisukortin virran saamiseksi. Kaiutin kiinnitettiin ja asetettiin oikeaan paikkaan. Fusion 360 -mallini mahdollistaa 3 mm: n koneruuvien pitämisen OLED -kaiuttimessa ja laitteen kahden puoliskon yhdistämisessä. Mutta minun piti tehdä ne täsmällisiksi, joten porasin puristimella 8 reikää: 2 kaiuttimelle, 2 kuvaruudulle ja 4 alla. Voit vierailla tiedostojen Thingiverse -linkissä.

Vaihe 5: Pelin ohjelmointi

Yksinkertaisen käyttöliittymän käyttö oli elintärkeää ohjelman pitämiseksi pienenä. Aloitin lisäämällä useita kirjastoja: Adafruit_GFX, Adafruit_SSD1351 ja Arduino Timer -kirjasto. Seuraavaksi määritin nastani ja värit, kuten OLEDin nastat ja 16 -bittiset värimääritykset. Koodissani on myös 4 tapaa muuttaa pelin tapaa, kuten melon mittojen muuttaminen ja kuinka nopeasti pallo liikkuu. Sitten on olemassa osio, jossa jokainen muuttuja on määritelty, mukaan lukien pisteet ja eri koordinaatit. Aina kun laitteeseen kytketään virta pallosta ja näyttöön tulee tekstiä, sekä pieni tunnuslaulu, joka on määritelty koodissa aiemmin. Pelin alkaessa luodaan kaksi ajastinta, joista toinen päivittää meloa ja toinen palloa. Aina kun pallon sijainti päivittyy, sen koordinaatit tarkistetaan sen varmistamiseksi, ettei pallo mene näytön reunan ohi tai kosketako melaa. Joka kerta kun se pomppii joko sen x- tai y -akseli käännetään ja pieni ääni kuuluu. Katso videolta tämän kirjoituksen alussa, miten peli toimii.

Vaihe 6: Pongin pelaaminen

Pongin pelaaminen!
Pongin pelaaminen!
Pongin pelaaminen!
Pongin pelaaminen!
Pongin pelaaminen!
Pongin pelaaminen!
Pongin pelaaminen!
Pongin pelaaminen!

Pelin nimi on saada mahdollisimman pienet pisteet. Aikarajaa ei ole, joten se on erittäin nautinnollista ja jopa transsia aiheuttavaa. Tarvitset vain painaa yhtä kahdesta painikkeesta liikuttaaksesi melaa ylös tai alas. On myös mahdollista lisätä tapa tallentaa korkeimmat pisteet Arduinon EEPROM -järjestelmällä.

Suositeltava: