Spisu treści:

Przenośna konsola Arduino Pong: 6 kroków (ze zdjęciami)
Przenośna konsola Arduino Pong: 6 kroków (ze zdjęciami)

Wideo: Przenośna konsola Arduino Pong: 6 kroków (ze zdjęciami)

Wideo: Przenośna konsola Arduino Pong: 6 kroków (ze zdjęciami)
Wideo: Ретро консоль на 500 игр почти задаром!🤷‍♂️ 2024, Czerwiec
Anonim
Przenośna konsola Arduino Pong
Przenośna konsola Arduino Pong

Niedawno skontaktował się ze mną DFRobot, prosząc, abym użył ich specjalnej płytki Arduino Nano i OLED. Na początku chciałem stworzyć inteligentny rower i zbudowałem go do końca. Ale niestety Nano był zbyt słaby, aby uruchomić i przechowywać ogromny szkic, który był potrzebny. Postanowiłem więc wrócić do jednego z moich poprzednich projektów, matrycy Neopixel, która uruchamiała grę Pong. Zamiast tego chciałem, aby był przenośny, a 1,7-calowy OLED byłby idealnym wyświetlaczem.

Lista części:

  • Arduino nano
  • OLED
  • Głośnik

Krok 1: Wideo

Image
Image

Krok 2: Projektowanie gry

Projektowanie gry
Projektowanie gry

W tej grze Pong chciałem, aby była stosunkowo prosta, co oznaczało brak wiosłowania sterowanego komputerowo lub algorytmów odbicia piłki. Zasadniczo istnieje pojedyncza paletka, którą użytkownik może poruszać w górę lub w dół, a zderzenie piłki z paletką spowoduje odwrócenie wektora osi x. Za każdym razem, gdy piłka zostaje uderzona, rozlega się dźwięk. Po włączeniu urządzenia do gier pojawia się ekran z tytułem gry i instrukcjami. Dodatkowo moja mama stworzyła małą piosenkę tematyczną, która zapętla się w tle, dopóki nie zostanie naciśnięty górny przycisk.

Krok 3: Projektowanie urządzenia do gier

Projektowanie urządzenia do gier
Projektowanie urządzenia do gier
Projektowanie urządzenia do gier
Projektowanie urządzenia do gier
Projektowanie urządzenia do gier
Projektowanie urządzenia do gier
Projektowanie urządzenia do gier
Projektowanie urządzenia do gier

Moim ulubionym programem CAD jest Fusion 360, więc zdecydowałem się użyć go do zaprojektowania mojego urządzenia do grania w ponga. Zacząłem od zaprojektowania każdego użytego komponentu: OLED, Arduino Nano i głośnika. W ten sposób mogę dokładnie zobaczyć, gdzie i jak każdy komponent powinien zmieścić się w obudowie. Następnie umieściłem Nano i PCB w tylnej części obudowy, a na górze OLED. Następnie pojawiło się pytanie, gdzie umieścić głośnik i przyciski. Zdecydowałem, że głośnik 3W może zejść tuż pod ekranem (patrząc na niego od góry), a to wymagało również założenia „grillu” nad głośnikiem, aby dźwięk nie był przytłumiony. Na koniec dodałem dwa przyciski po lewej stronie, aby dodać kontrolki.

Krok 4: Konstruowanie urządzenia

Konstruowanie urządzenia
Konstruowanie urządzenia
Konstruowanie urządzenia
Konstruowanie urządzenia
Konstruowanie urządzenia
Konstruowanie urządzenia

Zacząłem od wydrukowania 3D każdej części, składającej się z dolnej połowy, górnej połowy i 2 przycisków. Następnie przylutowałem żeńską główkę do 4x6cm i podłączyłem ją do Nano. Pozwala to nie tylko na łatwe usunięcie OLED, ale także podnosi go ponad Arduino Nano. Sprawdź schemat pod kątem informacji o okablowaniu. Następnie podłączyłem dwa przyciski wraz z prostą płytką zaciskową micro USB do zasilania. Głośnik również został przymocowany i ustawił go we właściwej pozycji. Konstrukcja My Fusion 360 pozwala na 3 mm wkręty maszynowe do przytrzymywania OLED, głośnika i łączenia dwóch połówek urządzenia. Ale musiałem je doprecyzować, więc użyłem wiertarki, aby wywiercić 8 otworów: 2 na głośnik, 2 na ekran i 4 pod spodem. Możesz odwiedzić link Thingiverse do plików.

Krok 5: Programowanie gry

Użycie prostego interfejsu było niezbędne, aby program był niewielki. Zacząłem od dodania kilku bibliotek: Adafruit_GFX, Adafruit_SSD1351 oraz biblioteki Arduino Timer. Następnie zdefiniowałem swoje piny i kolory, takie jak piny OLED i 16-bitowe definicje kolorów. W moim kodzie są również 4 sposoby na zmianę sposobu gry, takie jak zmiana wymiarów paletki i szybkości poruszania się piłki. Następnie istnieje sekcja, w której zdefiniowana jest każda zmienna, w tym wynik i różne współrzędne. Za każdym razem, gdy urządzenie jest zasilane na obrazie kuli, a na ekranie pojawia się jakiś tekst, wraz z małą piosenką tematyczną, która jest zdefiniowana wcześniej w kodzie. Po rozpoczęciu gry tworzone są dwa stopery, jeden aktualizujący wiosło, a drugi aktualizujący piłkę. Za każdym razem, gdy pozycja piłki aktualizuje się, jej współrzędne są sprawdzane, aby upewnić się, że nie przekracza granicy ekranu lub czy dotyka paletki. Za każdym razem, gdy odbija, jego oś x lub y jest odwrócona i odtwarzany jest mały dźwięk. Obejrzyj wideo na początku tego zapisu, aby zobaczyć, jak gra się w grę.

Krok 6: Gra w ponga

Gra w ponga!
Gra w ponga!
Gra w ponga!
Gra w ponga!
Gra w ponga!
Gra w ponga!
Gra w ponga!
Gra w ponga!

Nazwa gry to uzyskanie jak najniższego wyniku. Nie ma limitu czasowego, więc jest to bardzo przyjemne, a nawet wprawiające w trans. Wystarczy nacisnąć jeden z dwóch przycisków, aby przesunąć wiosło w górę lub w dół. Możliwe jest również dodanie sposobu przechowywania najwyższego wyniku za pomocą pamięci EEPROM Arduino.

Zalecana: