Spisu treści:

Kieszonkowa konsola do gier Arduino + A-Maze - Gra Maze: 6 kroków (ze zdjęciami)
Kieszonkowa konsola do gier Arduino + A-Maze - Gra Maze: 6 kroków (ze zdjęciami)

Wideo: Kieszonkowa konsola do gier Arduino + A-Maze - Gra Maze: 6 kroków (ze zdjęciami)

Wideo: Kieszonkowa konsola do gier Arduino + A-Maze - Gra Maze: 6 kroków (ze zdjęciami)
Wideo: 🟡 Mnogość Pac-Manów w wydaniach dziwnych - Gierki Mobilne (RG#415) 2024, Listopad
Anonim
Kieszonkowa konsola do gier Arduino + A-Maze - Maze Game
Kieszonkowa konsola do gier Arduino + A-Maze - Maze Game

Witam na mojej pierwszej instrukcji

Projekt, którym chcę się dzisiaj z Wami podzielić, to gra w labirynt Arduino, która stała się konsolą kieszonkową równie wydajną jak Arduboy i podobne konsole oparte na Arduino. Może być flashowany z moimi (lub twoimi) przyszłymi grami dzięki odsłonięciu nagłówka ICSP.

Kilka miesięcy temu wpadłem na pomysł, aby zbudować grę w labirynty na Arduino, ale bez zakodowanego zestawu labiryntów. Powinien być w stanie wygenerować nowy labirynt dla każdego poziomu, na którym grasz, więc nigdy więcej nie zobaczysz tego samego labiryntu:)

Zakodowanie tego było pewnym wyzwaniem, ponieważ Arduino jest ograniczone w pamięci RAM, a potem znalazłem kilka przykładów, jak można to zrobić za pomocą prostego algorytmu Bo-Taoshi.

Kod, którego użyłem jako punkt wyjścia, wziąłem od SANUKI UDONA i jego projektu JAK ZROBIĆ GENERATOR LABIRYNTU ZA POMOCĄ ATTINY13A

Krok 1: Prototypowanie płyt chlebowych

Prototypowanie płyt chlebowych
Prototypowanie płyt chlebowych
Prototypowanie płyt chlebowych
Prototypowanie płyt chlebowych

Moim punktem wyjścia była mała płytka stykowa z tylko 4 przyciskami podłączonymi do poruszania się po labiryncie, ale później, kiedy zdecydowałem, że powinna to być konsola do gier, dodałem kilka dodatkowych przycisków. Na większej płytce prototypowej widać jeszcze 2 przyciski, a później dodałem trzeci, który będzie używany jako przycisk start/pauza/menu

Krok 2: Potrzebne części

  • Układ Arduino pro mini / Arduino Uno / Atmega328P
  • 28-pinowe gniazdo DIP (opcjonalnie)
  • Wyświetlacz OLED SSD1306
  • Głośnik piezoelektryczny
  • Przyciski - 7 sztuk
  • Uchwyty na baterie pastylkowe
  • Przełącznik
  • Przewody
  • Płytka prototypowa (60x40mm)

Krok 3: Okablowanie/schemat płytki do krojenia chleba

Okablowanie/schemat płytki do krojenia chleba
Okablowanie/schemat płytki do krojenia chleba
Okablowanie/schemat płytki do krojenia chleba
Okablowanie/schemat płytki do krojenia chleba
Okablowanie/schemat płytki do krojenia chleba
Okablowanie/schemat płytki do krojenia chleba

Podłączanie komponentów jak pokazano na powyższym schemacie.

Guziki:

  • Przycisk GÓRA: pin Arduino 7
  • Przycisk DÓŁ: pin Arduino 6
  • LEWY przycisk: pin Arduino 9
  • PRAWY przycisk: pin Arduino 8
  • Przycisk: pin Arduino 5
  • Przycisk B: pin Arduino 4
  • Przycisk START: pin Arduino 2

Ekran OLED SSD1306:

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

Brzęczyk:

  • Sygnał brzęczyka: pin Arduino 3
  • Masa brzęczyka: Arduino GND

Krok 4: Kod źródłowy

Kod źródłowy gry A-Maze można znaleźć tutaj:

Otwórz w Arduino IDE i wgraj na swoją płytkę lub użyj programatora ISP, aby zaprogramować swój układ.

Polecam używać USBTIny ISP, nigdy nie miałem z tym problemów:) ale możesz też użyć zwykłego Arduino do zaprogramowania swojego układu.

W moim przypadku nie użyłem zewnętrznego kryształu, więc mój układ Atmega328p działa na wewnętrznym oscylatorze, który jest 8MhZ.

Aby uzyskać więcej informacji, odwiedź ten link:

Krok 5: Zobacz to w akcji

Image
Image

Krok 6: Przypadek i miniaturyzacja

Obudowa i miniaturyzacja
Obudowa i miniaturyzacja
Obudowa i miniaturyzacja
Obudowa i miniaturyzacja

Jeśli chcesz, aby ten projekt był trwały, z ładnie wyglądającym etui, oto proste etui do druku 3D, które zaprojektowałem:

Na powyższych zdjęciach widać, jak wszystkie komponenty są rozłożone na prototypowej płytce drukowanej 4x6.

Większość okablowania przycisków przechodzi pod uchwytami baterii, postaraj się, aby było tak proste, jak to możliwe, aby uchwyty baterii mogły być stosunkowo wyrównane nad płytą z przewodami pomiędzy nimi.

Polecam też wykonać inne okablowanie pod ekranem, gdyż nóżki chipa Atmegi są przylutowane i wyeksponowane pod ekranem. Po zakończeniu lutowania umieść pod ekranem taśmę izolacyjną, aby zapobiec zwarciom itp.

Nagłówek ICSP jest opcjonalny, a jeśli zdecydujesz się go nie eksponować, znacznie ułatwi to montaż, 6 połączeń mniej do zrobienia, ale najpierw zaprogramuj układ przed wlutowaniem lub użyj 28-pinowego gniazda DIP, aby móc łatwo wyjmij chip do programowania.

Konkurs kieszonkowy
Konkurs kieszonkowy
Konkurs kieszonkowy
Konkurs kieszonkowy

Drugie miejsce w konkursie kieszonkowym

Zalecana: