Mini projekt: Andrzejkowa zabawa w wersji na Teensy
Hej! 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
- Teensy
- Ekran 16×2 z konwerterem I2C lub sam konwerter (opcjonalnie), jeżeli mamy już ekran bez niego.
- 2 przyciski
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:
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.
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.