Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
Zainspirowało mnie wiele odmian klasycznej gry Pong zaimplementowanej na Arduino z wykorzystaniem matrycy LED 8x8. W tej instrukcji pokażę, jak zbudować moją ulubioną wersję Ponga, która ma dwa wiosła - napastnika i bramkarza - na gracza. Ponieważ matryca LED 8x8 ma bardzo ograniczone przestrzenie (lub kropki), zamiast tego użyję matrycy LED 8x16 w tym projekcie. Aby uprościć okablowanie, użyję dwóch matryc LED 8x8 z wbudowanym MAX7219 i jednego potencjometru na gracza do sterowania wiosłami.
Krok 1: Materiały
- Arduino Uno lub odpowiednik
- (2) matryca LED 8x8 z MAX7219
- (2) potencjometr 10 K
- przewody połączeniowe
- Uchwyt baterii 9v i bateria 9v
- obudowa (moje domyślne rozwiązanie to zawsze kartonik)
Narzędzia: pistolet do klejenia, nóż
Krok 2: Montaż sprzętu
Zapoznaj się z moim schematem wideo i okablowania, aby uzyskać informacje na temat montażu sprzętu.
Krok 3: Kod
W załączniku znajduje się kod Arduino, którego użyłem do gry pokazanej na filmie.
Do tego projektu używam prostej biblioteki max7219 o nazwie LedControl. Jeśli nie masz zainstalowanej tej biblioteki na swoim Arduino IDE, postępuj zgodnie z instrukcjami na ich stronie internetowej, aby pobrać i zainstalować.
Do śledzenia ruchu piłki używam 5 zmiennych. Chociaż lepiej jest przechowywać to wszystko w tablicy na wypadek, gdybym potrzebował wielu piłek do grania w breakout, ten projekt jest przeznaczony dla uczniów gimnazjów, więc staram się to uprościć.
W przypadku pozycjonowania graczy czytam odpowiednie potencjometry, które zwracają wartości od 0 do 1023 i mapują je na wartości od 0 do 7 dla współrzędnej Y.
Korzystając z tej platformy, możesz także kodować inne gry, takie jak wąż, jazda, strzelanie i ucieczka. Napisałem grę dla dwóch graczy, w której dwie kulki poruszają się jednocześnie, ale ze względu na niską rozdzielczość i kulki zawsze poruszają się pod kątem 45 stopni, nie działało to tak dobrze, jak sobie wyobrażam. (Jeśli wygooglujesz, możesz znaleźć grę typu breakout dla jednego gracza).