[PROJEKT] Gra Snake na STM32F429I-DISC1

W artykule przedstawiamy implementację projektu, który zaciekawi wielu czytelników pamiętających stare telefony komórkowe: jest to gra Snake zaimplementowana na płytce STM32F429I-DISC1.

Do uruchomienia gry potrzebne są:

Fot. 1. Zestaw STM32F429I-DISC1

STM32F429I-DISC1 to znany i popularny zestaw deweloperski z mikrokontrolerem STM32F429ZIT6. Oprócz niego na płytce znajdują się także m.in. 3-osiowy żyroskop, wyświetlacz LCD o przekątnej 2,4″ oraz interfejs USB OTG. Z dwóch ostatnich elementów korzystać będzie implementacja gry Snake napisana przez Tilena Majerle i opublikowana na stronie stm32f4-discovery.net. Na stronie znajduje się opis gry w języku angielskim oraz kod projektu (W przypadku problemów ze stroną paczkę z kodem można znaleźć też w sekcji „do pobrania”). W paczce (oprócz niezbędnych bibliotek) znajduje się kod projektu w formie przygotowanej do edycji w środowisku Keil μVision oraz plik binarny w formacie .hex, który można bezpośrednio załadować do pamięci mikrokontrolera.

Uwaga. Kod programu przekracza ograniczenie darmowej wersji środowiska Keil μvision. Aby załadować program na płytkę bezpośrednio ze środowiska, konieczne jest posiadanie pełnej wersji.

W celu zaprogramowania mikrokontrolera, należy ściągnąć program STM32 ST-Link utility (wymagana rejestracja). Po uprzednim podłączeniu płytki do komputera (za pomocą przewodu MiniUSB – USB), trzeba połączyć się z urządzeniem. W tym celu należy nacisnąć przycisk connect to the target z czarną wtyczką (czerwona ramka – rysunek 1). Jeśli płytka jest podłączona, pokaże się tabela z bajtami, które aktualnie wypełniają pamięć. W przeciwnym wypadku program zgłosi błąd. Aby wgrać kod binarny z projektem należy z menu Target wybrać program (niebieska ramka – rysunek 1).

Rys. 2. Obsługa programu STM32 ST-Link Utility

W nowo otwartym oknie w polu FilePath należy znaleźć (lub wpisać) ścieżkę do pliku .hex. Aby rozpocząć wgrywanie programu należy nacisnąć przycisk Start.

Rys. 3. Obsługa programu STM32 ST-Link Utility – wskazanie pliku hex

Gra sterowana jest za pomocą klawiatury USB, którą należy podłączyć do płytki przez przejściówkę. Gdy klawiatura jest podłączona i system zauważa jej obecność, świeci się zielona dioda (LD3). Następujące przyciski odpowiadają za sterowanie:

  • ’w’, ’a’, ’s’, ’d’: ruch węża
  • ’r’: reset gry
  • ’m’: zmiana trybu gry (możliwość „przenikania” węża przez ściany lub jej brak)
  • ’u’, 'i’: zmiana szybkości poruszania się węża
  • ’p’: zatrzymuje grę

Działanie gry zostało zaprezentowane na poniższym wideo:

Do pobrania

O autorze