Spisu treści:

Gry z 4 przyciskami przy użyciu jednego wejścia analogowego: 6 kroków (ze zdjęciami)
Gry z 4 przyciskami przy użyciu jednego wejścia analogowego: 6 kroków (ze zdjęciami)

Wideo: Gry z 4 przyciskami przy użyciu jednego wejścia analogowego: 6 kroków (ze zdjęciami)

Wideo: Gry z 4 przyciskami przy użyciu jednego wejścia analogowego: 6 kroków (ze zdjęciami)
Wideo: Ludzie, którzy zamienili się w zwierzęta 😲🤔 2024, Listopad
Anonim
Image
Image

Ta instrukcja skupia się na użyciu jednej analogowej linii wejściowej dla wielu przycisków, które można wykryć niezależnie od siebie.

Aby podkreślić użycie tych przycisków, dołączone jest oprogramowanie do grania w cztery różne gry z 4 przyciskami. Wszystkie gry (w sumie 8) tutaj wykorzystują wyświetlacz drabinkowy LED (patrz wcześniejszy projekt: instrukcje: Gry z wyświetlaczem LED jednoliniowym).

Możesz użyć własnego 4-przyciskowego zespołu z innymi wyjściami wyświetlania, po prostu użyj funkcji „scanButtons()” z jednego z dołączonych szkiców. I wykorzystaj te szkice, na przykład użyj ich.

Gry są grą zręcznościową: Whack-a-Mole, gra pamięciowa: Simon Says, gry logiczne Sea Hunt i Flip'd gra dla dwóch graczy podobna do Reveri. Później, w tej instrukcji, przedstawię później cztery dwuosobowe gry rywalizacji jeden na jednego.

Krok 1: Określanie optymalnej konfiguracji przycisków

Po prostu użycie kilku rezystorów połączonych szeregowo z przyciskami odczepianymi między nimi, zadziała, jeśli nigdy nie będziesz musiał się martwić, że jeden przycisk zablokuje drugi. W takiej konfiguracji każdy przycisk, po naciśnięciu, blokuje wszystkie znajdujące się poniżej. Nawet jeśli potrzebujesz tylko dwóch przycisków i zależy Ci tylko na jednym na raz, jak w ping-pongu; byłoby problemem, gdyby graczowi nie udało się (po prostu zbyt wolno lub złośliwie) zdjąć palca ze swojego przycisku, zanim drugi będzie musiał uderzyć w jego.

Wiele przycisków jest często podłączonych do jednej linii analogowej, z których każdy ma własne wartości rezystorów na wejściu. Możesz łatwo rozróżnić, który przycisk lub parę jest wciśnięty, gdy są tylko 2 lub 3 przyciski. Ale nie niezawodnie przy większej liczbie przycisków lub więcej niż dwóch wciśniętych, ponieważ najgorsza kombinacja odczytów staje się niejednoznacznie zbyt blisko siebie.

Tutaj, z tym, co nazywam konfiguracją Double-Y z czterema przyciskami i rezystorami, można niezawodnie rozpoznać wciskanie dowolnego pojedynczego, podwójnego, a nawet potrójnego lub wszystkich czterech przycisków. Sterownik oprogramowania do tego omówiono w następnej sekcji i na liście kodu.

Chcąc mieć cztery przyciski podłączone do jednego wejścia analogowego, w którym naciśnięcie każdego przycisku byłoby wykrywane niezależnie od stanu pozostałych przycisków, zamodelowałem kilka konfiguracji w arkuszu kalkulacyjnym. Stwierdziłem, że konfiguracja z podwójnym Y (składająca się z 2 zestawów po trzy rezystory) daje najlepsze możliwości. Zobacz schemat okablowania poniżej. Oceniałem je na podstawie największego rozdzielenia całkowitego oporu między dowolnymi dwiema kombinacjami wciśniętych przycisków. Następnie modelowałem obliczone wartości analogowe. Zapoznaj się z poniższym plikiem arkusza kalkulacyjnego.

Aby określić najlepsze wartości do zastosowania w powyższych konfiguracjach, napisałem symulację, w której wypróbowałem wyczerpująco wszystkie możliwe permutacje potencjalnych wartości rezystorów, znajdując zestaw, który dawał maksymalnie najmniejszą różnicę między możliwymi wejściami odczytowymi. Podałem kod, którego użyłem. To było brutalne narzędzie, które połączyłem, dostałem to, czego chciałem i odłożyłem na bok, więc nie było w żaden sposób zoptymalizowane. Jest całkowicie taki, jak jest, tylko w celach historycznych (Solve_4R.html poniżej).

Oto jego dane wyjściowe do przeglądu:

R1: 10 R2: 12 R3: 10 R4: 12 R5: 10 R6: 15 minR delta: 3.3658818125

R1: 10 R2: 12 R3: 10 R4: 12 R5: 10 R6: 18 minR delta: 4.9490620031 R1: 10 R2: 12 R3: 10 R4: 12 R5: 18 R6: 10 minR delta: 4.9490620031 R1: 10 R2: 12 R3: 10 R4: 15 R5: 10 R6: 33 minR delta: 5.0576510475 R1: 10 R2: 12 R3: 10 R4: 15 R5: 12 R6: 10 minR delta: 7.104826870 R1: 10 R2: 12 R3: 10 R4: 18 R5: 10 R6: 18 minR delta: 8.1673424912 R1: 10 R2: 12 R3: 10 R4: 18 R5: 15 R6: 22 minR delta: 8.6504939648 R1: 10 R2: 12 R3: 10 R4: 22 R5: 10 R6: 18 delta minR: 10.1721492515 R1: 10 R2: 12 R3: 10 R4: 22 R5: 10 R6: 22 minR delta: 10.5040000560 R1: 10 R2: 12 R3: 10 R4: 27 R5: 12 R6: 27 minR delta: 10.7814361579 R1: 10 R2: 12 R3: 12 R4: 33 R5: 15 R6: 36 minR delta: 10.8827552754 R1: 10 R2: 12 R3: 12 R4: 68 R5: 10 R6: 22 minR delta: 11.4499029683 R1: 10 R2: 12 R3: 12 R4: 68 R5: 10 R6: 27 minR delta: 12.0961591599 R1: 10 R2: 12 R3: 15 R4: 68 R5: 10 R6: 27 minR delta: 12.7992171382 R1: 10 R2: 12 R3: 15 R4: 75 R5: 10 R6: 27 minR delta: 12.7992171382 R1: 10 R2: 12 R3: 15 R4: 82 R5: 10 R6: 27 minR delta: 1 2.7992171382 R1: 10 R2: 12 R3: 15 R4: 91 R5: 10 R6: 27 minR delta: 12.7992171382 R1: 10 R2: 12 R3: 27 R4: 82 R5: 10 R6: 15 minR delta: 12.7992171382 R1: 10 R2: 12 R3: 27 R4: 91 R5: 10 R6: 15 minR delta: 12.7992171382 R1: 10 R2: 12 R3: 27 R4: 100 R5: 10 R6: 15 minR delta: 12.7992171382 R1: 10 R2: 12 R3: 68 R4: 15 R5: 10 R6: 27 minR delta: 12.7992171382 R1: 10 R2: 12 R3: 75 R4: 15 R5: 10 R6: 27 minR delta: 12.7992171382 R1: 10 R2: 12 R3: 82 R4: 15 R5: 10 R6: 27 minR delta: 12.7992171382 R1: 10 R2: 12 R3: 82 R4: 27 R5: 10 R6: 15 minR delta: 12.7992171382 R1: 10 R2: 12 R3: 91 R4: 15 R5: 10 R6: 27 minR delta: 12.7992171382 R1: 10 R2: 12 R3: 91 R4: 27 R5: 10 R6: 15 minR delta: 12.7992171382 R1: 10 R2: 12 R3: 100 R4: 27 R5: 10 R6: 15 minR delta: 12.7992171382 R1: 10 R2: 15 R3: 10 R4: 18 R5: 18 R6: 12 minR delta: 13.2909379968 R1: 10 R2: 15 R3: 10 R4: 22 R5: 12 R6: 10 minR delta: 14.245362837 R1: 10 R2: 15 R3: 10 R4: 39 R5: 18 R6: 27 minR delta: 14.5126340326 R1: 10 R2: 15 R3: 10 R4: 56 R5: 12 R6: 15 minR delta: 15.220571553 R1: 10 R2: 15 R3: 12 R4: 27 R5: 12 R6: 12 minR delta: 18.8228671943 R1: 10 R2: 15 R3: 12 R4: 39 R5: 18 R6: 27 minR delta: 19.236186493 R1: 10 R2: 15 R3: 15 R4: 47 R5: 22 R6: 33 minR delta: 19.5685736556 R1: 10 R2: 15 R3: 22 R4: 56 R5: 22 R6: 27 minR delta: 19.7887024012 R1: 10 R2: 15 R3: 27 R4: 220 R5: 12 R6: 10 minR delta: 21.2533513149 R1: 10 R2: 15 R3: 220 R4: 27 R5: 12 R6: 10 minR delta: 21.2533513149 R1: 10 R2: 18 R3: 22 R4: 68 R5: 33 R6: 39 minR delta: 21.58566448 R1: 10 R2: 18 R3: 27 R4: 75 R5: 33 R6: 36 minR delta: 22.158443806 R1: 10 R2: 18 R3: 27 R4: 82 R5: 33 R6: 36 minR delta: 22.158443806 R1: 10 R2: 18 R3: 27 R4: 82 R5: 33 R6: 39 minR delta: 22.158443806 R1: 10 R2: 18 R3: 33 R4: 75 R5: 27 R6: 18 minR delta: 24.2578084248 R1: 10 R2: 18 R3: 75 R4: 33 R5: 27 R6: 18 minR delta: 24.2578084248 R1: 10 R2: 36 R3: 36 R4: 68 R5: 12 R6: 18 minR delta: 24.380952380 R1: 10 R2: 36 R3: 36 R4: 75 R5: 12 R6: 18 minR delta: 24.380952380 R1: 10 R2: 36 R3: 39 R4: 75 R5: 12 R6: 15 minR delta: 24.380952380 R1: 10 R2: 36 R3: 68 R4: 36 R5: 12 R6: 18 minR delta: 24.380952380 R1: 10 R2: 36 R3: 75 R4: 36 R5: 12 R6: 18 minR delta: 24.380952380 R1: 10 R2: 36 R3: 75 R4: 39 R5: 12 R6: 15 minR delta: 24.380952380 R1: 10 R2: 39 R3: 15 R4: 39 R5: 10 R6: 27 minR delta: 24.4674161824 R1: 10 R2: 39 R3: 22 R4: 47 R5: 10 R6: 22 minR delta: 24.4674161824 R1: 10 R2: 39 R3: 22 R4: 56 R5: 10 R6: 22 minR delta: 24.4674161824 R1: 10 R2: 39 R3: 27 R4: 56 R5: 10 R6: 15 minR delta: 24.4674161824 R1: 10 R2: 39 R3: 39 R4: 15 R5: 10 R6: 27 minR delta: 24.4674161824 R1: 10 R2: 39 R3: 47 R4: 22 R5: 10 R6: 22 minR delta: 24.4674161824 R1: 10 R2: 39 R3: 56 R4: 22 R5: 10 R6: 22 minR delta: 24.4674161824 R1: 10 R2: 39 R3: 56 R4: 27 R5: 10 R6: 15 minR delta: 24.4674161824 R1: 12 R2: 39 R3: 33 R4: 75 R5: 15 R6: 39 minR delta: 24.5467795136 R1: 12 R2: 39 R3: 33 R4: 82 R5: 18 R6: 47 minR delta: 24.789976640 R1: 12 R2: 39 R3: 47 R4: 100 R5: 18 R6: 33 minR delta: 24.789976640 R1: 12 R2: 39 R3: 56 R4: 100 R5: 15 R6: 12 minR delta: 25.3564579616 R1: 12 R2: 39 R3: 100 R4: 56 R5: 15 R6: 12 minR delta: 25.3564579616 R1: 12 R2: 47 R3: 18 R4: 47 R5: 10 R6: 27 minR delta: 27.4996466431 R1: 12 R2: 47 R3: 22 R4: 56 R5: 10 R6: 22 minR delta: 27.4996466431 R1: 12 R2: 47 R3: 27 R4: 56 R5: 10 R6: 18 minR delta: 27.4996466431 R1: 12 R2: 47 R3: 47 R4: 18 R5: 10 R6: 27 minR delta: 27.4996466431 R1: 12 R2: 47 R3: 56 R4: 22 R5: 10 R6: 22 minR delta: 27.4996466431 R1: 12 R2: 47 R3: 56 R4: 27 R5: 10 R6: 18 minR delta: 27.4996466431 R1: 15 R2: 56 R3: 22 R4: 56 R5: 10 R6: 27 minR delta: 29.1605253709 R1: 15 R2: 56 R3: 22 R4: 56 R5: 12 R6: 33 minR delta: 29.811354701 R1: 15 R2: 56 R3: 33 R4: 68 R5: 12 R6: 22 minR delta: 29.811354701 R1: 15 R2: 56 R3: 56 R4: 22 R5: 12 R6: 33 minR delta: 29.811354701 R1: 15 R2: 56 R3: 68 R4: 33 R5: 12 R6: 22 minR delta: 29.811354701 R1: 18 R2: 68 R3: 27 R4: 68 R5: 12 R6: 33 minR delta: 30.7487559507 R1: 18 R2: 68 R3: 33 R4: 68 R5: 12 R6: 27 minR delta: 30.8965517241 R1: 18 R2: 68 R3: 68 R4: 33 R5: 12 R6: 27 minR delta: 30.8965517241 R1: 18 R2: 75 R3: 27 R4: 68 R5: 12 R6: 36 minR delta: 30.9007058823 R1: 18 R2: 75 R3: 47 R4: 91 R5: 12 R6: 10 minR delta: 30.9007058823 R1: 18 R2: 75 R3: 68 R4: 27 R5: 12 R6: 36 minR delta: 30.9007058823 R1: 18 R2: 75 R3: 91 R4: 47 R5: 12 R6: 10 minR delta: 30.9007058823 R1: 22 R2: 82 R3: 36 R4: 82 R5: 15 R6: 39 minR delta: 33.2525545171 R1: 22 R2: 82 R3: 82 R4: 36 R5: 15 R6: 39 minR delta: 33.2525545171 R1: 36 R2: 82 R3: 22 R4: 82 R5: 39 R6: 15 minR delta: 33.2525545171 R1: 36 R2: 82 R3: 82 R4: 22 R5: 39 R6: 15 minR delta: 33.2525545171 R1: 82 R2: 22 R3: 36 R4: 82 R5: 15 R6: 39 minR delta: 33.2525545171 R1: 82 R2: 22 R3: 82 R4: 36 R5: 15 R6: 39 minR delta: 33.2525545171 R1: 82 R2: 36 R3: 22 R4: 82 R5: 39 R6: 15 minR delta: 33.2525545171 R1: 82 R2: 36 R3: 82 R4: 22 R5: 39 R6: 15 minR delta: 33.2525545171 R1: 36 R2: 82 R3: 82 R4: 22 R5: 39 R6: 15 minR delta: 33.2525545171

Krok 2: Mój 4-przyciskowy montaż

Mój 4-przyciskowy zespół
Mój 4-przyciskowy zespół

Do moich czterech przycisków użyłem tych przycisków oraz perforowanej płytki drukowanej i rezystorów, jak pokazano na powyższym schemacie. Sposób, w jaki fizycznie zaimplementujesz swoje cztery przyciski, jest szeroko otwarty i zależy od Ciebie i Twoich potrzeb projektowych. Tak długo, jak elektrycznie jest to, co na powyższym schemacie. Upewnij się, że twoja konstrukcja jest taka, że nie będziesz miał żadnego kontaktu z okablowaniem do przycisków, ponieważ spowoduje to utratę odczytów, powodując błędne zachowanie przycisków.

Mam dodany mały przycisk na mojej tablicy, którego używam jak klawisza 'funkcyjnego'. Jest połączony szeregowo z rezystorem 2 megaomów, co nie zaburza znacząco moich innych odczytów wejściowych; chociaż mogę go wykryć tylko wtedy, gdy jest wciśnięty. Możesz go zignorować lub sprawdzić kod, aby lepiej zrozumieć, jak go wykorzystuję.

Szkic testowy „Test_12Leds_6Btns” może służyć do testowania wykrywania naciśnięć przycisków przez MCU i rzeczywisty zespół przycisków. Jego wyjście jest ustawione do oglądania za pomocą drabinki LED lub monitora szeregowego. Można go łatwo zmodyfikować do wyświetlania na dowolnym typie wyświetlacza.

Może być konieczne dostosowanie zestawu odczytów referencyjnych kodu, z którymi porównuje dane wejściowe, ze względu na potencjalne różnice w wewnętrznym rezystorze podciągającym MCU lub tolerancje używanych rezystorów. Mógłbyś, jeśli wolisz, użyć precyzyjnych rezystorów, miejmy nadzieję, że nie będziesz musiał dokonywać korekt kalibracji. Nawiasem mówiąc, nie używałem zewnętrznego podciągania, ponieważ zakłócałoby to inne zastosowania, które planuję w jednym z moich projektów.

Jednym z kluczowych działań podejmowanych przez oprogramowanie w celu zapewnienia określenia, który przycisk (przyciski) jest wciśnięty, nie ma wpływu poziom napięcia zasilania (i/lub wariancja MCU), jest skalowanie wejścia analogowego w oparciu o jego maksymalny odczyt, który z kolei zależy od napięcia zasilania.

Oprogramowaniem „sterownikiem” obsługującym te przyciski jest procedura „scanButtons()”. Czeka na ustabilizowanie się wartości wejścia analogowego, a następnie mapuje odczyt na serię wcześniej określonych wartości; i tłumaczy to na odpowiednie stany dla kolekcji przycisków. Ta procedura i zmienne publiczne, które dzieli z oprogramowaniem aplikacji, to wszystko, co jest potrzebne do podobnego wykorzystania tego zestawu w niezależnych przyciskach.

Notatka! Obecna wersja „scanButtons()” nie próbuje jednoznacznie zidentyfikować wszystkich możliwych kombinacji trzech przycisków, ponieważ nie było to dla mnie realnie potrzebne i dodatkowo skomplikowałoby wymaganą dokładność kodu i kalibracji.

Krok 3: Rozgrywka

Albo szkic, „LadderGames4” lub „Head2head” można załadować i uruchomić przez większość MCU Arduino, ale LadderGames4 musi mieć skomentowane „SimonSays” lub dowolną z pozostałych dwóch gier, aby zmieścić się w 8K bajtów przestrzeni programu w Attiny-85. Audio jest również problemem z ATtiny-85, patrz poprzedni projekt wspomniany powyżej. Kod jest skonfigurowany z kompilacją warunkową i wiadomo, że działa z Nano, Uno i ATtiny-85.

Przy każdym z tych szkiców po inicjalizacji pojawia się menu, w którym jeden kolor na raz zapala wszystkie czerwone… żółte… zielone… niebieskie diody, odpowiadające czterem możliwym wyborom gry. Albo naciskasz Btn1, gdy opcja pożądania jest podświetlona, albo w dowolnym momencie naciskasz Btn2-4 dla gier 2-4. Nadmiarowym sposobem wyboru jest zgodność z implementacjami i grami z dwoma i czterema przyciskami. Jeśli istnieje wiele wersji gry, będziesz musiał wybrać miganie na czerwono dla wersji 1, miganie na żółto dla wersji 2 i tak dalej.

Gry z 4 przyciskami

Gra pamięciowa, gra koordynacji ręka-oko i dwie gry strategiczne.

Simon Says To jest reimplementacja gry z postaci, w jakiej ją miałem, w tych wcześniejszych projektach:

www.instructables.com/id/Fast-Easy-Simon/

www.instructables.com/id/Improved-Simon-Says-Code/

Gra jak większość innych gier „Simon Says”.

Tutaj jednak dodałem wersję dla dwóch osób (po wybraniu opcji 2, migająca na żółto), w której każdy gracz z kolei dodaje nową nutę do serii. Pierwszy, który nie powtórzy poprawnie wszystkiego, co było wcześniej, przegrywa.

Uderz w kreta

Przez 30 sekund wyskakują różne pieprzyki (czerwone, żółte, grn, blu) po 1, 2 lub 3 na raz. Musisz je 'uderzyć', naciskając odpowiednie przyciski Btn1-4. Akceptowane będą tylko pojedyncze naciśnięcia przycisku, bez jednoczesnego naciśnięcia wielu przycisków. Jak długo zestaw moli pozostaje w górze, zmniejsza się wraz z postępem gry. Jeśli uderzysz we wszystkie widoczne krety, pojawi się nowy zestaw; tak, że szybciej jesteś, tym więcej moli będziesz miał szansę walnąć.

Po zakończeniu gry wyświetlacz pokaże wynik, zapalając jedną diodę za każde 10 uderzonych moli. Ponieważ gra zdobywa 10 punktów za każde uderzenie w kreta, 5 zapalonych diod oznaczałoby standardowy wynik Whac-a-Mole równy 500+. Aby rozegrać kolejną rundę, musisz ponownie wybrać grę.

Używam palca na każdym przycisku, aby uzyskać szybką akcję i wysokie wyniki. Dla bardziej odpowiedniego wyzwania należy użyć tylko jednego palca jednej ręki, reagując na użycie jednego młotka.

Mój typowy wynik przy użyciu jednego palca to 500, przy użyciu 4 palców (jeden na przycisk) to ponad 600. Mój najwyższy wynik to 700+. Używanie wielu palców jest szczególnie trudne, ponieważ jeśli naciskanie jednego i drugiego zachodzi na siebie, drugi nie zostanie zaakceptowany przez oprogramowanie, co wymaga zwolnienia wszystkich przycisków, zanim inny zostanie zaakceptowany. Jeśli ktoś zapali wszystkie 12 diod LED, aby uzyskać wynik ponad 1200, daj nam znać.

Polowanie na morze

W głębinach porusza się niewidoczna łódź podwodna. Jego początkowa lokalizacja i kierunek są losowe. Wykonuje ruch po swoim torze po każdej Twojej turze. Musisz przewidzieć jego miejsce pobytu za pomocą raportów sonaru i zatopić go ładunkiem głębinowym. Sonar emitujący fale (w obu kierunkach) ze swojego miejsca początkowego jako słabe światło i rozjaśnia się (wraz z pingiem) w odległości od łodzi podwodnej. Pamiętaj jednak, że łódź podwodna może być w obie strony i porusza się w nieznanym kierunku. Ładunek głębinowy eksploduje głęboko pod miejscem, w którym został wystrzelony. Słyszysz stłumioną eksplozję, jeśli nic, lub jest, w przeciwnym razie słyszysz dużą eksplozję łodzi podwodnej i jasny błysk.

Aby przesunąć kursor do miejsca, w którym chcesz zrzucić boję sonarową lub ładunek głębinowy, wykonuje się za pomocą Btn2 i Btn3 dla lewej i prawej strony. Przycisk-1 służy do ich uruchamiania.

W wersji 1 każda próba jest kombinacją bombardowania głębinowego i raportu sonaru; i możesz używać ich nieograniczonej liczby.

W wersji 2, łeb w łeb, na zmianę, aby zobaczyć, komu uda się zatopić łódź podwodną. Gracz 1 używa Btn1, a drugi gracz używa Btn4 do uruchomienia swoich ładunków głębinowych.

W wersji 3 ładunki głębinowe i raporty sonaru są uruchamiane niezależnie przez odpowiednio Btn1 i Btn4. Masz do dyspozycji tylko trzy bomby głębinowe. Możesz uzyskać wszystkie raporty sonaru, które chcesz. Przegrywasz, jeśli nie uda ci się go załatwić tymi zarzutami.

W wersji 4 okręt mógł poruszać się z szybkością 1-3 spacji na salwę, a poza tym gra jak wersja 3, ale dostajesz 6 ładunków głębinowych.

Historia: Po raz pierwszy stworzyłem grę „Sea Hunt” w latach siedemdziesiątych. Wtedy urządzeniem wejściowym i wyjściowym był dalekopis. Jednak wtedy morze było dwuwymiarową siatką, w przeciwieństwie do jednowymiarowej, jak tutaj.

UWAGA: skomentowałem ograniczenie ładunku głębinowego w kodzie, myśląc, że dla większości ludzi gra jest już wystarczająco trudna.

Flip'd

Ta gra dla dwóch graczy jest trochę podobna do Reveri, ponieważ próbujesz zmienić wszystkie komórki na swój kolor, ale odbywa się to w inny sposób.

W tej grze dla dwóch graczy celem jednego gracza jest wyłączenie wszystkich świateł, a drugiego włączenie ich wszystkich. Jeden gracz używa Btn1 do wyłączenia grupy świateł drugiego gracza lub zrezygnowania z jednego ze swoich „Wyłączonych świateł” (włączając je). Drugi gracz używa Btn4 do włączenia grupy „Wyłączonych świateł” lub wyłączenia jednego z jego pleców.

Plansza zaczyna się od losowego zestawu diod. Kiedy nadchodzi kolejka pierwszego gracza, dioda LED przy „kursorze”, interesującym miejscu, jest szybko ściemniana lub zapalana, aby potencjalnie zostać obrócona. Podczas tury gracza nr 2 pojawia się długi błysk diody jako wskaźnik kursora. Jeśli niewłaściwy gracz naciśnie swój przycisk, poza kolejnością, słychać bardzo krótki sygnał dźwiękowy. Kursor jest przesuwany w lewo o Btn2 iw prawo o Btn3. Przegrany gracz rozpoczyna następną grę.

Strategia dotycząca tego, co odwrócić, może być znacząca.

Krok 4: Konkursy jeden na jednego

Gry z dwoma przyciskami / dla dwóch graczy

W pierwszym zestawie gier z 4 przyciskami tylko „Whack-a-Mole” naprawdę opiera się na całkowitej niezależności przetwarzania przycisków. Zaimplementowałem też cztery gry head to head, z których wszystkie zależą od niezależnego wykrywania przycisków. Te gry to: Quick Draw, Tug a War, Chicken i Hot Hands (Slapsies).

Quick Draw (test reakcji)

Konkurs rozpoczyna się od „Gotowy”/czerwony, „Ustaw”/żółty i „Remis!”/zielony; bycie dość przypadkowym co do tego, kiedy daje zielone światło. Wygrywa ten, kto pierwszy uderzy w przycisk. Uderzasz zbyt wcześnie i zostaniesz zhańbiony szumem.

Gracz 1 używa Btn1 (po lewej), a gracz 2 używa Btn4 (po prawej).

Przeciąganie liny

Zaczyna się od „Gotowy”, „Ustaw”… „GO!”. Pośrodku pojawia się jakiś przedmiot, „łuk” na linie. Następnie gracze naciskają przyciski tak szybko i często, jak tylko mogą. Łuk przesunie się w kierunku gracza z największą liczbą trafień. Gdy łuk osiągnie jeden koniec, jest zwycięzcą.

Kurczak

Ten konkurs zaczyna się podobnie. Po dźwięku i zielonym błysku „Go!” gracze wciskają i przytrzymują przyciski, błyski światła (ich rydwany) zaczynają przesuwać się od nich w kierunku drugiego. Zwycięzcą jest ten, który zwolni przycisk (wyskakuje z rydwanu) jako ostatni, tuż przed zderzeniem się dwóch błysków. Jeśli ktoś wypuszcza zbyt późno lub wcale, rozbija się i przegrywa. Jeśli obaj skoczą (zwolnią) za późno, nikt nie wygra.

Na początku para przeciwstawnych diod LED przesuwa się po ekranie, w tym momencie, jeśli naciśniesz Fnc-Btn2, prędkość gry zostanie zwiększona. Można to powtórzyć kilka razy.

Gorące ręce

Cyfrowa wersja gry w bicie rąk (aka Red-Hands lub Slapsies). Aby rozpocząć dwóch graczy, naciśnij razem przyciski, jedna strona zwalnia, a następnie próbuje dwukrotnie nacisnąć jego przycisk, zanim druga strona zwolni jego przycisk. Następnie druga strona próbuje zrobić podobnie. Gracz, którego tura jest wyznaczona na początku rundy przez zapalenie diod po jego stronie. Odkryłem, że naciśnięcie tylko jednego przycisku było zbyt szybkie i łatwe, więc stworzyłem dwa wymagane, co wymaga więcej akcji i czasu, na przykład przerzucania jednej ręki nad i nad innymi, a następnie uderzania w dół. Do ustalenia: W drugiej wersji jest bezpłatna dla wszystkich, w każdej chwili każdy z graczy może spróbować uzyskać to, co najlepsze z drugiego.

Zauważyć ! Radzę wydrukować zasady działania powyższych gier i ponownie je przeczytać przed rozpoczęciem gry, w którą ostatnio nie grałeś. W przeciwnym razie możesz się sfrustrować; myśląc, że gra nie działa poprawnie, gdy w rzeczywistości jest, ale ty i gra macie różne sposoby i oczekiwania. Sam padłem ofiarą tego więcej niż kilka razy.

Z ośmioma grami tutaj i czterema z mojego wcześniejszego projektu Single-Line-LED-Display-Games, który udostępnia oprogramowanie do grania w 12 gier za pomocą tej kombinacji czterech przycisków + diody LED.

Mam co najmniej cztery dodatkowe zajęcia rekreacyjne dla tego sprzętu (z wyświetlaczem przycisków) przed końcem roku.

Krok 5: Opcjonalne kontrolery dla 2 graczy

Opcjonalne 2 kontrolery graczy
Opcjonalne 2 kontrolery graczy
Opcjonalne 2 kontrolery graczy
Opcjonalne 2 kontrolery graczy
Opcjonalne 2 kontrolery graczy
Opcjonalne 2 kontrolery graczy
Opcjonalne 2 kontrolery graczy
Opcjonalne 2 kontrolery graczy

W przypadku gier, które wymagały tylko dwóch przycisków, mogłem oczywiście użyć 4-przyciskowej płytki drukowanej w tych grach; jednak grając w te gry, człowiek staje się dość fizyczny. Używam więc oddzielnych zespołów przycisków typu nurnik, wykonanych z kawałka plastikowej rurki pokrytej rączką rowerową i dużym przyciskiem.

Części przycisków typu nurnikowego:

  • Rura ściekowa 1/2", odejście tryskacza lub PVC (sklep ze sprzętem)
  • Uchwyt rowerowy (Walmart)
  • Duże przyciski (eBay)
  • 2 rezystory

Aby zachować kompatybilność, jeden przycisk jest połączony szeregowo z rezystorem 75 omów, a drugi ma szeregowo 36-39 omów; tak, że oprogramowanie będzie je widziało odpowiednio jako Btn1 i Btn4.

Możesz użyć rurki z, powiedzmy, wyrzuconej rączki miotły lub ściągaczki.

Można nawet zrobić adapter, do którego można podłączyć stare dżojstiki konsoli do gier; mieć swoje przyciski ognia jako Btn1 i Btn4 dla drugiego, jednocześnie dzieląc Btn1-4 przechodząc do przycisków nawigacyjnych joysticków.

Kwiecień 2018: Teraz wolę używać łączników kompresyjnych 5/8 jako korpusu do zewnętrznych guzików z tłokiem. Duże guziki (z dodaną niewielką taśmą na nitce) idealnie do nich pasują i bardzo ładnie trzymają się w dłoni. dzieci lubią używać pary tych, dodałem kilka zestawów kołków nagłówka, aby łatwo podłączyć jeden zewnętrzny przycisk ręczny przez styki Bnt1 i jeden dla Btn4.

Krok 6: Aktualizacje

Aktualizacje
Aktualizacje

Zrobiłem wydrukowaną w 3D obudowę konsoli, w której mieści się wyświetlacz drabinkowy LED In-Line i przyciski.

Połączyłem 12 gier, które do tej pory stworzyłem, na ten 12 wyświetlacz LED, w jeden szkic „Menu_12Gry”. To oprogramowanie wymaga sprzętu tego projektu zaimplementowanego z 32KB flash MCU (np. Nano lub Uno) i 5 przycisków, 4 główne + FncKey.

Menu wyboru jest teraz dwupoziomowe; najpierw wybierasz 1 z 4 grup gier, a następnie grę 1-4 w tej grupie, … jak podano poniżej. Podczas oczekiwania na wybór wyświetla okresowe skanowanie R-Y-G-B, naciskasz Btn1-4 jako wybór w dowolnym momencie, nie ma znaczenia, co jest wyświetlane po naciśnięciu wyboru. Podczas wyboru „grupy” wszystkie diody świecą przynajmniej częściowo podczas skanowania RYGB. Aby wyjść z dowolnej gry lub cofnąć się z „gry” do wyboru „grupy”, naciśnij FncKey-Btn1.

Jeszcze nie zakodowałem finałowej 4. Mam 3 napisane (w tym 'LeMans'). Nie wymyśliłem, jaki byłby ostatni mecz. Prześlij mi wszelkie pomysły.

Aktualizacja 25 stycznia 17:Dla tych z was, którzy mają dostęp do drukarki 3D, może zainteresować się obudowa konsoli do gier, którą zrobiłem dla mojego urządzenia: https://www.instructables.com/id/3D-Printed-Case- dla-Inline-LED-Display-Konsola-i/

Aktualizacja 17 lutego 17: Dodałem ostatnie 4 gry, które są teraz dostępne jako „Menu_16Games.ino” w „Krok 7: Aktualizacja, więcej gier” w Instructable: Single-Line-LED-Display-Games (Menu_12Games.ino jest teraz nieistniejący)

Gra grupowa: 1– Czerwony 2 – Żółty 3 – Zielony 4 – Niebieski

1 czerwony PushIt PingPong ShootEmUp JumpMan 2 Yel QuickDraw Tug_a_War Chicken Hot_Hands 3 Grn Le_Mans Spray PIG BiFunc 4 Blu SimonSays Whack_Mole Sea_Hunt Flip_d

Zalecana: