![Arduino Leonardo / Micro (ATMega32u4) Jako gamepad / kontroler gier: 8 kroków Arduino Leonardo / Micro (ATMega32u4) Jako gamepad / kontroler gier: 8 kroków](https://img.gwsigeps.com/img/img/blank.jpg)
Spisu treści:
- Kieszonkowe dzieci:
- Krok 1: Instalacja biblioteki
- Krok 2: Połącz i uruchom testowy szkic
- Krok 3: Pozwala zweryfikować pracę biblioteki
- Krok 4: Podłączanie Thumbaxises i Buttons do Arduino
- Krok 5: Testowanie miniatur
- Krok 6: Integracja wartości z biblioteką
- Krok 7: Testowanie wyniku końcowego
- Krok 8: Więcej informacji, błędy itp.
Układ ATMega32u4 wykorzystywany w Arduino Leonardo, Micro lub Pro Micro ma możliwość używania niestandardowych deskryptorów HID USB. Dzięki tej zdolności możemy stworzyć nasz Arduino jako ogólny Gamepad!
Ta biblioteka zawiera wszystkie elementy do „symulowania” gamepada PS2 (więc dwa przyciski i 16 przycisków).
Kieszonkowe dzieci:
Krok 1: Instalacja biblioteki
Biblioteka potrzebuje Arduino IDE 1.6.6 lub nowszego do poprawnego działania.
Następnie musimy pobrać bibliotekę.
Wszystkie dane i dokumentacja są przechowywane w repozytorium GitHub:
github.com/GAMELASTER/ArduinoGamepad
Aby pobrać, kliknij przycisk „Pobierz ZIP” po prawej stronie.
Utwórz nowy katalog o nazwie „Gamepad” w bibliotekach (zazwyczaj znajduje się w Windows at) Documents> Arduino> i skopiuj wszystkie pliki z katalogu „ArduinoGamepad-master” do pobranego ZIP do tego katalogu.
Następnie uruchom Arduino IDE, a biblioteka pojawi się na liście bibliotek iw liście przykładów.
Krok 2: Połącz i uruchom testowy szkic
Po prostu otwórz przykładowy szkic jak na obrazku, skompiluj go i załaduj do swojego Arduino
Krok 3: Pozwala zweryfikować pracę biblioteki
Przejdź do Panelu sterowania> Urządzenia i drukarki i wyszukaj urządzenie (dla mnie to Arduino Leonardo)> Kliknij prawym przyciskiem myszy> Ustawienia urządzenia do gier> Właściwości> Test.
Jeśli przyciski są włączane / wyłączane krok po kroku, wszystko jest w porządku!
Krok 4: Podłączanie Thumbaxises i Buttons do Arduino
Do testowania prawdziwego połączenia między sprzętem, Arduino i komputerem potrzebujemy kilku przycisków lub thumbaxisów.
Dostałem dwa przyciski Thumbaxises + 2 (naciskając thumbaxises), połączyłem je z Pro Micro i puszczę szkic Arduino.
Podłączyłem lewy strzałek do:
- X do A2
- Y do A3
- Z do 4
Podłączyłem prawy strzałek do
- X do A0
- Y do A1
- Z do 3
Krok 5: Testowanie miniatur
tkkrlab.nl/wiki/Arduino_KY-023_XY-axis_joystick_module
Skompiluj, wdróż i otwórz Monitor Seryjny.
Postaraj się przesunąć za pomocą wskaźnika do minimum - maksimum, spróbuj kliknąć itd.
Pałeczki mogą być inne. Dla mnie ma wartości względne.
Minimalna wartość osi to 0, a maksimum to 1000. Logicznie centrum ma wartość 500.
W moim Thumbstick jest problem, centrum ma (prawie) inną wartość, więc kiedy będziemy robić integrację z biblioteką, musimy dokonać kalibracji, stabilizacji i ostatecznego formatowania wartości.
A Z (naciśnięcie) mam 0 po naciśnięciu i 1 po zwolnieniu (to nie jest prawda, jej odwrócenie, odwrócenie robi INPUT_PULLUP).
Krok 6: Integracja wartości z biblioteką
Naszkicować:
github.com/GAMELASTER/ArduinoGamepad/blob/master/examples/ThumbsticksTest/ThumbsticksTest.ino
W tym szkicu zintegrowałem moje pinezki, tak jak to było w poprzednim kroku.
Teraz to opiszę.
- Najpierw potrzebujemy biblioteki (linia 7)
- Następnie musimy zdefiniować wartości centrów dla wszystkich osi, ustawiłem wszystkie 500, ponieważ jest to domyślne centrum (linia 10 - 13)
- Definiujemy mnożnik do formatowania wartości. Ponieważ maksymalna wartość wynosi 127, otrzymujemy mnożnik, dzieląc 127 przez środek, a więc 500 (linia 14 - 17)
- Inicjowanie klasy Gamepad (linia 20)
- Inicjalizacja trybów Pin (linia 23 - 28)
- Rozpoczyna się kalibracja pinezek (linia 29)
- Definiujemy zmienne i inne (linia 72 - 73)
- A while … Ten czas służy do „weryfikacji osi pinezek”, jeśli jest w obszarze środkowym (linia 74)
- Czytamy wejście analogowe z osi (linia 76–79)
- Musimy sprawdzić, czy osie są w „obszarze centralnym”, wybrałem zakres 100 (linia 80–83)
- Jeśli wszystko jest w porządku, a powrót do 8 jest dobry, otrzymujemy prawdziwe centrum. (wiersz 84–89)
- Ustawiamy wartości osiowe na zmienne globalne i przeliczamy mnożniki dla wszystkich osi, więc realCenter dzieli się przez 127
- Więc najpierw musimy uzyskać wartość osi, gdzie 0 jest środkiem, więc Wartość Osi minus Środek Osi
- Następnie mamy ten mnożnik za każdym razem
- A dla stabilizacji kładziemy to (bez rundy)
Liczby przycisków są opisane w górnej części obrazu.
Krok 7: Testowanie wyniku końcowego
Kompiluj, wdrażaj i pozwól sobie zagrać w jakąś grę!
Wybrałem Mirrors Edge, ale Mirrors Edge obsługuje tylko gamepad XBOX 360, można to po prostu rozwiązać, pobierając X360CE.
Krok 8: Więcej informacji, błędy itp.
Ta biblioteka jest częścią mojego projektu, w którym tworzę niestandardową konsolę Raspberry Pi Retro Console, która zostanie opublikowana tutaj w Instructables, kiedy to nastąpi, pisząc blogi na moim blogu, nie zapomnij tego obejrzeć!
Dokumentacja, błędy itp. Jest w GitHub:
github.com/GAMELASTER/ArduinoGamepad/
Lub powiedz mi to w komentarzach!