SNAKE na matrycach LED

SNAKE na matrycach LED

Witam wszystkich

Chciałbym przedstawić Wam mój mały projekcik – gra SNAKE na matrycach LED sterowanego za pomocą telefonu z androidem.

Budowa

Do budowy wykorzystałem:

– 4 moduły matryc led ze sterownikiem ( MOD-39 firmy Modułowo)

– moduł Bluetooth MOD-02

– klon arduino z atmegą 328p – ale tylko jako platforma sprzętowa, program jest napisany w czystym C

– ramka do zdjęć RIBBA z IKEI

– folia czerwona dla lepszego efektu

– do sterowania wykorzystuje telefon Samsung trend

 

Aby z 4 matryc utworzyć wyświetlacz 16×16 trzeba je połączyć wg rysunku(widok z przodu):

matryce_polaczenie

Kolejność jest ważna, ponieważ dla innych konfiguracji trzeba będzie modyfikować funkcje wysyłające. Długo myślałem w czym umieścić mój wyświetlacz i przypadkiem wpadła mi w ręce ramka „RIBBA” okazało się, że wycięcie w jej środku idealnie pasuje na 4 matryce. Zamontowałem je w środku dość prymitywną metodą – przy użyciu taśmy klejącej. Stwierdziłem, że tył i tak będzie zamknięty, więc nikogo nie będzie to razić w oczy. Podobnie stwierdziłem odnośnie płytki PCB –gdybym miał ją wytrawiać byłaby tam tylko ATmega z wyprowadzeniami, a i tak wszystko byłoby połączone przewodami, więc wykorzystałem taniego klona arduino. Z przodu za szkłem umieszczamy odpowiednio wycięty kawałem czerwonej folii (może być np od przyciemniania szyb w samochodach). Po zamocowaniu wygląda to tak:

DSCN0736

DSCN0737

Pomijając oczywiste połączenia zasilania i masy do modułów resztę wyprowadzeń łączymy w taki sposób:

PIN MATRYCY PIN ATMEGI PIN ARDUINO
IN PB3 D11
CLK PB5 D13
LOAD PB2 D10
PIN BT
RX PD0 D0

Moduły matryc między sobą szeregowo.

Sterowanie

Do sterowania służy specjalna aplikacja przeznaczona na telefony z androidem napisana w App Inventorze 2. Za pomocą tej platformy można bardzo szybko robić proste i funkcjonalne aplikacje. „Programowanie” tam polega na układaniu bloczków/klocków z funkcjami, więc nikomu nie powinno sprawić jakiś większych trudności. Poniżej wygląd aplikacji:

design

Oraz bloki kodu:

program

Działanie

Po włączeniu zasilania na matrycach pokazuje się obrazek naszego węża. Gra oczekuje na połączenie BT i wciśnięcie przycisku „Nowa Gra”. Po startowej animacji za pomocą strzałek w aplikacji sterujemy głową naszego węża łapiąc migające kropki („owoce”), uważając, aby nie zderzyć się ze swoim ogonem. Możemy też przechodzić przez ściany. Wprowadziłem jedną zmianę względem oryginalnej wersji – nowy owoc nie pojawia się natychmiast po najechaniu na wcześniejszy, wąż ma chwilkę na “zjedzenie go”. Po śmierci ukazuje się krótka animacja i program znów oczekuje na przycisk „Nowa Gra”. W kodzie jest też prosta funkcja która odpowiada za automatyczne chodzenie węża, w mojej wersji jej nie używam, ale może komuś się przyda, aby zamiast obrazka startowego zrobić jakąś animację. To wszystko prezentuje poniższy filmik:

Możemy też połączyć się przez BT w komputerze PC i sterować za pomocą np programu Putty wysyłając odpowiednie znaki (widać je dokładnie w blokach programu).

Chciałbym zaznaczyć, że algorytm gry, który napisałem jest bardzo łatwy do przeniesienia na inne wyświetlacze itp. Domyślnie był uruchomiony na wyświetlaczu z Nokii 3310, potem na kolorowym lcd ze sterownikiem ILI9341 na mikrokontrolerze ARM.

Wyświetlacz matrycowy oferuje ogromne możliwości i w przyszłości zrobię też inne projekty z jego wykorzystaniem.

W załączniku kompletny kod programu na uC, plik .apk do zainstalowania na androidzie oraz plik projektu App Inventora, który można tam importować.

majsterkowo

Pozdrawiam

Ocena: 4.74/5 (głosów: 82)

Podobne posty

9 komentarzy do “SNAKE na matrycach LED

Odpowiedz

anuluj

Masz uwagi?