Spisu treści:
- Krok 1: Krok 1: Czujnik odległości
- Krok 2: Krok 2: Serwosilnik
- Krok 3: Krok 3: Dioda LED RGB
- Krok 4: Krok 4: LCD
- Krok 5: Krok 5: Kod
Wideo: Szybka gra reakcji: Wersja na odległość: 5 kroków (ze zdjęciami)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:31
Cześć. To jest instrukcja, jak stworzyć grę, która sprawdza zarówno twój czas reakcji, jak i poczucie odległości. Ten projekt jest oparty na starym projekcie, który wykonałem z udziałem dwóch graczy rywalizujących, aby zobaczyć, kto miał szybszy czas reakcji, klikając przycisk, gdy światło zmieniło się na zielone. Ten ma podobny cel, z wyjątkiem tego, że jest to tryb dla jednego gracza i zamiast gaśnięcia światła, gracz ma czas na odsunięcie ręki o pewną przestrzeń od czujnika odległości.
Podobnie jak wszystkie projekty Arduino, ta gra będzie wymagała wielu elementów elektrycznych w obwodzie Arduino. Główne komponenty, oprócz okablowania i samego Arduino, to płytka stykowa, serwomotor, wyświetlacz LCD, dioda LED RGB i czujnik odległości.
Korzystając z https://abra-electronics.com, cena bez przewodów i Arduino wynosi 32,12 CAD.
Krok 1: Krok 1: Czujnik odległości
Pierwszym krokiem jest ustawienie ultradźwiękowego czujnika odległości na płytce stykowej i podłączenie go do Arduino. Dokładna pozycja czujnika tak naprawdę nie ma znaczenia, ale najlepiej jest blisko krawędzi, aby było miejsce na inne komponenty, jak pokazano na powyższym obrazku. Na czujniku znajdują się cztery piny; GND, VCC, TRIG i ECHO. GND i VCC należy podłączyć odpowiednio do szyny uziemiającej i zasilającej, a pozostałe dwa piny podłączyć do dwóch pinów w Arduino. Dwa piny, których użyłem, to 12 dla ECHO i 11 dla TRIG. Użyj dwóch innych przewodów do zasilania szyny zasilającej i uziemienia szyny uziemiającej, podłączając szynę zasilającą do styku 5 V, a szynę uziemiającą do styku GND.
Krok 2: Krok 2: Serwosilnik
Następnym krokiem jest konfiguracja serwomotoru. W tym projekcie serwomotor pełni funkcję timera. Rozpocznie się od 1 stopnia, a po czasie, w którym użytkownik będzie musiał zdystansować ręce, obróci się o 180 stopni. Wykorzystałem 2 sekundy, gdy użytkownik dowiaduje się, jak daleko musi oddalić ręce, więc serwo obraca się o 179 stopni w ciągu 2 sekund, obracając się w krótkich odstępach czasu. Silnik serwo ma trzy przewody; zwykle żółty, czerwony i brązowy. Czerwony wchodzi do szyny zasilającej, która jest już podłączona do 5 V, a brązowy do szyny uziemiającej już podłączonej do GND. Ostatni przewód podłącza się do pinu Arduino. Do tego wybrałem pin #9. Następnie potrzebujesz kondensatora łączącego tę samą szynę, do której podłączone są przewody zasilania i uziemienia serwomechanizmu, jak pokazano na powyższym obrazku.
Krok 3: Krok 3: Dioda LED RGB
Funkcją diody LED w tym przypadku jest działanie jako skala dla partytury. Gdy wynik gracza wynosi około 0, dioda LED będzie biała i będzie bardziej czerwona, jeśli wynik gracza spadnie, a zielony, jeśli wynik gracza wzrośnie. Ta dioda LED ma cztery nogi; noga z czerwonym światłem, noga z niebieskim światłem, noga z zielonym światłem i wspólna katoda dzielona między pozostałe trzy nogi. Wspólna katoda, najdłuższa noga, jest podłączona do szyny zasilającej, dzięki czemu otrzymuje napięcie 5 woltów. Podłącz rezystory 330 omów do pozostałych trzech kolorowych nóg, a drugie końce tych rezystorów dołącz do cyfrowych pinów PWM na Arduino. Te, których użyłem, to cyfrowe piny 3, 5 i 6 odpowiednio dla czerwonych, zielonych i niebieskich nóg.
Krok 4: Krok 4: LCD
Ostatnim elementem jest wyświetlacz LCD, który oznacza wyświetlacz ciekłokrystaliczny. Celem tego jest poinformowanie gracza o jego aktualnym wyniku, a także o odległości, jaką musi odsunąć od czujnika. Tutaj są cztery szpilki; GND, VCC, SDA i SCL. GND i VCC zostaną podłączone odpowiednio do uziemienia i szyn zasilających płytki stykowej. Pin SDA musi być podłączony do pinu analogowego A4, a pin SCL musi być podłączony do pinu analogowego A5. W przeciwieństwie do innych komponentów, musisz podłączyć styki SDA i SCL do A4 i A5.
Krok 5: Krok 5: Kod
Teraz, gdy już połączyliśmy wszystkie komponenty, możemy napisać kod. Pierwszą częścią kodu jest zaimportowanie potrzebnych bibliotek i zadeklarowanie naszych zmiennych oraz tego, do których pinów są podłączone komponenty. Musimy zaimportować biblioteki Wire, LiquidCrystal_I2C i Servo dla tego kodu.
#włączać
#włączać
#włączać
Serwo myServo;
int const trigPin = 11;
int const echoPin = 12;
int czerwonyPin = 3;
int zielonyPin = 5;
int niebieskiPin = 6;
wynik wewnętrzny = 0;
int tim = 500;
int current = losowo(8, 16); //losowa wartość, przy której użytkownik musi odsunąć rękę od czujnika
LiquidCrystal_I2C lcd (0x27, 16, 2); //Konfiguracja LCD
Teraz musimy użyć void setup(), aby zadeklarować nasze typy pinów i skonfigurować inne niezbędne komponenty.
void setup() { myServo.attach(9); Serial.początek(9600); pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); pinMode pinMode(redPin, OUTPUT); pinMode(zielonyPin, WYJŚCIE); pinMode (bluePin, WYJŚCIE); lcd.init(); podświetlenie LCD(); lcd.początek(16, 2); lcd.clear(); //Konfiguracja LCD}
Teraz musimy ustawić kod LED RGB za pomocą funkcji i PWM:
void setColor(int czerwony, int zielony, int niebieski) {
czerwony = 255 - czerwony;
zielony = 255 - zielony;
niebieski = 255 - niebieski;
zapis analogowy(redPin, czerwony);
analogZapis(zielonyPin, zielony);
zapis analogowy (niebieski pin, niebieski);
}
Teraz musimy dodać void loop(). Tutaj będziemy generować losowe liczby całkowite i używać serii instrukcji if do sterowania grą dla gracza. Bieżąca zmienna, ustawiona powyżej, dotyczy aktualnej odległości, jaką gracz musi oddalić od czujnika.
Ponieważ kod w void loop() jest bardzo długi, wkleję link do dokumentu, który ma ten kod:
docs.google.com/document/d/1DufS0wuX0N6gpv…
Na koniec musimy wykonać rzeczywiste obliczenia, aby przekonwertować wartości ultradźwiękowego czujnika odległości na cale. Ultradźwiękowy czujnik odległości nie mierzy bezpośrednio odległości; uwalnia dźwięk i rejestruje czas potrzebny czujnikowi na odzyskanie dźwięku z dowolnego przedmiotu, od którego się odbija.
długie mikrosekundy na cale (długie mikrosekundy) {
powrót mikrosekundy / 74 / 2;
}
Teraz podłączamy przewodowe Arduino do komputera z kodem, ustawiamy porty i uruchamiamy! W tej grze są dwa tryby. Albo możesz używać tylko wyświetlacza LCD, serwomotoru, czujnika i diody LED RGB i znasz tylko odległość, jaką musisz być od czujnika, co jest trudniejszym trybem. Łatwiejszy tryb polega na użyciu monitora szeregowego w menu Narzędzia > Monitor szeregowy, który co sekundę będzie informował o odległości od czujnika, dzięki czemu można dokonać niezbędnych korekt.
Dziękuje za przeczytanie!
Zalecana:
Tap Tap Rainbow – gra szybkiej reakcji dla 2 graczy: 4 kroki (ze zdjęciami)
Tap Tap Rainbow – gra z szybką reakcją dla 2 graczy: 2 tygodnie temu moja córka wpadła na genialny pomysł na stworzenie gry z szybką reakcją w kolorach tęczy (jest ekspertem od tęczy :D). Od razu spodobał mi się ten pomysł i zaczęliśmy zastanawiać się, jak przekształcić go w prawdziwą grę. Pomysł był taki. Masz tęczę w
Zabawna gra reakcji Arduino: 3 kroki
Zabawna gra reakcji Arduino: Zabawna gra reakcji Arduino dla całej rodziny;) Oparta na wieloplatformowej komunikacji Bluetooth. Potrzebujesz tylko trochę Arduino, smartfona z Androidem i pudełka na buty. Jeśli nie masz żadnego z nich, uwierz w to mocno: nie ma nic, co
Gra reakcji Arduino: 9 kroków
Arduino Reaction Game: Stworzyłem tę grę jako zadanie szkolne. Musieliśmy stworzyć coś interaktywnego za pomocą arduino. To mój pierwszy projekt Arduino, jaki kiedykolwiek stworzyłem, więc było to dość trudne, ale nie niemożliwe
Gra reakcji FPGA: 10 kroków
Gra reakcji FPGA: przez Summer Rutherford i Regita Soetandar
Gra Fischertechnik LED z czasem reakcji: 7 kroków
Fischertechnik LED Reaction Time Game: Jak stworzyć Fischertechnik LED Reaction Time Game Gram na życie różnymi manipulacjami edukacyjnymi. (Odwiedź www.weirdrichard.com). Prostą do zbudowania aplikacją jest gra LED REACTION TIME GAME. Kontroler robota (w tym przypadku