Raport z projektu

Transkrypt

Raport z projektu
Raport z projektu
„Kontroler do gry MaSZyna”
Autor: Paweł Reszka
Wrocław, 15 listopada 2016
`
Spis treści
1.
Wstęp ............................................................................................................................................... 3
1.
Opis działania urządzenia ................................................................................................................ 3
2.
Przetwarzanie danych ...................................................................................................................... 4
2
`
1. Wstęp
Czy kiedykolwiek jadąc pociągiem, myślałeś jak to jest kierować lokomotywą? Używając
kontrolera i symulatora przedstawionego poniżej, możesz poczuć się jak prawdziwy
maszynista!
Kontroler został zbudowany w celu ułatwieniu sterowania lokomotywą w grze MaSZyna.
Gra jest symulatorem pojazdów szynowych stworzonym przez fanów. Obecnie, gracz
ma możliwość być maszynistą ponad 40 modeli lokomotyw obecnych na polskich torach.
W celu sterowania poszczególnymi parametrami danego modelu należy użyć klawiatury
komputera. Opracowany Kontroler ma na celu jej zastąpienie oraz ułatwienie sterowaniem
poszczególnych lokomotyw.
Do działania symulatora wykorzystywane jest oprogramowanie LabVIEW z bibliotekami
do Arduino od LINX. Część sprzętową wykonano z użyciem modułu Arduino Mega.
1. Opis działania urządzenia
Do zbudowania kontrolera potrzebne są: przewody, płytka, przyciski, przełączniki,
przełączniki sprężynujące oraz obudowa do montażu wymienionych elementów.
Podłączenie przycisków:
Jedną końcówkę przycisku należy podłączyć do zasilania z Arduino, a drugą końcówkę
do wejścia cyfrowego. Sposób podłączenia pokazano na Rys. 1.
Rys. 1: Sposób podłączenia przycisków, przełącznika i przełącznika sprężynującego
3
`
Po podłączeniu wszystkich przewodów do portów cyfrowych, czas przejść do programowania.
Potrzebne są oddzielnie instalowane biblioteki Arduino do LabView, od LINX’a.
Rys. 2: Sterowanie wybraną przez użytkownika lokomotywą za pomocą Kontrolera (po lewej), sam Kontroler (po prawej)
2. Przetwarzanie danych
LabVIEW jest wykorzystywane jako pośrednik pomiędzy Kontrolerem, a komputerem.
Z Arduino odczytywane są informacje o zmianie wartości logicznej (z „0” na „1”)
na poszczególnych przyciskach – dzięki temu wiadomo, czy przycisk został wciśnięty.
Dane te są przekazywane za pośrednictwem tablicy do pętli for, przy użyciu której sprawdza
się, który przycisk został wciśnięty („jedynka logiczna”). Dla każdego przycisku jest
przygotowany odpowiedni stan w strukturze case (ang. Case Structure). Przy użyciu subVI,
„jedynka logiczna” zamieniana jest z wykorzystaniem biblioteki user32.dll na odpowiedni
przycisk na klawiaturze (za pomocą której gra MaSZyna obsługiwana jest tradycyjnie).
Dodatkowo zostało zaprojektowane zabezpieczenie, dzięki którego zmiana stanu przycisku
jest odczytywana tylko raz podczas pojedynczego wciśnięcia. Dzięki temu, wciśnięcie
przycisku nie jest analizowane jako ciąg wciśnięć, a jako pojedyncza zmiana stanu.
Każda zmiana stanu na przycisku interpretowana jest jako naciśnięcie klawisza
na klawiaturze.
4
`
Rys. 3: Graficzny opis działania Kontrolera
Rys. 4: Fragment kodu wraz z opisem poszczególnych elementów
Działanie opracowanego Kontrolera z symulatorem MaSZyna można zobaczyć pod adresem:
https://youtu.be/jn6-ndpAjCc
5

Podobne dokumenty