Kazalo:
2025 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2025-01-13 06:58
Dobrodošli v mojem prvem navodilu
Projekt, ki ga želim danes deliti z vami, je igra Arduino labirint, ki je postala žepna konzola, ki je sposobna tako kot Arduboy in podobne konzole na osnovi Arduina. Zahvaljujoč izpostavljenemu naslovu ICSP ga je mogoče prikazati v mojih (ali vaših) prihodnjih igrah.
Pred nekaj meseci sem imel idejo, da bi na Arduinu zgradil igro labirinta, vendar brez trdo kodiranega niza labirintov. Moral bi ustvariti nov labirint za vsako stopnjo, na kateri igrate, tako da nikoli več ne vidite istega labirinta:)
To kodiranje je bilo malo izziv, saj je Arduino omejen v pomnilniku RAM, nato pa sem našel nekaj primerov, kako je to mogoče storiti s preprostim algoritmom Bo-Taoshi.
Koda, ki sem jo uporabil kot izhodišče, ki sem ga vzel SANUKI UDON in njegov projekt KAKO NAČINITI GENERATOR MAZE Z UPORABO ATTINY13A
Korak: Prototipiranje ploščic
Moje izhodišče je bilo z majhno ploščo s samo 4 gumbi, povezanimi za premikanje po labirintu, a sem kasneje, ko sem se odločil, da bi morala biti igralna konzola, dodal še nekaj gumbov. Na večji plošči lahko vidite še 2 gumba, kasneje pa sem dodal še tretjega, ki se bo uporabljal kot gumb za zagon/premor/meni
Korak: Potrebni deli
- Arduino pro mini / Arduino Uno / Atmega328P čip
- 28 -polna DIP vtičnica (neobvezno)
- SSD1306 OLED zaslon
- Piezo zvočnik
- Potisni gumbi - 7 kosov
- Držala za gumbaste baterije
- Preklopite stikalo
- Žice
- Prototip tiskanega vezja (60x40 mm)
3. korak: Ožičenje / shema tiskalne plošče
Priključitev komponent, kot je prikazano na zgornjem diagramu.
Gumbi:
- Gumb GOR: Arduino pin 7
- Gumb DOL: Arduino pin 6
- LEVI gumb: Arduino pin 9
- DESNI gumb: Arduino pin 8
- Gumb: Arduino pin 5
- Gumb B: Arduino pin 4
- Gumb START: Arduino pin 2
Zaslon OLED SSD1306:
- SCL: Arduino pin A5
- SDA: Arduino pin A4
- VCC: Arduino VCC
- GND: Arduino GND
Zvočni signal:
- Zvočni signal pozitiven: Arduino pin 3
- Zvočni signal: Arduino GND
4. korak: izvorna koda
Izvorno kodo igre A-Maze najdete tukaj:
Odprite v Arduino IDE in naložite na svojo ploščo ali uporabite programer ISP za programiranje čipa.
Priporočam uporabo internetnega ponudnika USBTIny, s tem nikoli ni bilo težav:) lahko pa za programiranje čipa uporabite tudi navaden Arduino.
V mojem primeru nisem uporabil zunanjega kristala, zato moj čip Atmega328p deluje na notranjem oscilatorju, ki je 8 MHz.
Za več informacij obiščite to povezavo:
5. korak: Oglejte si to v akciji
6. korak: Primer in miniaturizacija
Če želite, da bo ta projekt trajen, z lepim ohišjem, je tukaj enostavna torbica za 3D tiskanje, ki sem jo oblikoval:
Na zgornjih slikah si lahko ogledate, kako so vse komponente razporejene na prototipnem tiskanem vezju 4x6.
Večina ožičenja gumbov poteka pod držali za baterije, poskušajte biti čim bolj navadni, tako da imajo lahko držala za baterije razmeroma poravnana nad ploščo z žicami vmes.
Priporočam tudi drugo ožičenje pod zaslonom, saj so noge čipa Atmega spajkane in izpostavljene pod zaslonom. Ko končate spajkanje, pod zaslon položite izolacijski trak, da preprečite kratke hlače itd.
Glava ICSP je neobvezna in če se odločite, da je ne razkrijete, vam bo olajšala montažo, skrbelo za 6 povezav manj, vendar najprej programirajte čip, preden ga spajkate, ali uporabite 28 -polno DIP vtičnico, da boste lahko preprosto odstranite čip za programiranje.
Drugouvrščeni na žepnem tekmovanju