Spisu treści:

Tap Tap Rainbow – gra szybkiej reakcji dla 2 graczy: 4 kroki (ze zdjęciami)
Tap Tap Rainbow – gra szybkiej reakcji dla 2 graczy: 4 kroki (ze zdjęciami)

Wideo: Tap Tap Rainbow – gra szybkiej reakcji dla 2 graczy: 4 kroki (ze zdjęciami)

Wideo: Tap Tap Rainbow – gra szybkiej reakcji dla 2 graczy: 4 kroki (ze zdjęciami)
Wideo: Dobrze dzieci dzisiaj będziecie przedstawiać swoim piosenki | alxyni 2024, Lipiec
Anonim
Tap Tap Rainbow – gra szybkiej reakcji dla 2 graczy
Tap Tap Rainbow – gra szybkiej reakcji dla 2 graczy
Tap Tap Rainbow – gra z szybką reakcją dla 2 graczy
Tap Tap Rainbow – gra z szybką reakcją dla 2 graczy
Tap Tap Rainbow – gra z szybką reakcją dla 2 graczy
Tap Tap Rainbow – gra z szybką reakcją dla 2 graczy

Ł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

Pisanie Kodeksu
Pisanie Kodeksu
Pisanie Kodeksu
Pisanie Kodeksu
Pisanie Kodeksu
Pisanie Kodeksu

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 !!! ?

Image
Image
Baw się dobrze!!! ?
Baw się dobrze!!! ?

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: