Sisällysluettelo:
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-13 06:57
Tervetuloa ensimmäiseen ohjeeseeni
Projekti, jonka haluan jakaa kanssanne tänään, on Arduino -sokkelopeli, josta tuli taskukonsoli, joka on yhtä kykenevä kuin Arduboy ja vastaavat Arduino -pohjaiset konsolit. Se voidaan väläyttää minun (tai sinun) tulevien pelieni kanssa paljastetun ICSP -otsikon ansiosta.
Minulla oli muutama kuukausi sitten idea rakentaa sokkelopeli Arduinolle, mutta ilman kovakoodattuja sokkeloita. Sen pitäisi pystyä luomaan uusi sokkelo jokaiselle pelaamallesi tasolle, joten et koskaan näe samaa sokkeloa uudelleen:)
Tämän koodaaminen oli hieman haasteellista, koska Arduinolla on rajallinen RAM-muisti, ja sitten löysin muutamia esimerkkejä siitä, miten tämä voidaan tehdä yksinkertaisella Bo-Taoshi-algoritmilla.
Koodi, jota käytin lähtökohtana SANUKI UDON ja hänen projektinsa MITEN TEHDÄ MAZE GENERATOR ATTINY13A
Vaihe 1: Leipälevyn prototyyppien luominen
Lähtökohtani oli pieni leipälauta, johon oli liitetty vain 4 painiketta siirtyäkseen sokkelon läpi, mutta myöhemmin kun päätin, että sen pitäisi olla pelikonsoli, lisäsin vielä muutamia painikkeita. Suuremmalla leipäpöydällä näet kaksi muuta painiketta, ja myöhemmin lisäsin kolmannen painikkeen käytettäväksi käynnistys/tauko/valikkopainikkeena
Vaihe 2: Tarvittavat osat
- Arduino pro mini / Arduino Uno / Atmega328P -siru
- 28 -nastainen DIP -liitäntä (valinnainen)
- SSD1306 OLED -näyttö
- Pietsokaiutin
- Painikkeet - 7 kpl
- Nappiparistojen pidikkeet
- Vaihtokytkin
- Johdot
- Piirilevyn prototyyppi (60x40mm)
Vaihe 3: Breadboard -johdotus / kaavio
Osien liittäminen yllä olevan kaavion mukaisesti.
Painikkeet:
- YLÖS -painike: Arduino -nasta 7
- ALAS -painike: Arduino -nasta 6
- VASEN -painike: Arduino -nasta 9
- OIKEA -painike: Arduino -nasta 8
- A -painike: Arduino -nasta 5
- B -painike: Arduino -nasta 4
- KÄYNNISTYS -painike: Arduino -nasta 2
SSD1306 OLED -näyttö:
- SCL: Arduino -nasta A5
- SDA: Arduino -nastainen A4
- VCC: Arduino VCC
- GND: Arduino GND
Summeri:
- Summeri positiivinen: Arduino -nasta 3
- Summeri: Arduino GND
Vaihe 4: Lähdekoodi
A-Maze-pelin lähdekoodi löytyy täältä:
Avaa Arduino IDE: ssä ja lataa taulullesi tai ohjelmoi siru ISP -ohjelmoijalla.
Suosittelen käyttämään USBTIny ISP: tä, ei ole koskaan ollut ongelmia sen kanssa:) mutta voit myös käyttää tavallista Arduinoa ohjelmoimaan sirusi.
Minun tapauksessani en käyttänyt ulkoista kristallia, joten Atmega328p -siruni toimii sisäisellä oskillaattorilla, joka on 8 MHz.
Lisätietoja tästä linkistä:
Vaihe 5: Katso se toiminnassa
Vaihe 6: Kotelo ja pienentäminen
Jos haluat tehdä tästä projektista pysyvän ja mukavan näköisen kotelon, tässä on yksinkertainen 3D -tulostettava kotelo, jonka suunnittelin:
Yllä olevista kuvista näet, kuinka kaikki komponentit on asetettu 4x6 -piirilevyn prototyypille.
Useimmat painikkeiden kytkennät menevät paristopidikkeiden alle, yritä tehdä se mahdollisimman selkeäksi, jotta paristopidikkeet voivat olla suhteellisen tasaisesti levyn yläpuolella johtojen välissä.
Suosittelen myös muita johdotuksia näytön alle, koska Atmega -sirujalat on juotettu ja paljastettu näytön alle. Kun olet lopettanut juottamisen, aseta eristysnauha näytön alle oikosulkujen estämiseksi.
ICSP -otsikko on valinnainen, ja jos päätät olla paljastamatta sitä, se helpottaa kokoonpanoa, 6 liitäntää vähemmän huolehdittavaa, mutta ohjelmoi siru ensin ennen juottamista tai käytä 28 -nastaista DIP -liitäntää, jotta voit helposti poista siru ohjelmointia varten.
Toinen sija taskukokoisessa kilpailussa