Gra elektroniczna Snake

Gra elektroniczna Snake
Pobierz PDF Download icon

Niegdyś budowanie konsol do gier było zarezerwowane tylko dla potentatów branży rozrywki. Wymagało bowiem użycia podzespołów, które albo były niedostępne dla przeciętnego użytkownika, albo podzespoły i/lub oprogramowanie niezbędne do wykonania urządzenia tego typu były koszmarnie drogie przy zakupie do celów pojedynczego projektu. Współcześnie każdy elektronik konstruktor, który zna się na programowaniu i aplikacjach mikrokontrolerów i ma pomysł na grę elektroniczną, może sam zbudować własną „konsolę” do gier z komponentów, które są niedrogie i powszechnie dostępne. Rekomendacje: Konsola jest jednocześnie tanią platformą do realizacji własnych pomysłów – nic nie stoi na przeszkodzie, aby samodzielnie zaprogramować inną grę i podzielić się jej implementacją na łamach EP lub na naszym forum.

Podstawowe parametry:
  • Mikrokontroler ATmega8A, wyświetlacz z kontrolerem PCD8544.
  • Zasilanie 5…9 V DC/maks. 100 mA.
  • Interfejs użytkownika złożony z wyświetlacza i 5 przycisków.
  • Platforma, która może być użyta również do innych zastosowań.
  • Programowanie za pomocą 6-pinowego złącza ISP.

Schemat ideowy elektronicznej gry „Snake” pokazano na rysunku 1. Jak można zauważyć, jest to nieskomplikowane urządzenie zbudowane z użyciem mikrokontrolera ATmega8, wyświetlacza graficznego ze sterownikiem PCD8544 (znanym z telefonów komórkowych) oraz 5 przycisków wraz z wyświetlaczem pełniących funkcję interfejsu użytkownika. Za ich pomocą sterujemy wężem „pełzającym” na wyświetlaczu. Naszym celem jest „zjadanie” owoców, od których – co naturalne – wąż rośnie. Trzeba jednocześnie uważać, aby nie zjeść przy tym własnego ogona, bo od tego wąż „umiera”. Jedynym przeciwnikiem węża są jego rozmiary, ponieważ może on bezproblemowo uciekać poza ekran wyświetlacza. Trzeb jednak mieć przy tym na uwadze, że jednocześnie głowa węża pojawi się po przeciwnej stronie i uważać, aby wąż nie „zjadł” przez to własnego ogona.

Rysunek 1. Schemat ideowy gry elektronicznej Snake

Zasada działania

Po uruchomieniu urządzenia wyświetla się ekran startowy z logo gry i animacją węża machającego ogonem i mrugającego do nas. Zabawa zaczyna się po wciśnięciu przycisku „OK”, który ma drugą funkcję – uruchamia grę oraz włącza w trakcie jej działania.

Po uruchomieniu gry na wyświetlaczu jest pokazywany jedynie wąż i owoc, który musimy „zjeść”. W przypadku zderzenia się z częścią naszego węża przegrywamy – ekran miga kilkakrotnie i przechodzi do animacji startowej.

Pole gry jest podzielone na „segmenty” o wymiarach 6×6 pikseli. Wyświetlacz ma rozdzielczość 84×48 piksele, więc mamy 14 segmentów w poziomie i 8 w pionie. Dlatego też nasz wąż może maksymalnie składać się ze 112 segmentów. Jeśli uda nam się do tego doprowadzić, a nie jest to wcale łatwym zadaniem, to taki wąż zapełni cały ekran i gra się zakończy.

Program podzielono na sekcje: obsługi przycisków, logiki gry oraz wyświetlania. Rozmiar planszy, po której porusza się wąż, wielkość segmentów – wszystko jest definiowane za pomocą makr, dzięki czemu można przenieść grę na inną platformę, zmieniając jedynie funkcje związane z obsługą wyświetlania.

Można pokusić się o uruchomienie tego np. na kolorowym wyświetlaczu z różnymi obrazkami, zamiast pikselowych segmentów.

Inne wykorzystanie układu

Mimo że na płytce przewidziano miejsce dla rezonatora kwarcowego o częstotliwości 16 MHz, to zrobiono to niejako „na wyrost”, dla potrzeb innych gier lub innych aplikacji, na przykład, przy użyciu płytki w roli zestawu uruchomieniowego lub testowego. Z tego samego powodu dodano również złącze JP1, na którym są wyprowadzone nieużywane piny mikrokontrolera. Ułatwia to zastosowanie urządzenia jako bazy do innych projektów wykorzystujących wyświetlacz graficzny oraz przyciski. Może to być panel do sterowania jakimś innym urządzeniem.

Opisywany program działa przy użyciu taktowania rdzenia za pomocą wbudowanego oscylatora RC o częstotliwości 8 MHz – większa częstotliwość taktowania nie jest potrzebna.

Montaż i uruchomienie

Schemat montażowy gry elektronicznej „Snake” zamieszczono na rysunku 2. Montaż jest typowy i nie powinien nastręczać większych trudności. Problematyczne może być jedynie przylutowanie mikrokontrolera ATmega mającego obudowę TQFP32. Wyprowadzenia – piny wyświetlacza należy lutować po jego zamontowaniu. Jeśli zrobimy to wcześniej, to jest duże prawdopodobieństwo, że zrobimy to krzywo, a wyświetlacz nie będzie pasował idealnie do tulei dystansowych na płytce.

Rysunek 2. Schemat montażowy gry elektronicznej Snake

W handlu są dostępne różne wersje wyświetlaczy z kontrolerem PCD8544. Przed zakupem warto sprawdzić kolejność wyprowadzeń, czy jest ona zgodna ze schematem.

Do programowania jest używane 6-pinowe AVR-ISP, zgodne ze standardem wprowadzonym przez Atmela. Aby zmienić oprogramowanie lub samodzielnie zaprogramować mikrokontroler, musimy mieć także programator zgodny ze standardem CMOS 3,3 V, aby nie uszkodzić wyświetlacza. Wyprowadzenia do komunikacji są współdzielone z programatorem. Jeśli dysponujemy programatorem pracującym poprawnie jedynie przy napięciu 5 V, to na czas programowania należy odłączyć zasilanie za pomocą USB oraz wyjąć wyświetlacz. Sam mikrokontroler może pracować zarówno przy zasilaniu napięciem 5 V, jak i 3,3 V.

Przemek Michalak
thedambo1@gmail.com

Wykaz elementów:
Rezystory: (SMD 0805)
  • R1: 10 kΩ
Kondensatory:
  • C1, C9: 22 µF (SMD „A”)
  • C2, C4, C10: 100 nF (SMD 0805)
  • C5, C6: 22 pF (SMD 0805)
  • C8: 220 µF (SMD „C”)
Półprzewodniki:
  • IC1: ATmega8A (TQFP32)
  • IC2: LM1117-3.3
Pozostałe:
  • Q1: 16 MHz (rezonator kwarcowy – opis w tekście)
  • CN1: gniazdo USB micro
  • JP2: złącze kątowe goldpin męskie 2×3
  • JP1: złącze kątowe goldpin męskie 2×5
  • Listwa bez oznaczenia: listwa goldpin żeńska 1×8
  • 4 słupki dystansowe M2/12
  • RESET, UP, DOWN, LEFT, RIGHT, OK – przyciski TACT
  • Wyświetlacz z kontrolerem PCD8544
ZOBACZ WIDEO DO TEGO PROJEKTU
AVT5554 - Gra elektroniczna SNAKE
Play btn
AVT5554 - Gra elektroniczna SNAKE
Artykuł ukazał się w
Elektronika Praktyczna
listopad 2016
DO POBRANIA
Pobierz PDF Download icon
Materiały dodatkowe
KIT do tego projektu
Gra elektroniczna SNAKE, AVT5554
Gra elektroniczna SNAKE, AVT5554
Gra „Snake” jest to nieskomplikowane urządzenie zbudowane z użyciem mikrokontrolera ATmega8, wyświetlacza graficznego ze sterownikiem PCD8544...
Zobacz w sklepie

Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik kwiecień 2024

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio marzec - kwiecień 2024

Świat Radio

Magazyn krótkofalowców i amatorów CB

Automatyka, Podzespoły, Aplikacje kwiecień 2024

Automatyka, Podzespoły, Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna kwiecień 2024

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Elektronika dla Wszystkich maj 2024

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów