![Kädessä pidettävä Arduino Pong -konsoli: 6 vaihetta (kuvilla) Kädessä pidettävä Arduino Pong -konsoli: 6 vaihetta (kuvilla)](https://i.howwhatproduce.com/images/001/image-60-127-j.webp)
Sisällysluettelo:
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-23 14:44
![Kädessä pidettävä Arduino Pong -konsoli Kädessä pidettävä Arduino Pong -konsoli](https://i.howwhatproduce.com/images/001/image-60-128-j.webp)
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](https://i.howwhatproduce.com/images/001/image-60-130-j.webp)
![](https://i.ytimg.com/vi/vYFLpPl9b84/hqdefault.jpg)
Vaihe 2: Pelin suunnittelu
![Pelin suunnittelu Pelin suunnittelu](https://i.howwhatproduce.com/images/001/image-60-131-j.webp)
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](https://i.howwhatproduce.com/images/001/image-60-132-j.webp)
![Pelilaitteen suunnittelu Pelilaitteen suunnittelu](https://i.howwhatproduce.com/images/001/image-60-133-j.webp)
![Pelilaitteen suunnittelu Pelilaitteen suunnittelu](https://i.howwhatproduce.com/images/001/image-60-134-j.webp)
![Pelilaitteen suunnittelu Pelilaitteen suunnittelu](https://i.howwhatproduce.com/images/001/image-60-135-j.webp)
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](https://i.howwhatproduce.com/images/001/image-60-136-j.webp)
![Laitteen rakentaminen Laitteen rakentaminen](https://i.howwhatproduce.com/images/001/image-60-137-j.webp)
![Laitteen rakentaminen Laitteen rakentaminen](https://i.howwhatproduce.com/images/001/image-60-138-j.webp)
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!](https://i.howwhatproduce.com/images/001/image-60-139-j.webp)
![Pongin pelaaminen! Pongin pelaaminen!](https://i.howwhatproduce.com/images/001/image-60-140-j.webp)
![Pongin pelaaminen! Pongin pelaaminen!](https://i.howwhatproduce.com/images/001/image-60-141-j.webp)
![Pongin pelaaminen! Pongin pelaaminen!](https://i.howwhatproduce.com/images/001/image-60-142-j.webp)
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:
MutantC V3 - Modulaarinen ja tehokas kädessä pidettävä PC: 9 vaihetta (kuvilla)
![MutantC V3 - Modulaarinen ja tehokas kädessä pidettävä PC: 9 vaihetta (kuvilla) MutantC V3 - Modulaarinen ja tehokas kädessä pidettävä PC: 9 vaihetta (kuvilla)](https://i.howwhatproduce.com/images/001/image-1977-j.webp)
MutantC V3 - Modulaarinen ja tehokas kädessä pidettävä PC: Raspberry -pi -kämmenlaite, jossa on fyysinen näppäimistö, näyttö- ja laajennusotsikko mukautetuille levyille (kuten Arduino Shield). MutantC_V3 on mutantC_V1- ja V2 -seuraaja. Katso mutantC_V1 ja mutantC_V2.https: //mutantc.gitlab.io/https: // gitla
Kädessä pidettävä yövalo: 7 vaihetta (kuvilla)
![Kädessä pidettävä yövalo: 7 vaihetta (kuvilla) Kädessä pidettävä yövalo: 7 vaihetta (kuvilla)](https://i.howwhatproduce.com/images/001/image-491-48-j.webp)
Kädessä pidettävä yövalo: 5-vuotias poikani herätti meidät yöllä, ja luennoimme häntä jatkuvasti antamalla äidin ja isän nukkua, kunnes tajusin, että hän ei itse pystynyt määrittämään, oliko se nukkumisaika vai leikki Lisäksi hän pyysi meitä sytyttämään valon
ESP32 -kädessä pidettävä pelikonsoli: 21 vaihetta (kuvilla)
![ESP32 -kädessä pidettävä pelikonsoli: 21 vaihetta (kuvilla) ESP32 -kädessä pidettävä pelikonsoli: 21 vaihetta (kuvilla)](https://i.howwhatproduce.com/images/002/image-5588-j.webp)
ESP32 -kädessä pidettävä pelikonsoli: Tässä ohjeessa näytetään, kuinka ESP32: n ja ATtiny861: n avulla rakennetaan NES -emulaattoripelikonsoli
GamePi - kädessä pidettävä emulaattorikonsoli: 17 vaihetta (kuvilla)
![GamePi - kädessä pidettävä emulaattorikonsoli: 17 vaihetta (kuvilla) GamePi - kädessä pidettävä emulaattorikonsoli: 17 vaihetta (kuvilla)](https://i.howwhatproduce.com/images/001/image-182-61-j.webp)
GamePi - kädessä pidettävä emulaattorikonsoli: Johdanto: Tämä ohje kuvaa Raspberry Pi 3 -käyttöisen kädessä pidettävän emulointikonsolin rakentamista - olen kastanut sen GamePiksi. Tällaisille laitteille on paljon vastaavia ohjeita, mutta minun makuuni suurin osa niistä on joko liian suuria, liian pieniä
Kädessä pidettävä Zoetrope-veistos: 12 vaihetta (kuvilla)
![Kädessä pidettävä Zoetrope-veistos: 12 vaihetta (kuvilla) Kädessä pidettävä Zoetrope-veistos: 12 vaihetta (kuvilla)](https://i.howwhatproduce.com/images/001/image-1984-137-j.webp)
Kädessä pidettävä Zoetrope-veistos: Tämä ohje on miniatyyrinen, kämmenen kokoinen versio John Edmarkin kauniista morfisoivista kukkiveistoksista. Veistos on sisäisesti valaistu kirkkaalla strobolla animaation aikaansaamiseksi. Pyörivä osa painettiin Embelle