Spisu treści:
Wideo: Octarine: gra w dopasowywanie kolorów z diodami LED RGB WS2812: 6 kroków
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
Oktaryn, kolor magii. Była żywa i jarzyła się wibrująco i była niekwestionowanym pigmentem wyobraźni, bo gdziekolwiek się pojawiła, była znakiem, że zwykła materia była sługą mocy magicznego umysłu. To było samo zaklęcie.
Ale Rincewind zawsze uważał, że wygląda trochę zielonkawo-fioletowo.
- Terry Pratchett - Kolor magii
Wszystkie kolory są zaczarowane i trzeba je uwalniać jeden po drugim. Trzy magiczne zaklęcia pomogą ci w twoim dążeniu.
PS W tym projekcie intensywnie wykorzystuję operatory binarne i maski binarne, dzięki czemu mogą być wykorzystywane przez nauczycieli informatyki do nauczania logiki Boole'a w zabawny sposób.
Kieszonkowe dzieci
1x Arduino Nano/Uno lub inna kompatybilna płytka. Projekt faktycznie wykorzystuje 5 pinów cyfrowych i mniej niż 6 KB pamięci. Płyta oparta na Attiny85 również powinna działać dobrze.
4x dotykowe przyciski. Jeśli wolisz, możesz zamiast tego użyć przycisków czujnika.
1x taśma lub listwa LED WS2812 z 8 sterowanymi diodami LED RGB.
1x płytka prototypowa lub płytka prototypowa PCB, jeśli wolisz.
Przewody połączeniowe płyty chlebowej.
Krok 1: Zasady gry
Interfejs gry zawiera 8 diod LED RGB. Celem jest, aby wszystkie lśniły tym samym kolorem. Jest czerwony w pierwszym „świecie”, pomarańczowy w drugim, żółty w trzecim itd.
Istnieją 3 główne przyciski. Każda z nich zmienia kolory czterech diod zgodnie z maską binarną. Np. pierwszy przycisk ma maskę 11110000. Oznacza to, że zmienia kolory pierwszych czterech diod. Istnieje również przycisk „Shift”, który odwraca maskę. Jeśli gracz naciśnie Shift+Pierwszy przycisk, maska będzie miała wartość 00001111 i wpłynie to na cztery ostatnie diody LED. Kolory zmieniają się cyklicznie.
Załączony obrazek opisuje wszystkie maski.
Krok 2: Projektowanie poziomów
Gra składa się z „światów” po osiem podpoziomów każdy. Pierwszy świat to „czerwony”, a wszystkie diody LED tutaj mogą być tylko w dwóch stanach: pustym i czerwonym. Na każdym podpoziomie stosuje się więcej kroków tasowania, więc trudność wzrasta stopniowo. Kiedy mijasz świat (tj. wszystkie podpoziomy), ratujesz następny kolor. Tak więc w drugim („pomarańczowym”) świecie wszystkie diody LED mają trzy stany: puste, czerwone i pomarańczowe. Oznacza to, że każdy następny świat jest trudniejszy niż poprzedni.
Co dzieje się w ósmym („oktarynowym”) świecie… cóż… czysta magia.
Krok 3: Obwód
Zależy to od konkretnej płytki, której używasz, ale zdecydowanie polecam użycie zewnętrznego zasilacza dla diod LED.
Użyłem pinów 2, 3, 4 i 5 do przycisków. Jeśli używasz innego mikrokontrolera lub pinów nie zapomnij o jego modyfikacji w kodzie programu.
Krok 4: Kodeks
Tutaj możesz znaleźć najnowszą wersję kodu źródłowego.
Krok 5: Testowanie
Krok 6: Co dalej?
Być może zauważyłeś, że gra w rzeczywistości nie ma ósmego (oktarynowego) świata. Została wykonana celowo. Magia… nie jest czymś, co ma być dokładnie odtworzone.
Zachęcam do budowania własnego ósmego świata. Na przykład, możesz zmusić gracza do ułożenia tablicy w kolorach tęczy zamiast monochromatycznego lub zaimplementować komórki ze zmieniającymi się kolorami. To zależy od Ciebie. Czyń swoją magię na swój własny sposób.