Projekt wprowadzający Tester umiejętności z wykorzystaniem zestawu ewaluacyjnego EVK1100

Podobne dokumenty
Mikrokontrolery wytyczne do projektów

MIKROKONTROLERY ARM DOKUMENTACJA WSTĘPNA PROJEKTU GRA PONG

DOKUMENTACJA PROJEKTU

WEJŚCIE W TRYB PROGRAMOWANIA

unikupon.pl Unikupon ME 4 Instrukcja obsługi

ARRIS VIP Copyright 2015 Grupa MULTIPLAY.

Kl-1-3 Szkoła Podstawowa

Zajęcia z aplikacją ScratchJr mogą zostać przeprowadzone na dwa sposoby:

D O K U M E N T A C J A

INSTRUKCJA MONTAŻU I OBSŁUGI PRZENOŚNEGO PANELU KONTROLUJĄCEGO

Podstawy programowania, Poniedziałek , 8-10 Projekt, część 3

Widok programatora PonyProgUSB wersja 1.0 oraz jego elementy przedstawiono na poniższym rysunku.

LITEcompLPC1114. Zestaw ewaluacyjny z mikrokontrolerem LPC1114 (Cortex-M0) Sponsorzy:

Zestaw uruchomieniowy z mikrokontrolerem LPC1114 i wbudowanym programatorem ISP

Wyłącznik czasowy GAO EMT757

unikupon.pl Unikupon MD Instrukcja obsługi

Politechnika Białostocka

Instrukcja obsługi Twin1 ISR

W przypadku pojawienia się pytań, nasz zespół pozostaje do Państwa dyspozycji. Zapraszamy do kontaktu.

STARTER SEED V4.0 INSTRUKCJA OBSŁUGI

Warsztaty dla nauczycieli

Instrukcja ręcznej konfiguracji połączenia z Internetem przez. modem ED77 w systemie Windows XP

Model: JMC-03_V2.2_RNS510 TV DVB-T for CAR INSTRUKCJA OBSŁUGI RNS 510. Spis treści

Informacje o członkach WSRM na

1 Czytnik E-Booków 2 Pokrowiec ochronny 3 Słuchawki 4 Kabel USB 5 Skrócona instrukcja 6 Karta gwarancyjna. Zmniejszanie głośności

Rejestrator danych Log 10, TFA, zakres -30 do +60 C

SYSTEM DO TESTÓW INSTRUKCJA OBSŁUGI

WOPZ Wieloaspektowa Ocena Preferencji Zawodowych instrukcja dla doradcy

1. Wprowadzenie Programowanie mikrokontrolerów Sprzęt i oprogramowanie... 33

dokument DOK wersja 1.0

INSTRUKACJA UŻYTKOWANIA

1) Naciśnij i przytrzymaj przez 2 sekundy ikonę z menu głównego, następnie naciśnij Potwierdź.

EU Trek Podróż pełna odkryć. Jak grać

Instrukcja obsługi programatora AVR Prog USB v2

Instrukcja użytkowania. Ładowanie urządzenia

Instrukcja instalacji i obsługi modemu ED77 pod systemem operacyjnym Windows 98 SE (wydanie drugie)

1. INSTRUKCJA OBSŁUGI WYŚWIETLACZA LCD C600E USB

Smart bracelet Instrukcja obłsugi(pl)

Robo - instrukcja obsługi

Regulator klimakonwektorów FC600

1. Opis okna podstawowego programu TPrezenter.

INSTRUKCJA DO GRY TRAIN DRIVER 2

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Rodzaje transmisji danych

INSTRUKCJA OBSŁUGI DO WYSWIETLACZA LCD C600

Instrukcja obsługi ekranu dotykowego ruchome dno (tryb MANAGER)

Instrukcja obsługi programatora AVR Prog USB v2

POMIARY WIDEO W PROGRAMIE COACH 5

EasyLink. Instrukcja obsługi. Sterownik klawiatury brajlowskiej pod Windows wersja 1.2. Poznań, Sierpień 2009 r.

Laboratorium Napędu robotów

Notowania Mobilne wersja Java

Spis treści 1. Wstęp Logowanie Główny interfejs aplikacji Ogólny opis interfejsu Poruszanie się po mapie...

Instrukcja obsługi programatora AVR Prog USB v2

GreenPro Cash i urządzenia parkingowe

ARRIS VIP Copyright 2015 Grupa MULTIPLAY.

Spadające jabłuszka. licencja CC-BY-SA Uznanie autorstwa Na tych samych warunkach 3.0 Polska. Strona 51

1 Warta Mobile Manual

1. Wstęp Niniejszy dokument jest instrukcją użytkownika dla aplikacji internetowej DM TrackMan.

Przycisk wybierania opcji Przycisk potwierdzenia programowania/przycisk kontroli ustawień Przycisk ustawień godziny ENTER/TEST PANEL OPERACYJNY

SET ENTER/TEST HOUR MIN MONTH DEMO PROGRAM DAY

Technika mikroprocesorowa. Konsola do gier

Instrukcja instalacji dla esam PDA

Generowania certyfikatu niekwalifikowanego. do podpisu elektronicznego. dla klientów instytucjonalnych

edycja szablonu za pomocą serwisu allegro.pl

ZL8AVR. Płyta bazowa dla modułów dipavr

Instrukcja obsługi programatora AVR Prog USB v2

Instrukcja Obsługi GigaNagrywarki. Instrukcja obsługi GigaNagrywarki

Obsługa programów diagnostycznych pralek Electrolux dla wersji EWM1000plus, EWM2000evo, EWM3000new

Instrukcja obsługi ekranu dotykowego - ruchome dno (tryb UŻYTKOWNIK)

PRUS. projekt dokumentacja końcowa

OPIS PROGRAMU USTAWIANIA NADAJNIKA TA105

Strzelanka dla dwóch graczy

Skróty klawiaturowe w PowerPoint

Kodu z klasą. Skarb w zatrutej wodzie, cz. 2. Scenariusz 6

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

INSTRUKCJA UŻYTKOWANIA CZYTNIKA KART PROCESOROWYCH SYGNET 5v1 IU SY5

Programowanie genetyczne, gra SNAKE

Programator procesorów rodziny AVR AVR-T910

AKTUALIZACJA RĘCZNA TRYB OFFLINE (Przykład: WINDOWS 7-32 bits):

Projektor DLP Coolux X6

INSTRUKCJA OBSŁUGI MIERNIKA GRUBOŚCI LAKIERU MGL2 AL <> FE

ZL15AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega32

INSTRUKCJA OBSŁUGI MIERNIKA GRUBOŚCI LAKIERU MGL4 AUTO AL <> FE

Luksomierz Extech HD-400, Lux, USB

STM32Butterfly2. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

TL2200QVP. Instrukcja obsługi regulatora ściegów

1 Warta Mobile Manual

STM32 Butterfly. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

PROGRAMOWALNA CZUJKA TEMPERATURY td-1_pl 01/13

Przewodnik instalacji i rejestracji ASN RadioOS

Wprowadzenie do programowania urządzeń Arduino (Arduino dla Informatyków)

Wideoboroskop AX-B250

Prezentacja multimedialna MS PowerPoint 2010 (podstawy)

Opis klawiatury komputerowej

Instrukcja aktualizacji Mu-so

1722/85 I 1722/86 INSTRUKCJA UŻYTKOWNIKA. Panel MIKRA i monitory głośnomówiące CXMODO. Nr ref. 1722/85 Nr ref. 1722/86 INSTRUKCJA UŻYTKOWNIKA

Zawartość opakowania. Lista terminologii. Powerline Adapter

SZCZECIN Telefon:

ZL29ARM. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

MONITOR SMILE VDS BASIC. comodín (przycisk uniwersalny)

Transkrypt:

Projekt wprowadzający Tester umiejętności z wykorzystaniem zestawu ewaluacyjnego EVK1100 Ryszard Kurka AiR sem. 5, 2016/2017

1. Cele projektu Głównym celem projektu było zaimplementowanie trzech testów na płytce EVK1100: Test 1 - Użytkownik ma na celu powtórzyć sekwencję zapalanych diod wykorzystując zestaw przycisków. Test 2 - Test którego głównym zadaniem jest sprawdzenie refleksu użytkownika. Ma on na celu wciśnięcie przycisku odpowiadającego aktualnie zapalonej diodzie. Test 3 - Klasyczna gra "Wąż" wykorzystująca ekran LCD oraz joystick. EVK1100 jest to zestaw ewaluacyjny firmy Atmel z mikrokontrolerem AT32UC3A1512 z rodziny AVR32. EVK1100 jest wyposażona w: port Ethernet, czujnik temperatury, światła, potencjometr, szeroką gamę interfejsów (JTAG, USART, Nexus, USB 2.0. TWI, SPI), czytnik kart SD, 3 przyciski, joystick oraz wyświetlacz LCD 4x20. Do wykonania projektu zostało wykorzystane środowisko programistyczne Atmel Studio oraz programator JTAGICE3 firmy Atmel. Zdjęcie 1 EVK1100

2.Wykonanie projektu Wykonany projekt zawierał wszystkie trzy testy będące celem projektu oraz samouczka będącego krótką instrukcją gry do testów 1 oraz 2. W przypadku gry węża samouczek poza instrukcjami i zasadami gry umożliwia zubożoną wersję gry umożliwiającą użytkownikowi zapoznanie się ze sterowaniem. 2.1 Test 1 Test pierwszy w wersji finalnej nazwany "Game Sequence" jest udoskonaloną wersją testu który miał być wstępnie zaimplementowany. W przypadku wykonanej "gry" długość sekwencji zapalających się diod rośnie wraz z "poziomem" jaki osiągnął gracz (co dwa poziomy sekwencja wydłuża się o jedną diodę). Zmianie ulega także ilość diod LED podlegających pod sekwencję. Przez poziom 1 i 2 zapalają się tylko pierwsze dwie diody od lewej, przez poziomy od 3 do 6 zapalają się pierwsze 3 diody od lewej, dla poziomów 7 i wyższych zapalają się 4 pierwsze diody od lewej. W przypadku gry "sekwencje" gracz nie może wygrać - nie jest określony maksymalny poziom po którym gra kończy się zwycięstwem. Gracz może jedynie prędzej czy później przegrać. Dodatkowe funkcje zaimplementowane w tym teście to przewidywany maksymalny czas na ruch gracza. W przypadku w którym gracz nie wcisnął żadnego przycisku w przeciągu 5 sekund następuje automatyczna przegrana i powrót do menu głównego. Następnymi dodatkowymi funkcjami jest wyświetlanie się napisu "LEVEL UP" oraz "YOU LOSE" które przelatują przez ekran LCD. Pojawiają się one kolejno w momentach przejścia poziomu i przegrania gry. Funkcją dodatkową jest wyświetlanie się numeru aktualnego poziomu na wyświetlaczu podczas migania diod oraz oczekiwania na ruch gracza. Ważną cechą gry sekwencja, dodatkowo utrudniającą graczowi grę, jest losowe generowanie sekwencji migania diod LED dla każdego kolejnego poziomu. Uniemożliwia to przechodzenie gry "na pamięć". 2.2 Test 2 Druga gra nazwana "Game Time" polega na przyciskaniu przycisku odpowiadającemu aktualnie świecącej się diodzie LED. Wciśnięcie odpowiedniego przycisku przenosi gracza poziom wyżej co oznacza kolejną diodę zapalaną natychmiastowo dla której gracz ponownie musi wcisnąć odpowiedni przycisk. Gracz na początku gry dostaje 2 sek, każdorazowe zdobycie poziomu zwiększa czas o 300 ms + 1sek/(zdobyty poziom). Należy zaznaczyć że czas cały czas płynie. Z tego względu zalecane jest przejście samouczka przed przystąpieniem do gry "czas" gdyż w większości przypadków pierwsza gra danego gracza kończyła się zanim gracz zorientował się na czym gra polega. Z tego względu przed rozpoczęciem się gry na wyświetlaczu LCD wyświetlają się w odstępach 500 ms kolejno cyfry 3,2,1. W 500 ms po wyświetleniu się cyfry 1 rozpoczyna się gra. Dzięki temu gracz jest w stanie lepiej przygotować się do nieuniknionej porażki. Dzieje się tak ponieważ tak samo jak w przypadku pierwszej gry, gry "czas" gracz nie może wygrać z tego samego powodu - nie został określony maksymalny poziom gry. Tak samo jak w przypadku gry sekwencja gdy gracz przegrywa

przez ekran przelatuje napis "YOU LOSE". W mojej osobistej opinii jest to najtrudniejsza z zaimplementowanych gier (należy jednak zauważyć że gra czas i sekwencja są nieskończenie trudne ze względu na brak możliwości zwycięstwa). 2.3 Gra Wąż Zdecydowanie najciekawszą i najbardziej rozbudowaną grą/testem jest gra "Snake". Gra polega na zjadaniu kropek dzięki czemu nasz "wąż" wydłuża się. Jest to jedyna gra w której gracz ma realną szansę wygrania - wygrywa gracz którego wąż osiągnie długość 80. Czyli wtedy kiedy wąż zajmie cały wyświetlacz. Kłopotliwym lub nie intuicyjnym może okazać się sposób sterowania wężem. Gracz przy użyciu joysticka może jedynie skręcać wężem w prawo lub w lewo z perspektywy węża. Do sterowania wykorzystuje się więc tylko prawy i lewy styk Joysticka. Niedozwolone jest także przechodzenie przez ściany oraz zderzenie węża z samym sobą. Oba przypadki kończą się przegraną użytkownika i wyświetleniem się przelatującego napisu "YOU LOSE". Należy wspomnieć że gra ta, w porównaniu do poprzednich, nie jest specjalnie utrudniona. O ile generowane współrzędne nowych punktów są losowe, tak więc gry nie można przejść na pamięć to prędkość poruszania się węża jest stała przez wszystkie poziomy gry. Gra została specjalnie zabezpieczona przed przypadkiem w którym nowy punkt generowany po zjedzeniu poprzedniego generuje się na współrzędnych zajmowanych przez węża. 2.4 Instrukcja Obsługi Czwartą opcją w menu głównym wyświetlonym na ekranie jest opcja "HOW TO PLAY". Wstępny plan nie zakładał tworzenia takiej opcji. Jednak w przypadku platformy posiadającej 3 różne gry, instrukcja obsługi jest bardzo przydatna. Poruszanie się po całej instrukcji zostało ułatwione poprzez dodanie opcji "BACK" i "NEXT" w okienkach instrukcji. Dzięki temu użytkownik może swobodnie poruszać się po instrukcji. Po wybraniu opcji "How to play" użytkownik zobaczy ekranik kolejno wyświetlonymi napisami: "Game sequence", "Game Time", "Game snake" oraz "Back". Opcja pierwsza i druga są do siebie bardzo podobne. Każda z instrukcji do tych gier składa się z dwóch okienek. W pierwszym gracz może przeczytać na czym polega wybrana gra. W drugim okienku obu instrukcji użytkownik może wcisnąć dowolny przycisk i sprawdzić która dioda odpowiada wybranemu przyciskowi. Opcja "Game Snake" jest najbardziej rozbudowaną instrukcją obsługi. Zawiera ona 5 okienek w których zostają wytłumaczone zasady gry w węża oraz samouczka (opcja samouczka w węża jest dostępna po 5 okienku samouczka pod nazwą "TUTORIAL"). Okienko 6 wyświetlane po wyborze opcji "Tutorial" wyświetla napis "Eat 4 dots", a po 2 sekundach rozpoczyna się samouczek. Samouczek jest zubożoną wersją gry wąż. Wąż może przechodzić przez ściany oraz nie wydłuża się po zjedzeniu kropki. Innymi słowy w przypadku samouczka do gry wąż (odwrotnie jak dla pierwszych dwóch testów) niemożliwa jest przegrana. Wąż ma początkową długość 3 pól ekranu - nie możliwe jest więc zderzenie węża z samym sobą.

W pierwszym okienku instrukcji do gry wąż pod napisem "Eat dots and grow." wyświetlana jest prosta animacja. Waż który porusza się w kierunku kropki, zjada kropkę i wydłuża się o jedne pole ekranu. Animacja zapętla się w nieskończoność. 2.5 Dodatkowe funkcje Dodatkowymi funkcjami ułatwiającymi obsługę urządzenia jest strzałka w menu głównym urządzenia. Wskazuje ona aktualnie wybieraną opcję z menu głównego, oraz instrukcji obsługi. Możliwe jest przewijanie strzałki w dół i w górę (strzałka na dolnej pozycji po użyciu Joysticka w dół pojawia się na górze ekranu i analogicznie w przypadku strzałki na górnej pozycji). Obsługa przycisków oraz Joysticka została zrealizowana przy pomocy przerwań. Zapewnia to natychmiastową reakcję mikrokontrolera na działania użytkownika. Jest to wymagane rozwiązanie w przypadku gier zręcznościowy. Z perspektywy testów których nie da się wygrać wykorzystywanie przerwań jest niepotrzebne. Jednak ze względu na graczy chcących czerpać przyjemność z uczciwego przegrywania, zostało zaimplementowane takowe rozwiązanie problemu. 3. Podsumowanie Zawierający nieco ponad tysiąc linijek własnego kodu program stanowił bardzo dobre wprowadzenie do programowania mikrokontrolerów z rodziny AVR32. Bardzo pomocne w pisaniu oprogramowania okazały się przykłady udostępnione przez firmę Atmel. Ze względu na niezrealizowane pomysły takie jak: dostosowanie jasności ekranu do natężenia światła w pomieszczeniu (wykorzystując czujnik światła), komunikację z komputerem i możliwa gra w testy z poziomu aplikacji na komputerze, wykorzystanie systemu czasu rzeczywistego. Projekt będzie prawdopodobnie rozwijany w przyszłości. Zapraszam do obejrzenia krótkiego filmiku przedstawiającego zrealizowany projekt.