Inhoudsopgave:

Draadloze pc-joystick/wielknoppen - Ajarnpa
Draadloze pc-joystick/wielknoppen - Ajarnpa

Video: Draadloze pc-joystick/wielknoppen - Ajarnpa

Video: Draadloze pc-joystick/wielknoppen - Ajarnpa
Video: She forgot her phone 😂 !!! #gamesir #controller #gertieinar 2024, November
Anonim
Draadloze pc-joystick/wielknoppen
Draadloze pc-joystick/wielknoppen

Ik heb de afgelopen jaren een nieuwe racesim opgebouwd en besloot te gaan voor een DIY Direct Drive-stuur. Hoewel dat project alleen al meerdere instructables op zich kan zijn, is dit een instructable over het draadloos maken van alle knoppen op het stuur.

Waarom?

  • Het DD-wiel heeft onbeperkte rotaties, dus het zou vervelend zijn als er draden naar toe gaan.
  • Geen mogelijkheid om kabels via de wielas te leiden zoals bij commerciële wielen
  • Ik wilde gemakkelijk wielen kunnen verwisselen met verschillende knopconfiguraties
  • Omdat het kon:)

Om het doel van draadloze knoppen te bereiken, moeten we rekening houden met:

  • Vermogensafgifte
  • Draadloze connectie
  • Reactietijd/vertraging
  • Betrouwbaarheid

De volgende componenten zijn gekozen om aan deze criteria te voldoen:Tx - Arduino Nano met geïntegreerde NRF24-module hier of gebruik een Generic Nano of Pro Mini + NRF24-moduleRx - Arduino Pro Micro / Leonardo / Beetle (Atmega32u4) + NRF24-moduleUSB 'Battery Bank' - Any generieke enkele 18650-batterijbank zou moeten werken. Dit duurt ongeveer 20 uur! Misschien wilt u echter controleren of het tegelijkertijd kan opladen en stroom kan leveren. Dit is handig als hij leeg loopt en je tegelijkertijd wilt opladen en gebruiken.

Daarnaast heb je de knoppen en een aan / uit-schakelaar naar keuze nodig, wat aansluitdraad en mogelijk een krimpkous.

Dit kan ook in een 'button box' worden gebruikt in plaats van op een wiel, maar ik dacht dat daar minder vraag naar zou zijn, omdat het niet veel voordeel heeft als het niet beweegt.

Gereedschap nodig:

Soldeerbout en soldeer Een heet lijmpistool is ook handig voor het monteren van de onderdelen. Arduino IDE geïnstalleerd op uw computer.

Stap 1: De zenderbedrading

De zenderbedrading
De zenderbedrading
De zenderbedrading
De zenderbedrading
De zenderbedrading
De zenderbedrading

Begin met het monteren van zoveel schakelaars als je nodig hebt op je stuur en overweeg de locatie van de Arduino. Sluit alle draden aan op de schakelaars volgens het diagram. Elke knop wordt bedraad met de ene kant naar GND en de andere naar de bijbehorende Arduino-pin. De code staat 14 schakelaars/knoppen toe, wat genoeg zou moeten zijn voor de meeste wielen.

Als je de Nano gebruikt met de ingebouwde NRF-module, dan hoef je die bijbehorende bedrading daar natuurlijk niet voor toe te voegen, je hoeft alleen de knoppen te bedraden.

De knoppen zijn in deze volgorde (1-14):RX, TX, D2, D3, D4, D5, D6, D7, A0, A1, A2, A3, A4, A5

Maar waarom slechts 14 knoppen? De reden hiervoor is dat we snel een volledige bank met pinnen kunnen lezen en het verzenden van slechts 2 bytes aan gegevens niet lang duurt - dus hoewel dit kan worden aangepast om meer knoppen op te nemen (via een matrix) en/ of analoge ingangen, dit zou de zaken een beetje vertragen. Matrix lezen en analoge lezen/conversie kosten processortijd. Ik had maar 12 knoppen op mijn stuur nodig, dus ik ging ermee akkoord, maar zou overwegen meer toe te voegen.

Vermogen Voor het vermogen heb je twee keuzes: je kunt de batterijbank intact laten en hem op de een of andere manier aan het stuur bevestigen. Dit geeft je de toegevoegde bonus dat je de stroom van de Arduino kunt loskoppelen, waardoor je een ingebouwde schakelaar en wat bedrading hebt.

Als u de voorkeur geeft aan een meer aangepaste oplossing, kan het nodig zijn om de batterijbank open te breken en de interne onderdelen opnieuw te gebruiken in uw aangepaste configuratie.

Ik had niet de ruimte in mijn wiel om het in tact te laten, dus het werd uitgekleed. Ik heb de standaard USB-connector van het laadbord verwijderd en de +5- en Gnd-draden van de USB-poortpads via een schakelaar aan de Arduino gesoldeerd. Het is een beetje moeilijk om dit in detail te beschrijven vanwege de vele beschikbare opties …

Het circuit werd vervolgens in het wiel gemonteerd, waardoor de micro-USB-oplaadconnector zichtbaar werd.

Het laadbord heeft een of meer LED's om de laadstatus weer te geven. Het is handig om deze op de een of andere manier zichtbaar te maken of om wat plastic te gebruiken om ze naar een zichtbare plek te 'poorten', zodat u weet wanneer het opladen is voltooid.

Welk wiel is dat? Voor degenen die geïnteresseerd zijn, mijn wielontwerp is van Amstudio - Er zijn enkele geweldige ontwerpen voor doe-het-zelf racesim-onderdelen verkrijgbaar tegen redelijke prijzen.

Stap 2: De ontvanger

de ontvanger
de ontvanger
de ontvanger
de ontvanger
de ontvanger
de ontvanger

Volg gewoon het bedradingsschema zoals bijgevoegd. Als je geen Leonardo gebruikt, heb je een externe 3.3v-regelaar nodig, zoals de AMS1117. De Pro Micro-regelaar kan niet genoeg stroom leveren voor de NRF24-module en de kever heeft er helemaal geen.

Ik heb de verbindingen met de NRF-module op dezelfde kleur gecodeerd voor de Pro Micro en de kever.

De Arduino 'Beetle' die vrij gemakkelijk te vinden is op de gewone plaatsen, maar nogmaals, een 3.3v-regelaar moet worden gebruikt omdat deze er helemaal geen heeft. Ik heb dit getest en het werkt ook prima. De aansluitingen zijn hetzelfde

Stap 3: De apparaten programmeren

De apparaten programmeren
De apparaten programmeren
De apparaten programmeren
De apparaten programmeren
De apparaten programmeren
De apparaten programmeren

Als je de Arduino IDE nog niet hebt geïnstalleerd, ga dan naar https://www.arduino.cc en download de versie die geschikt is voor je besturingssysteem voor dit voorbeeld I am on windows.

Eenmaal ingesteld, hebt u twee verschillende bibliotheken nodig - de eerste is eenvoudig via Sketch -> Bibliotheek opnemen -> Bibliotheken beheren (of CTRL+SHIFT+I)

NRFLite door Dave Parson (versie 2.2.2 vanaf publicatie)

De tweede moet handmatig worden geïnstalleerd vanaf

Klik op 'Clone or Download' en vervolgens op 'Download ZIP' en open het gedownloade bestand. U moet dan doorklikken naar de mappen totdat u een 'Joystick'-map ziet - Kopieer die naar uw Arduino-bibliotheken-map (in Windows is dit meestal Onder Documenten -> Arduino -> Bibliotheken.

Herstart de Arduino IDE

Als u de Pro Micro voor de ontvanger gebruikt, moet u dat bord ook toevoegen aan de IDE. File -> Voorkeuren -> Extra Boards Manager-URL's:

voer in:

Ga dan naar Tools -> Boards Manager, zoek Sparkfun en installeer 'Sparkfun AVR Boards'

Nu zijn we er klaar voor! Laten we beginnen met de zender - Sluit hem aan op uw pc

Selecteer onder Tools -> Board 'Arduino Nano' (of welke variant je ook hebt gekozen). Controleer ook de COM-poort onder het menu Extra.

Open het bijgevoegde Wireless_Wheel_Tx-bestand.

Er is maar één regel die u in deze code wilt wijzigen en dat is:

int nrfKanaal = 22;

Je hebt tot 126 kanalen die je kunt gebruiken over het 2,4 GHz-spectrum. Het zou prima moeten zijn om het te laten zoals het is, maar als u problemen ondervindt met de betrouwbaarheid, kunt u dit misschien wijzigen in een ander nummer.

Klik vervolgens op de knop 'uploaden' en wacht tot het klaar is.

Hetzelfde geldt voor de Leonardo/Pro Micro/Beetle - Selecteer het bord dat je wilt - Voor Leonardo en Beetle, selecteer het Arduino leonardo bord. Selecteer dat voor de Pro Micro en selecteer ook de variant/processor Atmega32u4 (5v, 16Mhz), open het Wireless_Wheel_Rx-bestand, verander de nrfChannel-instelling (als je deze op de Tx hebt gewijzigd) en programmeer weg.

Zodra het apparaat opnieuw is opgestart tijdens het programmeren, zou uw computer een joystickapparaat moeten detecteren. Als u ook uw zender aanzet, moet u op de knoppen kunnen drukken en deze in de apparaatstatus laten verschijnen!

Een leuke bijkomstigheid is dat je een statuslampje krijgt op de Leonardo en Pro Micro - De USB TX-led gaat branden wanneer deze verbinding heeft met de knoppen. Dit is echter niet aanwezig op de kever.

BIJGEWERKT 13/2/2021

Ik heb hier 2 extra bestanden (Tx en Rx) aan de instructable toegevoegd voor een versie met 4 analoge ingangen en een 3X8-knoppenmatrix. Meestal niet getest, kan vertraging hebben. Probeer alsjeblieft commentaar te geven.

Stap 4: Verbeteringen

Verbeteringen
Verbeteringen

Power LED Nadat ik deze oplossing een tijdje had gebruikt, had ik de gewoonte om per ongeluk het stuur aan te laten. Om dit tegen te gaan, heb ik een LED aan de voorkant toegevoegd, zodat ik kon zien dat het wiel aan was. Dit is gewoon een simpele 3 mm led-run van de 5v op de Arduino via een weerstand. De bovenkant is geschuurd om het licht een beetje te diffunderen en verblinding te voorkomen.

Batterijniveaumeter Ik kocht enkele batterijniveaumeters van BG of Ali, maar toen ze aankwamen waren ze een stuk groter dan ik had verwacht, maar dit is iets dat ik nog wil toevoegen. Hiervoor zijn veel opties beschikbaar, maar omdat de batterij zo lang meegaat, heb ik de neiging om na een paar uur gebruik gewoon weer op te laden.

Extra knoppen/encoders/analoge ingangen Ben nog aan het nadenken over deze. Voor mij is het niet zo belangrijk voor het racen dat ik doe, maar voor zaken als F1 is het waarschijnlijk nuttiger. Ik zal twee versies overwegen of deze toevoegen als er voldoende vraag is, maar dit kan de responstijd op de knoppen beïnvloeden.

Aanbevolen: