Cuprins:

Consola de joc Arduino Pocket + A-Maze - Joc Maze: 6 pași (cu imagini)
Consola de joc Arduino Pocket + A-Maze - Joc Maze: 6 pași (cu imagini)

Video: Consola de joc Arduino Pocket + A-Maze - Joc Maze: 6 pași (cu imagini)

Video: Consola de joc Arduino Pocket + A-Maze - Joc Maze: 6 pași (cu imagini)
Video: Best Programming Languages #programming #coding #javascript 2024, Noiembrie
Anonim
Consola de joc Arduino Pocket + A-Maze - Maze Game
Consola de joc Arduino Pocket + A-Maze - Maze Game

Bine ați venit la primul meu instructable

Proiectul pe care vreau să-l împărtășesc astăzi este jocul labirint Arduino, care a devenit o consolă de buzunar la fel de capabilă ca Arduboy și consolele similare bazate pe Arduino. Poate fi intermitent cu jocurile mele (sau ale dvs.) viitoare datorită antetului ICSP expus.

Am avut o idee în urmă cu câteva luni să construiesc un joc de labirint pe Arduino, dar fără un set de labirinturi codificat. Ar trebui să poată genera un labirint nou pentru fiecare nivel pe care îl jucați, astfel încât să nu mai vedeți niciodată același labirint:)

Codificarea acestui lucru a fost un pic o provocare, deoarece Arduino este limitat în memoria RAM și apoi am găsit câteva exemple despre cum se poate face acest lucru cu algoritmul simplu Bo-Taoshi.

Codul pe care l-am folosit ca punct de plecare pe care l-am luat de SANUKI UDON și proiectul său CUM SE FACE UN GENERATOR DE MAZE UTILIZAND ATTINY13A

Pasul 1: Prototiparea plăcilor de pană

Prototiparea panourilor
Prototiparea panourilor
Prototiparea panourilor
Prototiparea panourilor

Punctul meu de plecare a fost cu o placă mică cu doar 4 butoane conectate pentru a trece prin labirint, dar mai târziu, când am decis că ar trebui să fie o consolă de jocuri, am adăugat câteva butoane. Pe un panou mai mare puteți vedea încă 2 butoane, iar ulterior am adăugat un al treilea pentru a fi folosit ca buton de pornire / pauză / meniu

Pasul 2: Piese necesare

  • Cip Arduino pro mini / Arduino Uno / Atmega328P
  • Priză DIP cu 28 de pini (opțional)
  • Afișaj OLED SSD1306
  • Difuzor piezo
  • Butoane - 7 bucăți
  • Suporturi pentru baterii cu monede
  • Comutator
  • Fire
  • Prototip PCB (60x40mm)

Pasul 3: Cablare / schemă a panoului de bord

Cablare / schemă a panoului de bord
Cablare / schemă a panoului de bord
Cablare / schemă a panoului de bord
Cablare / schemă a panoului de bord
Cablare / schemă a panoului de bord
Cablare / schemă a panoului de bord

Conectarea componentelor așa cum se arată în diagrama de mai sus.

Butoane:

  • Buton SUS: Arduino pin 7
  • Buton DOWN: pinul Arduino 6
  • Buton STÂNGA: pinul Arduino 9
  • Buton DREAPTA: pinul 8 Arduino
  • Un buton: pinul Arduino 5
  • Buton B: pinul Arduino 4
  • Buton START: pinul Arduino 2

Ecran OLED SSD1306:

  • SCL: pinul Arduino A5
  • SDA: pinul Arduino A4
  • VCC: Arduino VCC
  • GND: Arduino GND

Buzzer:

  • Buzzer pozitiv: pinul Arduino 3
  • Buzzer ground: Arduino GND

Pasul 4: Cod sursă

Codul sursă al jocului A-Maze poate fi găsit aici:

Deschideți în Arduino IDE și încărcați pe placa dvs. sau utilizați programatorul ISP pentru a vă programa cipul.

Vă recomand să utilizați USBTIny ISP, nu am avut niciodată probleme cu el:), dar puteți utiliza și Arduino obișnuit pentru a vă programa cipul.

În cazul meu nu am folosit cristal extern, așa că cipul meu Atmega328p funcționează pe oscilator intern care este de 8MhZ.

Pentru mai multe informații vizitați acest link:

Pasul 5: A se vedea în acțiune

Image
Image

Pasul 6: Caz și miniaturizare

Caz și miniaturizare
Caz și miniaturizare
Caz și miniaturizare
Caz și miniaturizare

Dacă doriți să faceți acest proiect permanent, cu o carcasă frumoasă, iată carcasa simplă imprimabilă 3D pe care am proiectat-o:

În imaginile de mai sus puteți vedea cum toate componentele sunt așezate pe PCB-ul prototip 4x6.

Cea mai mare parte a cablajului butonului se află sub suporturile bateriei, încercați să o faceți cât mai simplă posibil, astfel încât suporturile pentru baterii să poată fi potrivite relativ deasupra plăcii, cu fire între ele.

De asemenea, vă recomand să faceți alte cabluri sub ecran, deoarece picioarele cipului Atmega sunt lipite și expuse sub ecran. Când ați terminat lipirea, puneți o bandă izolatoare sub ecran pentru a preveni scurții etc.

Antetul ICSP este opțional și, dacă decideți să nu îl expuneți, vă va face asamblarea mult mai ușoară, cu 6 conexiuni mai puțin de îngrijit, dar programați mai întâi cipul înainte de a-l lipi sau utilizați o priză DIP cu 28 de pini, astfel încât să puteți ușor scoateți cipul pentru programare.

Concurs de buzunar
Concurs de buzunar
Concurs de buzunar
Concurs de buzunar

Locul doi în concursul de buzunar

Recomandat: