Wideo: PUNIĘCIE! - Arduino Arcade Game!: 3 kroki
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
Będziemy budować grę zręcznościową w stylu PONG, która wykorzystuje części z zestawu „Najbardziej kompletny zestaw startowy UNO R3 Project” firmy Elegoo Inc.
Pełne ujawnienie - większość części dostarczonych do tej instrukcji została dostarczona autorowi przez Elegoo Inc.
Chciałem zbudować projekt z wykorzystaniem modułu LED Matrix. Podstawowy wyświetlacz LED 8x8 wymaga zastosowania dodatkowych rejestrów przesuwnych, aby móc adresować poszczególne diody w matrycy. Zamiast tego w tym projekcie zastosowano moduł LED MAX7219 8x8. To bardzo łatwy w użyciu moduł.
Sugerowałbym, że ze względu na dużą liczbę połączeń okablowania w tym projekcie, byłoby to uważane za poziom średniozaawansowany.
Zacznijmy!
Kieszonkowe dzieci
Używane części zestawu startowego Elegoo (https://rebrand.ly/dvjb3w8)
- Mikrokontroler UNO R3
- Moduł LED MAX7219 8x8
- Moduł wyświetlacza LCD 16x2
- Potencjometr przycinania 10K i pokrętło
- Druty Dupontowe
- Rezystor 220R
- Pasywny brzęczyk piezoelektryczny
- Moduł zasilania
- Adapter 9V 1A - potrzebny, ponieważ UNO nie może dostarczyć wystarczającego prądu dla modułu LED 8x8
- Deska do krojenia chleba
Potrzebne dodatkowe części
Potencjometr liniowy 2 x 10K - niedrogi i szeroko dostępny w serwisach eBay, AliExpress, Banggood itp.
Krok 1: Okablowanie obwodu
Podłącz obwód zgodnie ze schematem elektrycznym. Nie spiesz się. Oba wyświetlacze wymagają DUŻO połączeń.
Zauważ na zdjęciu obwodu, że moduł zasilania jest podłączony do lewej strony płytki stykowej, a zasilacz 9V 1A DC jest podłączony do modułu zasilania, dzięki czemu do matrycy LED jest dostarczany wystarczający prąd. Nie ma połączenia między pinem 5 V na UNO a płytką stykową. ALE pin GND na UNO jest podłączony do GND na płytce stykowej.
Sprawdź swoją pracę dwukrotnie i trzykrotnie.
Krok 2: Kod Arduino
Ta instrukcja zakłada, że wiesz już, jak programować w Arduino.
Pobierz załączony szkic Arduino. Upewnij się, że dodałeś bibliotekę LedControl do swoich bibliotek Arduino. Użyłem wersji Eberharda Fahle. Po prostu wyszukaj MAX7219 w przeglądarce Zarządzaj bibliotekami, a znajdziesz go i zainstalujesz.
Upewnij się, że plik pitches.h znajduje się w folderze szkicu. Służy do odtwarzania dźwięków w grze.
Trochę o wyczuciu czasu
Ponieważ polecenie delay() całkowicie wstrzymuje wykonywanie szkicu po jego uruchomieniu, zamiast tego szukamy upływu czasu, gdy chcemy wykonać części szkicu związane z animacją. Szukamy określonej ilości czasu, zanim wykonamy części szkicu, takie jak aktualizacja położenia kulki na wyświetlaczu.
Co ważniejsze, polecenie delay() jest tak naprawdę wykonywane tylko w metodzie loop(). Zwykle nie wykonuje się zgodnie z oczekiwaniami w innych metodach. Tak więc wszystkie czasy związane z animacją są wykonywane w metodzie loop().
Przykład:
Definiujemy kilka zmiennych typu „long” i kilka wartości logicznych, a następnie ustawiamy je na końcu setup().
bThresh = 80; // czas w milisekundach między aktualizacjami piłki
ballTime = millis();// ustaw na aktualny czas systemowy
bon = fałsz; // czy dioda kuli jest włączona, czy wyłączona?
ballReturn = fałsz; // czy zwracamy piłkę po uderzeniu wiosłem?
W loop() do rysowania piłki mamy:
if ((millis() - ballTime > bThresh) && bon == false) {// jeśli piłka jest WYŁĄCZONA i minęło wystarczająco dużo czasu ballOn();// włącz diodę LED piłki
bon = prawda; // piłka jest teraz WŁĄCZONA
BallTime = mili(); // zresetuj ballTime do aktualnego czasu
}
if ((millis() - ballTime > bThresh) && bon == true) { // jeśli piłka jest WŁĄCZONA i minęło wystarczająco dużo czasu
ballOff(); // wyłącz kulkę LED
bon = fałsz; // piłka jest teraz WYŁĄCZONA
BallTime = mili(); zresetuj ballTIME do aktualnego czasu
}
Istnieje wiele sposobów na zrobienie tej gry. To tylko moje preferencje.
Szkic jest w pełni udokumentowany, więc zapraszam do zapoznania się z kodem, aby zobaczyć jak to działa.
Sprawdź, skompiluj i prześlij swój kod.
Ciesz się grą!
Krok 3: Wniosek
Moje podziękowania kieruję do Elegoo Inc za dostarczenie zestawu startowego użytego w tym projekcie. Jest to zestaw z dużą różnorodnością części i modułów, który wprowadzi Cię w świat Arduino Maker.