Innholdsfortegnelse:

Trådløs PC -joystick/hjulknapper: 4 trinn (med bilder)
Trådløs PC -joystick/hjulknapper: 4 trinn (med bilder)

Video: Trådløs PC -joystick/hjulknapper: 4 trinn (med bilder)

Video: Trådløs PC -joystick/hjulknapper: 4 trinn (med bilder)
Video: Photoshopper jeres billeder! #4 2024, November
Anonim
Trådløs PC -joystick/hjulknapper
Trådløs PC -joystick/hjulknapper

Jeg har bygd opp en ny racersim de siste årene, og bestemte meg for å gå med et DIY Direct Drive -ratt. Selv om prosjektet alene kan være flere instrukser i seg selv, er dette en instruks om hvordan du gjør alle knappene på hjulet trådløse.

Hvorfor?

  • DD -hjulet har ubegrensede rotasjoner, så det ville være irriterende å ha ledninger til det.
  • Ingen mulighet til å føre kabler via hjulakselen som i kommersielle hjul
  • Jeg ønsket å enkelt kunne bytte hjul med forskjellige knappekonfigurasjoner
  • Fordi jeg kunne:)

For å nå målet om trådløse knapper må vi vurdere:

  • Kraftlevering
  • Trådløs tilkobling
  • Reaksjonstid/forsinkelse
  • Pålitelighet

Følgende komponenter ble valgt for å matche disse kriteriene: Tx - Arduino Nano med integrert NRF24 -modul her eller bruk en Generisk Nano eller Pro Mini + NRF24 -modul Rx - Arduino Pro Micro / Leonardo / Beetle (Atmega32u4) + NRF24 -modul USB 'Batteribank' - Eventuelt generisk enkelt 18650 batteribank skal fungere. Dette varer ca 20 timer! Det kan være lurt å sjekke om den kan lade og levere strøm samtidig. Dette er praktisk hvis det går tomt og du vil lade og bruke samtidig.

I tillegg trenger du knappene og en strømbryter du ønsker, noen tilkoblingskabler og muligens noe varmekrympeslange.

Dette kan også brukes i en "knappboks" i stedet for på et hjul, men jeg tenkte at det ville være mindre etterspørsel etter det siden det ikke er mye fordel hvis det ikke beveger seg.

Nødvendige verktøy:

Loddejern og loddetinn En varm limpistol er nyttig for montering av delene også. Arduino IDE installert på datamaskinen din.

Trinn 1: Senderkabelen

Senderkabelen
Senderkabelen
Senderkabelen
Senderkabelen
Senderkabelen
Senderkabelen

Start med å montere så mange brytere du trenger på hjulet ditt, og vurder plasseringen av Arduino. Koble alle ledningene til bryterne i henhold til diagrammet. Hver knapp vil være kablet med den ene siden til GND og den andre til den tilhørende arduino -pinnen. Koden gir mulighet for 14 brytere/knapper som burde være nok for de fleste hjul.

Hvis du bruker Nano med den innebygde NRF -modulen, trenger du åpenbart ikke å legge til den tilhørende ledningen for det, bare koble til knappene.

Knappene er i denne rekkefølgen (1-14): RX, TX, D2, D3, D4, D5, D6, D7, A0, A1, A2, A3, A4, A5

Men hvorfor bare 14 knapper? Grunnen til dette er fordi vi kan lese en full pinnebank raskt og bare overføring av 2 byte med data ikke tar lang tid - Så selv om dette kan endres til å inkludere flere knapper (via en matrise) og/ eller analoge innganger, vil dette bremse ting litt. Matriselesning og analog lesing/konvertering tar prosessortid. Jeg trengte bare 12 knapper på hjulet mitt, så jeg gikk med det, men ville vurdere å legge til flere.

Power For power har du to valg - Du kan enten la batteribanken være i takt og bare feste den til rattet på en eller annen måte. Dette gir deg den ekstra bonusen ved å kunne koble strømmen fra arduinoen, unngå å ha en innebygd bryter og noen ledninger.

Hvis du foretrekker en mer tilpasset løsning, kan det være nødvendig å åpne batteribanken og bruke internene på nytt i den tilpassede konfigurasjonen.

Jeg hadde ikke rommet i hjulet mitt for å la det være i takt, så det ble fjernet. Jeg fjernet standard USB -kontakt fra ladekortet og loddet +5 og Gnd -ledningene fra usb -portene til Arduino via en bryter. Det er litt vanskelig å detaljere dette på grunn av de mange tilgjengelige alternativene …

Kretsen ble deretter montert inne i hjulet, og avslørte mikro -USB -ladekontakten.

Ladekortet vil ha en eller flere lysdioder for å vise ladestatusen - Det er praktisk å gjøre disse synlige på en eller annen måte eller bruke plast til å "porte" dem til et sted synlig, slik at du vet når den er ferdig ladet.

For de som er interessert, er hjuldesignet mitt av Amstudio - Noen flotte DIY racing sim -deldesigner er tilgjengelige fra dem til rimelige priser.

Trinn 2: Mottakeren

Mottakeren
Mottakeren
Mottakeren
Mottakeren
Mottakeren
Mottakeren

Bare følg koblingsskjemaet som vedlagt. Hvis du ikke bruker en Leonardo, trenger du en ekstern 3.3v regulator, for eksempel AMS1117. Pro Micro -regulatoren kan ikke gi nok strøm til NRF24 -modulen, og billen har ikke en i det hele tatt.

Jeg har fargekodet tilkoblingene til NRF -modulen det samme for Pro Micro og bille.

Arduino 'Beetle' som er ganske lett å finne på de vanlige stedene, men nok en gang må 3.3v -regulatoren brukes, siden den ikke har en i det hele tatt. Jeg har testet dette og det fungerer fint også. Tilkoblingene er de samme

Trinn 3: Programmering av enhetene

Programmering av enhetene
Programmering av enhetene
Programmering av enhetene
Programmering av enhetene
Programmering av enhetene
Programmering av enhetene

Hvis du ikke allerede har Arduino IDE installert, gå til https://www.arduino.cc og last ned den versjonen som passer for operativsystemet ditt for dette eksempelet, jeg er på Windows.

Når du har konfigurert det, trenger du to forskjellige biblioteker -Det første er enkelt via Sketch -> Inkluder bibliotek -> Administrer biblioteker (eller CTRL+SKIFT+I)

NRFLite av Dave Parson (versjon 2.2.2 fra publisering)

Den andre må installeres manuelt fra

Klikk på "Klon eller nedlasting" og deretter "Last ned ZIP og åpne den nedlastede filen. Du må da klikke deg videre til mappene til du ser en 'Joystick' -mappe -Kopier den til Arduino Libraries -mappen (I vinduer er dette vanligvis Under Documents -> Arduino -> Libraries.

Start Arduino IDE på nytt

Hvis du bruker Pro Micro for mottakeren, må du også legge det kortet til IDE. File -> Preferences -> Additional Boards Manager URLs:

skriv inn:

Gå deretter til Verktøy -> Boards Manager, søk i Sparkfun og installer 'Sparkfun AVR Boards'

Nå er vi klare! La oss starte med senderen - Koble den til PCen

Under Verktøy -> Brett velger du 'Arduino Nano' (eller hvilken variant du bestemte deg for å bruke). Kontroller også COM -porten under verktøymemenyen.

Åpne den vedlagte Wireless_Wheel_Tx -filen.

Det er bare en linje du vil endre i denne koden, og det er:

int nrfChannel = 22;

Du har opptil 126 kanaler du kan bruke over 2,4 GHz -spekteret. Det bør være greit å forlate som det er, men hvis du oppdager at du har problemer med pålitelighet, kan du kanskje endre dette til et annet nummer.

Bare klikk på "last opp" -knappen og vent til den er ferdig.

Det samme gjelder Leonardo/Pro Micro/Beetle - Velg brettet du vil ha - For Leonardo og Beetle, velg Arduino leonardo -brettet. For Pro Micro, velg det og velg også varianten/prosessoren Atmega32u4 (5v, 16Mhz), åpne Wireless_Wheel_Rx -filen, endre innstillingen nrfChannel (hvis du endret den på Tx) og programmer bort.

Når enheten starter på nytt ved programmering, bør datamaskinen din registrere en joystick -enhet. Hvis du slår på senderen også, bør du kunne trykke på knappene og få den til å vises i enhetens status!

En kul tilfeldig funksjon er at du får et statuslys på Leonardo og Pro Micro - USB TX -lysdioden lyser når den har tilkobling til knappene. Dette er imidlertid ikke tilstede på billen.

OPPDATERT 13/2/2021

Jeg har lagt til 2 ekstra filer (Tx og Rx) i instruksjonene her for en versjon med 4 analoge innganger samt en 3X8 knappmatrise. Stort sett uprøvd, kan ha forsinkelse. Prøv og kommenter.

Trinn 4: Forbedringer

Forbedringer
Forbedringer

Etter å ha brukt denne løsningen en liten stund, hadde jeg for vane å la hjulet stå ved et uhell. For å motvirke dette, la jeg til en LED foran slik at jeg kunne se at hjulet var på. Dette er bare et enkelt 3 mm ledet løp fra 5v på arduinoen via en motstand. Toppen slipes ned for å spre lyset litt og forhindre gjenskinn.

Jeg kjøpte noen batterinivåmålere fra BG eller Ali, men da de kom var de mye større enn jeg forventet, men dette er noe jeg fortsatt vil legge til. Det er mange alternativer tilgjengelig for dette, men fordi batteriet varer så lenge, har jeg en tendens til å bare lade opp etter noen timers bruk.

Ekstra knapper/kodere/analoge innganger Tenker fortsatt på denne. For meg er det ikke så viktig for racing jeg gjør, men for ting som F1 er det sannsynligvis mer nyttig. Jeg vil vurdere to versjoner eller legge til dette hvis det er nok etterspørsel, men dette kan påvirke responstiden på knappene.

Anbefalt: