Mini projekt: Andrzejkowa zabawa w wersji na Teensy

img_4889Hej! Już za kilka dni będziemy świętowali Andrzejki, a w związku z tym nie ominą nas przeróżne andrzejkowe zabawy i wróżby takie jak lanie wosku przez oczko od klucza, przebijanie kartek z imionami czy np. układanie butów od ściany do progu drzwi. Spróbujmy więc zrealizować tę ostatnią zabawę w wersji cyfrowej jako luźny projekt w klimatach zbliżającego się święta.

Potrzebne części

Podłączenie

Dzięki konwerterowi I2C podłączenie ekranu staje się bajecznie proste. Wystarczą nam do tego jedynie 2 piny magistrali (zegar + dane) oraz 2 piny zasilające (+5V oraz masa).

Już kiedyś opisywaliśmy jak podłączyć taki konwerter do Arduino. Dzięki temu, że autor Teensy zadbał o kompatybilność z Arduino robimy to dokładnie tak samo :) Jedyną różnicą jest rozmieszczenie pinów. W przypadku Teensy konwerter podłączamy do pinów 18 i 19 (są to kolejno SDA i SCL). Zasilanie podłączamy do pinów GND i Vin (pod Vin będzie 5V, jeżeli zasilamy płytkę z USB). Rozpiska pinów w Teensy 3.2 wygląda tak:

 

Teensy 3.2 piny
Teensy 3.2 piny

Do tego podłączamy jeszcze 2 przyciski. Jedną nóżkę przycisków podłączamy do masy, a drugą do pinów np. 12 i 14. Przy takiej konfiguracji (bez rezystora podciągającego) musimy pamiętać, aby ustawić oba wejścia jako INPUT_PULLUP.

Kod

Cały kod dostępny jest do pobrania tutaj.

Pozwolę sobie omówić kilka fragmentów kodu. Używamy tutaj biblioteki do obsługi wyświetlacza oraz klasy Bounce, którą omawiałem już wcześniej przy okazji artykułu o straszaku na halloween. Podczas pierwszego wciśnięcia przycisku nowej gry generujemy ziarno funkcji rand() na podstawie liczby mikrosekund od uruchomienia kontrolera. Jest to dostatecznie unikalna wartość jak dla naszego prostego projektu. Następnie za każdym wciśnięciem przycisku losujemy pozycję „progu”, czyścimy ekran i rysujemy nasz próg.

Od momentu rozpoczęcia gry możemy wciskać przycisk trigger, symulujący dostawienie kolejnego buta. Jak wiadomo czyj but pierwszy dojdzie do progu ten jako pierwszy zmieni swój stan cywilny.

Czas na testy :)

Po zmontowaniu układu całość prezentuje się tak.

img_4888
img_4891

Obsługa urządzenia jest równie prosta jak kod, który nim steruje. Jest to bardzo prosty projekt, który idealnie sprawdzi się jeżeli mamy np. młodszego brata, siostrę lub własne dziecko, które chcielibyśmy zarazić bakcylem majsterkowania, programowania i tworzenia różnych ciekawych rzeczy samemu.