Spisu treści:
Wideo: Tap Tap Rainbow – gra szybkiej reakcji dla 2 graczy: 4 kroki (ze zdjęciami)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:27
Łańcuch LED wykorzystuje tylko 3 przewody. Potrzebowałem więc tylko zasilania 5V (czerwony), masy (biały) i sygnału (zielony). Jeśli używasz również Espruino, zapoznaj się z samouczkami na ich stronie internetowej. Ten dla diod LED RGB jest bardzo jasno wyjaśniony.
Pociąłem ciąg LED na 3 części po 6 diod, a następnie połączyłem je dodatkowymi przewodami. W ten sposób wszystkie diody LED korzystają z tej samej tablicy, co oszczędza mi 2 dodatkowe porty na płycie i jest łatwiejsze do zaprogramowania.
Nieco trudniejsze było podłączenie przycisków. Chciałem użyć jak najmniejszej liczby portów na płycie, więc myślałem o użyciu konfiguracji I2C, ale strasznie mu się to nie udało. Nie mogłem go uruchomić, więc zająłem się czymś innym.
W końcu znalazłem samouczek dotyczący Espruino dla klawiatury, która jest okablowana jako matryca klawiatury z 16 przyciskami. Wyglądało to na dość łatwe do wdrożenia, więc poszedłem w ten sposób. Potrzebowałem tylko 12 przycisków, więc potrzebowałbym matrycy 3x4.
W matrycy klawiatury wszystkie przyciski są połączone w kolumny i rzędy. W ten sposób potrzebujesz tylko 8 portów na 16 przycisków. W mojej konfiguracji potrzebowałem tylko 2 razy 6 przycisków, co daje w sumie 7 portów na płycie (4 rzędy z 3 kolumnami). To wciąż dużo mniej niż oddzielne podłączenie 12 przycisków, a moduł Keypad w Espruino jest naprawdę łatwy w użyciu.
Znalazłem dobry samouczek dotyczący klawiatury na temat podstaw obwodów, który bardzo mi pomógł w okablowaniu przycisków.
Kiedy udało mi się podłączyć wszystkie przyciski, bardzo się sfrustrowałem, ponieważ złącza ciągle się ześlizgiwały i robiło się późno. Więc skleiłem wszystko razem na pudełku i zupełnie zapomniałem zrobić zdjęcia. Również niezbyt przyjazny dla użytkownika dzień, w którym muszę ponownie podłączyć przewód w jednym z pudełek.
Krok 3: Pisanie kodu
Espruino jest zaprogramowane w Javascript, więc dla mnie jest to znacznie mniej skomplikowane niż pisanie kodu dla Arduino.
Kod przydałby się trochę optymalizacji, ale na razie działa. Jest też błąd (może to funkcja:D), w którym nie można wcisnąć 2 przycisków dokładnie w tym samym czasie. Ale to sprawia, że granie w tę grę jest trochę trudniejsze (czytaj frustrujące), więc nie zbadałem jeszcze tego problemu, lubię to w ten sposób (jeśli przegrasz, jest to bardzo frustrujące).
Programowanie diod LED jest dość proste. Każda dioda LED w ciągu to 3 wartości w tablicy. Więc jeśli masz tablicę taką jak [255, 0, 0, 255, 0, 0], pierwsze 2 diody LED są czerwone.
W szybkim przeglądzie.
1. Najpierw definiuję kolory i tworzę tablicę wszystkich kolorów
2. Następnie definiuję ustawienia odtwarzacza, takie jak identyfikatory przycisków i indeks, który każdy odtwarzacz ma w ciągu LED
3. Na początku gry tasuję wszystkie kolory w tablicy tęczy i przechowuję te informacje w nowej tablicy. Następnie resetuję wszystkie diody i zapalam górne diody z przetasowanymi kolorami tęczy
4. Wreszcie mamy kod, który nasłuchuje kluczowych wydarzeń. Przechowuję wszystkie dane wejściowe w tablicy i sprawdzam, czy ta tablica jest w prawidłowej kolejności.
5. Wczoraj dodałem miły dodatek, że zwycięzcy zostają potraktowani niesamowitą animacją tęczy:D
Wciąż jest wiele rzeczy, które mam na myśli, aby było fajniej, ale to coś na później;)
Nie jestem w stanie wgrać pełnego kodu źródłowego, więc umieściłem go na Gitlab
gitlab.com/marzsman/tap_tap_rainbow
Krok 4: Baw się z tym !!! ?
Kiedy moja córka i ja zapisywaliśmy jej pomysł i zastanawialiśmy się, jak powinien wyglądać, od razu mi się spodobał. Ale muszę powiedzieć, że nigdy nie sądziłem, że gra będzie tak fajna. Mieliśmy już kilka wielkich bitew w tęczowe tappingi:D
Mam nadzieję, że każdy będzie się tym bawił tak dobrze, jak my.
To także pierwszy pełny projekt, który zrobiłem w tak krótkim czasie i coś, co zrobiłem z moją 8-letnią córką. Jest to również mój pierwszy instruktażowy (WRESZCIE!), więc tak, w pewnym sensie jest to dla mnie bardzo wyjątkowy projekt. Więc mam nadzieję, że się spodoba!
Jeśli masz jakieś pytania lub sugestie, chętnie je usłyszę!
Zalecana:
Gra Aruduino LED Szybkie klikanie Gra dla dwóch graczy: 8 kroków
Aruduino LED Game Fast Clicking Two Player Game: Ten projekt jest inspirowany @HassonAlkeim. Jeśli chcesz przyjrzeć się bliżej, oto link, który możesz sprawdzić https://www.instructables.com/id/Arduino-Two-Player-Fast-Button-Clicking-Game/. Ta gra jest ulepszoną wersją Alkeima. To jest
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
Szafka arkadowa dla 4 graczy dla MAME: 32 kroki (ze zdjęciami)
Szafka arkadowa dla 4 graczy dla MAME: To pokaże Ci, jak skonstruowałem szafkę MAME dla 4 graczy. Jest wiele rzeczy, które możesz chcieć dostosować do swoich upodobań. Pokażę ci, jak stworzyłem swoją, możesz ją dostosować do własnych upodobań. Mieści się w nim standardowe okno
Konkurencyjna gra na czas VS dla 2 graczy: 4 kroki
Konkurencyjna gra czasowa VS dla 2 graczy: Będziesz potrzebować: 1. Digilent Basys 3, płytka FPGA (lub dowolny inny układ FPGA,)2. Stosunkowo aktualna wersja Vivado lub innego środowiska VHDL3. Komputer, na którym można uruchomić wspomniany program
Szybka gra reakcji: Wersja na odległość: 5 kroków (ze zdjęciami)
Szybka gra reakcji: Odległość Wersja: 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 w