Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
MetalWorkMetalWork
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Budowa kontrolera do gier z wyświetlaczem na bazie Arduino UNO

26 Jan 2018 18:31 981 4
  • Level 5  
    Witam. Ostatnimi czasy zakupiłem sobie zestaw startowy Arduino z myślą zbudowania na jego podstawie kontrolera do gier z wyświetlaczem (tak jak w tytule). Mam zamiar zbudować go do gry ETS2 oraz Assetto Corsa. W jego skład wchodziłyby:
    - wyświetlacz 7 segmentowy 1 cyfrowy
    - joystick z przyciskiem
    - wyświetlacz tekstowy LCD (dokupię do niego sterownik I2C)
    - 10 przycisków
    - 12 diod LED by sygnalizować jak duże są obroty silnika
    Przeznaczony byłby on do włączania funkcji w grze oraz do podawania informacji z niej na wyświetlaczach. Na wyświetlaczu LCD - prędkość oraz obroty silnika zaś na małym jedno-cyfrowym wyświetlenie biegu który akurat jest używany w tej chwili. Joystick byłby wykorzystany do sterownia kamerą w grze a jego przycisk do jakiejś funkcji tak samo jak i reszta przycisków. Nie jestem jednak pewien czy płytka UNO wystarczy do podłączenia wszystkich tych rzeczy. Jestem dopiero początkujący w tematyce Arduino. Nie proszę o gotowe kody do Arduino albo schematy podłączenia (chociaż mile widziane), ale o ogólne porady jak się za to zabrać lub gdzie szukać informacji/inspiracji :D
    Do you have a problem with Arduino? Ask question. Visit our forum Arduino.
  • MetalWorkMetalWork
  • Level 11  
    Witaj!
    Podzielę się swoimi doświadczeniami w temacie komunikacji mikrokontroler-gra/symulator.
    Jeżeli chcesz posiadać na wyświetlaczu inforamcje dotyczące obrotow, prędkości oraz aktualnego biegu musisz dowiedzieć się czy interesująca Ciebie gra/symulator "udostępnia" powyższe dane. Zaznaczam, że nie znam gier które wymieniłeś, więc rozpoznanie tego tematu pozostawiam Tobie. Jeśli chodzi o kontroler to wydaje mi się, że nie ma co wyważać otwartych drzwi. To możesz zrobić wykorzystując wnętrze jakiegoś starego joysticka. Jeżeli jednak jesteś gotów na kolejne małe wyzwanie, (co się chwali!) polecam zapoznać się z projektem MJoy16. W internecie da się zamówić do tego płytkę, a oprócz tego montaż i uruchomienie jest dokładnie opisane.

    Wracając do głównego tematu - jeżeli program udostępnia żądane przez Ciebie dane- to już 90 % sukcesu. Pozostałe 10% to ich odebranie i zdekodowanie i wysterowanie nimi wyświetlaczy/wskaźników. Po pierwsze musisz dowiedzieć się z jakiego protokołu korzysta gra. Osobiście stworzyłem kiedyś wskaźniki które współdziałały z symulatorem rFactor. Większość gier/symulatorów korzysta z protokołu UDP. Działa to w głębokim skrócie tak, że gra komunikuje się z kontrolerem poprzez sieć. Kontroler wysyła zapytanie w określonej formie na adres IP i port devicelink urządzenia na którym działa gra/symulator. Na zapytanie gra odpowiada wysyłając odpowiedź na adres IP z którego nadeszło zapytanie. Odpowiedź jest utworzona w analogiczny sposób jak zapytanie. Z tego co pamiętam w przypadku rFactor korzystałem z jakiegoś programu który komunikował się z grą, a następnie przesyłał dane do arduino poprzez port COM na podłączone przez USB arduino. W przypadku symulatora lotniczego IL-2 Sturmovik nie korzystałem z żadnego programu pośredniczącego. Kilka modułów Arduino wraz z modułami rozszerzeniowymi Ethernet Shield było podłączone poprzez swich sieciowy do komputera z symulatorem. Każdy moduł wysyłał określone zapytanie i orzymywał odpowiedzi które nastepnie rozkładał na części pierwsze, które z kolei służyły wysterowaniu silników krokowych i serw sterujących wskaźnikami.

    Jak to zrobić? polecam Ci rozpoznać temat. Jeżeli zdecydujesz się na użycie Arduino oraz Ethernet Shield jest wiele przykładów w sieci które pokazują jak odebrać "wiadomość" wysłaną przez UDP.

    pozdrawiam!!!
  • MetalWorkMetalWork
  • User removed account  
  • User removed account