Spisu treści:

Bezprzewodowy joystick PC/przyciski na kółkach: 4 kroki (ze zdjęciami)
Bezprzewodowy joystick PC/przyciski na kółkach: 4 kroki (ze zdjęciami)

Wideo: Bezprzewodowy joystick PC/przyciski na kółkach: 4 kroki (ze zdjęciami)

Wideo: Bezprzewodowy joystick PC/przyciski na kółkach: 4 kroki (ze zdjęciami)
Wideo: PORADNIK | Jak grać bezprzewodowo na padzie PS4/PS5 na PC/Laptopie? 2024, Lipiec
Anonim
Bezprzewodowy joystick PC/przyciski na kółkach
Bezprzewodowy joystick PC/przyciski na kółkach

W ciągu ostatnich kilku lat budowałem nową symulację wyścigową i zdecydowałem się na kierownicę DIY Direct Drive. Chociaż sam ten projekt może być kilkoma instrukcjami sam w sobie, jest to instrukcja dotycząca uczynienia wszystkich przycisków na kole bezprzewodowym.

Czemu?

  • Koło DD ma nieograniczone obroty, więc prowadzenie do niego przewodów byłoby denerwujące.
  • Brak możliwości prowadzenia kabli przez wał koła jak w kołach komercyjnych
  • Chciałem mieć możliwość łatwej zamiany kół z różnymi konfiguracjami przycisków
  • Bo mógłbym:)

Aby osiągnąć cel, jakim są przyciski bezprzewodowe, musimy wziąć pod uwagę:

  • Dostarczanie energii
  • Połączenie bezprzewodowe
  • Czas reakcji/opóźnienie
  • Niezawodność

Następujące komponenty zostały wybrane w celu spełnienia tych kryteriów: Tx - Arduino Nano ze zintegrowanym modułem NRF24 tutaj lub użyj Generic Nano lub Pro Mini + NRF24 Module Rx - Arduino Pro Micro / Leonardo / Beetle (Atmega32u4) + moduł NRF24USB „Bank baterii” - Dowolne ogólny pojedynczy bank baterii 18650 powinien działać. To potrwa około 20 godzin! Możesz jednak sprawdzić, czy może jednocześnie ładować i dostarczać energię. Jest to przydatne, jeśli działa na płasko i chcesz jednocześnie ładować i używać.

Dodatkowo będziesz potrzebować przycisków i wybranego przełącznika zasilania, trochę przewodu przyłączeniowego i ewentualnie rurki termokurczliwej.

Można go również użyć w „pudełku z guzikami” zamiast na kole, ale pomyślałem, że będzie na to mniejszy popyt, ponieważ nie ma dużej przewagi, jeśli się nie porusza.

Potrzebne narzędzia:

Lutownica i lut Pistolet do klejenia na gorąco przydaje się również do montażu części. Arduino IDE zainstalowane na komputerze.

Krok 1: Okablowanie nadajnika

Okablowanie nadajnika
Okablowanie nadajnika
Okablowanie nadajnika
Okablowanie nadajnika
Okablowanie nadajnika
Okablowanie nadajnika

Zacznij od zamontowania na kierownicy tylu przełączników, ile potrzebujesz i rozważ lokalizację Arduino. Podłącz wszystkie przewody do przełączników zgodnie ze schematem. Każdy przycisk będzie podłączony jedną stroną do GND, a drugą do powiązanego pinu arduino. Kod pozwala na 14 przełączników/przycisków, które powinny wystarczyć na większość kół.

Jeśli używasz Nano z wbudowanym modułem NRF, to oczywiście nie musisz dodawać do tego powiązanego okablowania, po prostu podłącz przyciski.

Przyciski są w tej kolejności (1-14): RX, TX, D2, D3, D4, D5, D6, D7, A0, A1, A2, A3, A4, A5

Ale dlaczego tylko 14 przycisków? Powodem tego jest to, że możemy szybko odczytać pełny bank pinów, a przesłanie tylko 2 bajtów danych nie zajmuje dużo czasu - więc choć można by to zmodyfikować, aby zawierało więcej przycisków (poprzez macierz) i/ lub wejścia analogowe, to by trochę spowolniło. Odczyt macierzy i odczyty/konwersja analogowa zajmują czas procesora. Potrzebowałem tylko 12 przycisków na kierownicy, więc poszedłem z tym, ale rozważyłbym dodanie więcej.

Moc Jeśli chodzi o moc, masz dwie możliwości - możesz zostawić zestaw akumulatorów w nienaruszonym stanie i po prostu jakoś przymocować go do kierownicy. Daje to dodatkową korzyść w postaci możliwości odłączenia zasilania od arduino, unikając wbudowanego przełącznika i okablowania.

Jeśli wolisz bardziej niestandardowe rozwiązanie, może być konieczne otwarcie banku baterii i ponowne wykorzystanie elementów wewnętrznych do niestandardowej konfiguracji.

Nie miałem miejsca w moim kole, żeby zostawić go w nienaruszonym stanie, więc został rozebrany. Usunąłem standardowe złącze USB z płytki ładującej i przylutowałem przewody +5 i Gnd z padów portu USB do Arduino za pomocą przełącznika. Trudno to szczegółowo opisać ze względu na wiele dostępnych opcji…

Obwód został następnie zamontowany wewnątrz koła, odsłaniając złącze ładowania micro USB.

Płytka ładująca będzie miała jedną lub więcej diod LED do wyświetlania stanu naładowania – warto je jakoś uwidocznić lub użyć plastiku, aby „przenieść” je w widoczne miejsce, aby wiedzieć, kiedy zakończyło się ładowanie.

Co to za koło?Dla zainteresowanych, mój projekt koła jest autorstwa Amstudio - Niektóre świetne projekty części do symulacji wyścigów DIY są dostępne u nich w rozsądnych cenach.

Krok 2: Odbiorca

Odbiorca
Odbiorca
Odbiorca
Odbiorca
Odbiorca
Odbiorca

Wystarczy postępować zgodnie z załączonym schematem okablowania. Jeśli nie używasz Leonardo, będziesz potrzebować zewnętrznego regulatora 3,3 V, takiego jak AMS1117. Regulator Pro Micro nie może zapewnić wystarczającego prądu dla modułu NRF24, a żuczek w ogóle go nie ma.

Kolorystycznie oznaczyłem połączenia do modułu NRF tak samo dla Pro Micro i Beetle.

Arduino „Garbus”, który jest dość łatwy do znalezienia w powszechnych miejscach, ale znowu trzeba będzie użyć regulatora 3,3 V, ponieważ w ogóle go nie ma. Przetestowałem to i też działa dobrze. Połączenia są takie same

Krok 3: Programowanie urządzeń

Programowanie urządzeń
Programowanie urządzeń
Programowanie urządzeń
Programowanie urządzeń
Programowanie urządzeń
Programowanie urządzeń

Jeśli nie masz jeszcze zainstalowanego Arduino IDE, przejdź do https://www.arduino.cc i pobierz wersję odpowiednią dla twojego systemu operacyjnego dla tego przykładu, jestem w systemie Windows.

Po skonfigurowaniu będziesz potrzebować dwóch różnych bibliotek - pierwsza jest łatwa dzięki Sketch -> Include Library -> Manage Libraries (lub CTRL + SHIFT + I)

NRFLite autorstwa Dave'a Parsona (wersja 2.2.2 od momentu publikacji)

Drugi będzie musiał być ręcznie zainstalowany z

Kliknij „Klonuj lub Pobierz”, a następnie „Pobierz ZIP” i otwórz pobrany plik. Następnie musisz przejść do folderów, aż zobaczysz folder „Joystick” – skopiuj go do folderu Arduino Libraries (w systemie Windows jest to zwykle w sekcji Dokumenty -> Arduino -> Biblioteki.

Uruchom ponownie Arduino IDE

Jeśli używasz Pro Micro dla odbiornika, musisz również dodać tę kartę do IDE. File -> Preferences -> Additional Boards Manager URLs:

wpisz:

Następnie przejdź do Narzędzia -> Menedżer tablic, wyszukaj Sparkfun i zainstaluj 'Sparkfun AVR Boards'

Teraz jesteśmy gotowi! Zacznijmy od nadajnika - podłącz go do komputera

W menu Narzędzia -> Tablica wybierz „Arduino Nano” (lub dowolny wariant, którego zdecydowałeś się użyć). Sprawdź również port COM w menu narzędzi.

Otwórz załączony plik Wireless_Wheel_Tx.

Jest tylko jedna linia, którą możesz chcieć zmienić w tym kodzie, a mianowicie:

int nrfKanał = 22;

Masz do 126 kanałów, z których możesz korzystać w paśmie 2,4 Ghz. Powinno być w porządku pozostawienie bez zmian, ale jeśli masz problemy z niezawodnością, być może zmień to na inną liczbę.

Następnie po prostu naciśnij przycisk „prześlij” i poczekaj, aż się zakończy.

To samo dotyczy karty Leonardo/Pro Micro/Beetle - wybierz kartę, którą chcesz - w przypadku karty Leonardo i Beetle wybierz kartę Arduino leonardo. W przypadku Pro Micro wybierz to, a także wybierz wariant/procesor Atmega32u4 (5v, 16Mhz), otwórz plik Wireless_Wheel_Rx, zmień ustawienie nrfChannel (jeśli zmieniłeś je na Tx) i odsuń program.

Po ponownym uruchomieniu urządzenia podczas programowania komputer powinien wykryć urządzenie joysticka. Jeśli włączysz również nadajnik, powinieneś być w stanie nacisnąć przyciski i wyświetlić go w statusie urządzenia!

Fajną, przypadkową cechą jest to, że otrzymasz lampkę stanu na Leonardo i Pro Micro - dioda USB TX zaświeci się, gdy będzie miała połączenie z przyciskami. Nie występuje to jednak u chrząszcza.

ZAKTUALIZOWANO 13.02.2021

Dodałem 2 dodatkowe pliki (Tx i Rx) do instrukcji tutaj dla wersji z 4 wejściami analogowymi oraz matrycą przycisków 3X8. Przeważnie niesprawdzony, może mieć opóźnienie. Proszę spróbować i skomentować.

Krok 4: Ulepszenia

Ulepszenia
Ulepszenia

Power LED Po krótkim korzystaniu z tego rozwiązania miałem zwyczaj przypadkowo zostawiać włączone koło. Aby temu przeciwdziałać, dodałem z przodu diodę LED, dzięki czemu mogłem zobaczyć, że koło jest włączone. To tylko prosta dioda led 3mm z 5v na arduino przez rezystor. Wierzch jest piaskowany, aby nieco rozproszyć światło i zapobiec oślepianiu.

Miernik poziomu bateriiKupiłem kilka mierników poziomu baterii od BG lub Ali, ale kiedy przybyły, były znacznie większe niż się spodziewałem, ale to jest coś, co nadal chcę dodać. Dostępnych jest wiele opcji, ale ponieważ bateria działa tak długo, zwykle ładuję się po kilku godzinach użytkowania.

Dodatkowe przyciski/enkodery/wejścia analogowe Wciąż o tym myślę. Dla mnie nie jest to tak ważne dla wyścigów, które robię, ale dla rzeczy takich jak F1 jest prawdopodobnie bardziej przydatne. Rozważę dwie wersje lub dodanie tego, jeśli jest wystarczające zapotrzebowanie, ale może to wpłynąć na czas reakcji przycisków.

Zalecana: