Skocz do zawartości

Arduino Uno/Nano Gamepad - prezentacja aplikacji oraz biblioteki


09pawel0898

Pomocna odpowiedź

Cześć, jestem nowy zarówno tu na forum, jak i w zabawie z Arduino.

Nie jestem pewien czy temat jest w odpowiednim dziale, ale przejdę do rzeczy ..

//Edit - Na pewno jest w złym dziale 😕 Prawdopodobnie post powinien trafić do Arduino i ESP

 

Posiadam klona Arduino UNO, który chciałem aby posłużył mi do zrobienia zestawu przycisków/joysticków - czyli

zwykłego gamepada komunikującego się z komputerem poprzez interfejs USB.

 

Okazało się, że w przypadku Arduino UNO bądź NANO nie jest to takie łatwe, ponieważ nie posiadają chipa 

ATmega32u4 który wspiera klasę HID. Nie można w tym wypadku bezpośrednio skorzystać ze znanej

biblioteki Joystick.h. Z tego co przeczytałem aby osiągnąć pożądany efekt trzeba się pobawić w przeprogramowywanie firmware

chipa do komunikacji przez USB za pomocą programu Flip. Nie wiem co w przypadku tanich klonów z układem CH340.. 

Być może wcale nie jest to możliwe.

 

Zainspirowany tym filmikiem na youtube - LINK, napisałem malutką bibliotekę do arduino która obsługuje przyciski i joysticki oraz wysyła informacje o zmieniającym się ich stanie przez port szeregowy.

 

Do tego w C++ napisałem aplikację która śledzi ruch na porcie szeregowym, oraz pozwala bardzo szybko

oprogramować wszystkie podłączone do arduino komponenty, oraz emulować za ich pomocą przyciski 

klawiatury bądź mysz - za pomocą joysticka.

 

Sądzę że całość spełniła moje oczekiwania, wystarczy pare linijek kodu w arduino oraz błyskawiczna konfiguracja komponentów 

w programie i mamy działającego gamepada na arduino UNO/NANO bądź każdym innym.

 

Minusem aplikacji jest konieczność działania w tle.. np. gry.

Testowałem wykorzystanie procesora w Wiedźminie 3 , na moim sprzęcie(i7-6820hq) zwiększenie zużycia 

wahało się w granicy 1%.

 

Linki do repozytoriów na githubie :

 

Biblioteka , Aplikacja 

// Edit - link do krótkiego filmiku z prezentcją PREZENTACJA

Chętnie poznam wasze opinie 🙂

Edytowano przez 09pawel0898
Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.