Indholdsfortegnelse:

Trådløs pc -joystick/hjulknapper: 4 trin (med billeder)
Trådløs pc -joystick/hjulknapper: 4 trin (med billeder)

Video: Trådløs pc -joystick/hjulknapper: 4 trin (med billeder)

Video: Trådløs pc -joystick/hjulknapper: 4 trin (med billeder)
Video: Photoshopper jeres billeder! #4 2024, Juli
Anonim
Trådløs pc -joystick/hjulknapper
Trådløs pc -joystick/hjulknapper

Jeg har opbygget en ny racersim i løbet af de sidste par år og besluttede at gå med et DIY Direct Drive -rat. Selvom dette projekt alene kan være flere instruktører i sig selv, er det en instruktion om at gøre alle knapperne på hjulet trådløse.

Hvorfor?

  • DD -hjulet har ubegrænset rotation, så det ville være irriterende at have ledninger til det.
  • Ingen mulighed for at føre kabler via hjulakslen som i kommercielle hjul
  • Jeg ønskede let at kunne skifte hjul med forskellige knapkonfigurationer
  • Fordi jeg kunne:)

For at nå målet om trådløse knapper skal vi overveje:

  • Strømforsyning
  • Trådløs forbindelse
  • Reaktionstid/forsinkelse
  • Pålidelighed

Følgende komponenter blev valgt for at matche disse kriterier: Tx - Arduino Nano med integreret NRF24 -modul her eller brug et Generisk Nano- eller Pro Mini + NRF24 -modulRx - Arduino Pro Micro / Leonardo / Beetle (Atmega32u4) + NRF24 -modul USB 'Batteribank' - Eventuelt generisk enkelt 18650 batteribank skulle fungere. Dette varer cirka 20 timer! Du vil måske kontrollere, om den kan oplade og levere strøm på samme tid. Dette er praktisk, hvis det kører fladt, og du vil oplade og bruge det samtidigt.

Derudover skal du bruge knapperne og en afbryder efter eget valg, noget tilslutningstråd og muligvis noget varmekrympeslange.

Dette kan også bruges i en 'knapboks' i stedet for på et hjul, men jeg regnede med, at der ville være mindre efterspørgsel efter det, da der ikke er meget fordel, hvis det ikke bevæger sig.

Nødvendige værktøjer:

Loddejern og lodning En varm limpistol er også praktisk til montering af delene. Arduino IDE installeret på din computer.

Trin 1: Transmitterens ledninger

Transmitterens ledningsføring
Transmitterens ledningsføring
Transmitterens ledningsføring
Transmitterens ledningsføring
Transmitterens ledningsføring
Transmitterens ledningsføring

Start med at montere så mange kontakter som du har brug for på dit hjul, og overvej placeringen af Arduino. Tilslut alle ledninger til kontakterne i henhold til diagrammet. Hver knap bliver forbundet med den ene side til GND og den anden til den tilhørende arduino -pin. Koden giver mulighed for 14 kontakter/knapper, hvilket burde være nok til de fleste hjul.

Hvis du bruger Nano med det integrerede NRF -modul, behøver du naturligvis ikke at tilføje den tilhørende ledning til det, bare koble knapperne.

Knapperne er i denne rækkefølge (1-14): RX, TX, D2, D3, D4, D5, D6, D7, A0, A1, A2, A3, A4, A5

Men hvorfor kun 14 knapper? Årsagen til dette er, fordi vi hurtigt kan aflæse en fuld bank af ben og kun sende 2 bytes data ikke tager lang tid - Så selvom dette kunne ændres til at omfatte flere knapper (via en matrix) og/ eller analoge indgange, ville dette bremse tingene lidt. Matrixlæsning og analoge læsninger/konvertering tager processortid. Jeg havde kun brug for 12 knapper på mit hjul, så jeg gik med det, men ville overveje at tilføje flere.

For strømmen har du to valgmuligheder - Du kan enten lade batteribanken være i takt og bare fastgøre den til rattet på en eller anden måde. Dette giver dig den ekstra bonus ved at kunne afbryde strømmen fra arduinoen, undgå at have en indbygget switch og nogle ledninger.

Hvis du foretrækker en mere brugerdefineret løsning, kan det være nødvendigt at åbne batteribanken og omforme internerne til din tilpassede konfiguration.

Jeg havde ikke plads i mit hjul til at lade det være i takt, så det blev fjernet. Jeg fjernede standard USB -stikket fra opladningskortet og lodde +5- og Gnd -ledningerne fra usb -portpuderne til Arduino via en switch. Det er lidt svært at beskrive dette på grund af de mange muligheder …

Kredsløbet blev derefter monteret inde i hjulet og afslørede mikro -USB -opladningsstikket.

Opladningskortet vil have en eller flere lysdioder til at vise opladningsstatus - Det er praktisk at gøre disse synlige på en eller anden måde eller bruge noget plastik til at 'port' dem til et sted synligt, så du ved, hvornår den er færdig med at oplade.

Hvilket hjul er det? For de interesserede er mit hjuldesign fra Amstudio - Nogle gode DIY racing sim -deldesigner fås hos dem til rimelige priser.

Trin 2: Modtageren

Modtageren
Modtageren
Modtageren
Modtageren
Modtageren
Modtageren

Følg blot ledningsdiagrammet som vedhæftet. Hvis du ikke bruger en Leonardo, har du brug for en ekstern 3.3v regulator, f.eks. AMS1117. Pro Micro -regulatoren kan ikke levere nok strøm til NRF24 -modulet, og billen har slet ikke en.

Jeg har farvekodet forbindelserne til NRF -modulet det samme for Pro Micro og bille.

Arduino 'Beetle', som er ret let at finde på de almindelige steder, men igen skal 3.3v regulator bruges, da den slet ikke har en. Jeg har testet dette, og det fungerer også fint. Forbindelserne er de samme

Trin 3: Programmering af enhederne

Programmering af enheder
Programmering af enheder
Programmering af enheder
Programmering af enheder
Programmering af enheder
Programmering af enheder

Hvis du ikke allerede har Arduino IDE installeret, skal du gå til https://www.arduino.cc og downloade den version, der passer til dit operativsystem til dette eksempel, jeg er på Windows.

Når de er oprettet, skal du bruge to forskellige biblioteker -Den første er let via Sketch -> Inkluder bibliotek -> Administrer biblioteker (eller CTRL+SHIFT+I)

NRFLite af Dave Parson (version 2.2.2 fra udgivelsen)

Den anden skal installeres manuelt fra

Klik på 'Klon eller download' derefter 'Download ZIP, og åbn den downloadede fil. Du bliver derefter nødt til at klikke videre til mapperne, indtil du ser en 'Joystick' -mappe -Kopier den til din Arduino Libraries -mappe (I vinduer er dette normalt under dokumenter -> Arduino -> biblioteker.

Genstart Arduino IDE

Hvis du bruger Pro Micro til receiveren, skal du også tilføje dette kort til IDE. File -> Preferences -> Yderligere Boards Manager URL'er:

indtast:

Gå derefter til Værktøjer -> Boards Manager, søg i Sparkfun og installer 'Sparkfun AVR Boards'

Nu er vi klar! Lad os starte med senderen - Tilslut den til din pc

Under Værktøjer -> Board skal du vælge 'Arduino Nano' (eller hvilken variant du har valgt at bruge). Kontroller også COM -porten under værktøjsmenuen.

Åbn den vedhæftede Wireless_Wheel_Tx -fil.

Der er kun en linje, du måske vil ændre i denne kode, og det er:

int nrfChannel = 22;

Du har op til 126 kanaler, du kan bruge over 2,4 GHz -spektret. Det burde være fint at forlade det som det er, men hvis du opdager, at du har problemer med pålidelighed, skal du måske ændre dette til et andet nummer.

Derefter skal du bare trykke på knappen 'upload' og vente på, at den er færdig.

Det samme gælder Leonardo/Pro Micro/Beetle - Vælg det board, du ønsker - For Leonardo og Beetle skal du vælge Arduino leonardo board. For Pro Micro skal du vælge det og også vælge varianten/processoren Atmega32u4 (5v, 16Mhz), åbne filen Wireless_Wheel_Rx, ændre indstillingen nrfChannel (hvis du ændrede den på Tx) og programmere væk.

Når enheden genstarter ved programmering, skal din computer registrere en joystick -enhed. Hvis du også tænder for din sender, skal du kunne trykke på knapperne og få den vist i enhedens status!

En cool tilfældig funktion er, at du får et statuslys på Leonardo og Pro Micro - USB TX -LED'en lyser, når den har forbindelse til knapperne. Dette er dog ikke til stede på billen.

OPDATERET 13/2/2021

Jeg har tilføjet 2 ekstra filer (Tx og Rx) til den instruerbare her for en version med 4 analoge indgange samt en 3X8 knapmatrix. For det meste ikke testet, kan have forsinkelse. Prøv at kommentere.

Trin 4: Forbedringer

Forbedringer
Forbedringer

Efter at have brugt denne løsning i et lille stykke tid havde jeg for vane at lade hjulet stå ved et uheld. For at hjælpe med at imødegå dette tilføjede jeg en LED foran, så jeg kunne se, at hjulet var tændt. Dette er blot et simpelt 3 mm led -løb fra 5v på arduinoen via en modstand. Toppen slibes ned for at sprede lyset lidt og forhindre blænding.

Jeg købte nogle batteriniveaumålere fra BG eller Ali, men da de ankom var de meget større end hvad jeg havde forventet, men det er noget jeg stadig vil tilføje. Der er mange muligheder til dette, men fordi batteriet holder så længe, har jeg en tendens til bare at genoplade efter et par timers brug.

Ekstra knapper/encodere/analoge indgange Tænker stadig på denne. For mig er det ikke så vigtigt for det løb jeg laver, men for ting som F1 er det nok mere nyttigt. Jeg vil overveje to versioner eller tilføje dette, hvis der er tilstrækkelig efterspørgsel, men dette kan påvirke svartiden på knapperne.

Anbefalede: