Sommario:

Wireless PC Joystick/Pulsanti ruota: 4 passaggi (con immagini)
Wireless PC Joystick/Pulsanti ruota: 4 passaggi (con immagini)

Video: Wireless PC Joystick/Pulsanti ruota: 4 passaggi (con immagini)

Video: Wireless PC Joystick/Pulsanti ruota: 4 passaggi (con immagini)
Video: Trucco per il Controller!! 2024, Luglio
Anonim
Joystick/pulsanti della rotella del PC wireless
Joystick/pulsanti della rotella del PC wireless

Negli ultimi anni ho creato un nuovo simulatore di corse e ho deciso di utilizzare un volante Direct Drive fai-da-te. Mentre quel progetto da solo potrebbe essere di per sé diversi istruttori, questo è un istruttivo su come rendere wireless tutti i pulsanti sul volante.

Come mai?

  • La ruota DD ha rotazioni illimitate, quindi avere dei cavi diretti sarebbe fastidioso.
  • Nessuna possibilità di instradare i cavi attraverso l'albero della ruota come nelle ruote commerciali
  • Volevo essere in grado di scambiare facilmente le ruote con diverse configurazioni di pulsanti
  • Perché potrei:)

Per raggiungere l'obiettivo dei pulsanti wireless dobbiamo considerare:

  • Erogazione di potenza
  • Connettività wireless
  • Tempo/ritardo di reazione
  • Affidabilità

I seguenti componenti sono stati scelti per soddisfare questi criteri: Tx - Arduino Nano con modulo NRF24 integrato qui o utilizzare un Nano generico o Pro Mini + modulo NRF24 Rx - Arduino Pro Micro / Leonardo / Beetle (Atmega32u4) + modulo NRF24 USB "Batteria batteria" - Qualsiasi La banca di batteria singola 18650 generica dovrebbe funzionare. Questo durerà circa 20 ore! Tuttavia, potresti voler verificare se può caricare e fornire energia allo stesso tempo. Questo è utile se si scarica e si desidera caricare e utilizzare allo stesso tempo.

Inoltre, avrai bisogno dei pulsanti e di un interruttore di alimentazione a tua scelta, del cavo di collegamento e possibilmente del tubo termoretraibile.

Questo può anche essere usato in una "scatola dei pulsanti" invece che su una ruota, ma ho pensato che ci sarebbe stata meno richiesta perché non c'è molto vantaggio se non si muove.

Strumenti necessari:

Saldatore e saldatura Una pistola per colla a caldo è utile anche per il montaggio delle parti. Arduino IDE installato sul tuo computer.

Passaggio 1: il cablaggio del trasmettitore

Il cablaggio del trasmettitore
Il cablaggio del trasmettitore
Il cablaggio del trasmettitore
Il cablaggio del trasmettitore
Il cablaggio del trasmettitore
Il cablaggio del trasmettitore

Inizia montando tutti gli interruttori di cui hai bisogno sul volante e considera la posizione dell'Arduino. Collegare tutti i cavi agli interruttori come da schema. Ogni pulsante sarà cablato con un lato a GND e l'altro al pin arduino associato. Il codice consente 14 interruttori/pulsanti che dovrebbero essere sufficienti per la maggior parte delle ruote.

Se usi il Nano con il modulo NRF integrato, ovviamente non è necessario aggiungere quel cablaggio associato, basta collegare i pulsanti.

I pulsanti sono in questo ordine (1-14):RX, TX, D2, D3, D4, D5, D6, D7, A0, A1, A2, A3, A4, A5

Ma perché solo 14 pulsanti? La ragione di ciò è perché possiamo leggere velocemente un intero banco di pin e trasmettere solo 2 byte di dati non richiede molto tempo - Quindi, anche se questo potrebbe essere modificato per includere più pulsanti (tramite una matrice) e/ o ingressi analogici, questo rallenterà un po' le cose. La lettura della matrice e le letture/conversioni analogiche richiedono tempo al processore. Avevo solo bisogno di 12 pulsanti sulla mia ruota, quindi ho optato per quello, ma avrei preso in considerazione l'aggiunta di altri.

Potenza Per la potenza, hai due scelte: puoi lasciare intatto il banco batterie e fissarlo in qualche modo al volante. Questo ti dà l'ulteriore vantaggio di poter scollegare l'alimentazione dall'arduino, evitando di avere un interruttore integrato e alcuni cavi.

Se preferisci una soluzione più personalizzata, potrebbe essere necessario aprire il banco batterie e riutilizzare gli interni nella configurazione personalizzata.

Non avevo lo spazio nella ruota per lasciarlo intatto, quindi è stato smontato. Ho rimosso il connettore USB standard dalla scheda di ricarica e ho saldato i fili +5 e Gnd dai pad della porta USB ad Arduino tramite un interruttore. È un po' difficile da descrivere a causa delle molte opzioni disponibili…

Il circuito è stato poi montato all'interno del volante, esponendo il connettore di ricarica micro USB.

La scheda di ricarica avrà uno o più LED per visualizzare lo stato di carica: è utile renderli visibili in qualche modo o utilizzare della plastica per "portarli" in un punto visibile in modo da sapere quando ha finito di caricarsi.

Che ruota è? Per chi è interessato, il mio design di ruota è di Amstudio - Alcuni fantastici design di componenti per sim da corsa fai da te sono disponibili da loro a prezzi ragionevoli.

Passaggio 2: il ricevitore

il destinatario
il destinatario
il destinatario
il destinatario
il destinatario
il destinatario

Seguire semplicemente lo schema elettrico come allegato. Se non stai usando un Leonardo, avrai bisogno di un regolatore esterno 3.3v come l'AMS1117. Il regolatore Pro Micro non può fornire abbastanza corrente per il modulo NRF24 e il coleottero non ne ha affatto.

Ho codificato a colori le connessioni al modulo NRF lo stesso per il Pro Micro e il coleottero.

L'Arduino "Maggiolino" che è abbastanza facile da trovare nei luoghi comuni, ma ancora una volta, sarà necessario utilizzare il regolatore 3.3v in quanto non ne ha affatto. L'ho testato e funziona anche bene. I collegamenti sono gli stessi

Passaggio 3: programmazione dei dispositivi

Programmazione dei dispositivi
Programmazione dei dispositivi
Programmazione dei dispositivi
Programmazione dei dispositivi
Programmazione dei dispositivi
Programmazione dei dispositivi

Se non hai già installato l'IDE Arduino, vai su https://www.arduino.cc e scarica la versione adatta al tuo sistema operativo per questo esempio sono su Windows.

Una volta configurata, avrai bisogno di due diverse librerie: la prima è facile tramite Sketch -> Includi libreria -> Gestisci librerie (o CTRL+MAIUSC+I)

NRFLite di Dave Parson (versione 2.2.2 al momento della pubblicazione)

Il secondo dovrà essere installato manualmente da

Fai clic su "Clona o scarica", quindi su "Scarica ZIP" e apri il file scaricato. Dovrai quindi fare clic sulle cartelle fino a visualizzare una cartella "Joystick" - Copiala nella cartella Librerie Arduino (su Windows, di solito è in Documenti -> Arduino -> Librerie.

Riavvia l'IDE Arduino

Se stai utilizzando Pro Micro per il ricevitore, dovrai anche aggiungere quella scheda al file IDE. -> Preferenze -> URL di Gestione schede aggiuntive:

inserisci:

Quindi vai su Strumenti -> Gestione schede, cerca Sparkfun e installa "Sparkfun AVR Boards"

Ora siamo pronti! Iniziamo con il trasmettitore - Collegalo al tuo PC

In Strumenti -> Scheda, seleziona "Arduino Nano" (o qualsiasi variante tu abbia deciso di utilizzare). Verificare anche la porta COM nel menu degli strumenti.

Apri il file Wireless_Wheel_Tx allegato.

C'è solo una riga che potresti voler cambiare in questo codice e cioè:

int nrfChannel = 22;

Hai fino a 126 canali che puoi usare sullo spettro 2.4Ghz. Dovrebbe andare bene lasciare così com'è, ma se riscontri problemi con l'affidabilità, forse cambialo con un numero diverso.

Quindi premi il pulsante "carica" e attendi che finisca.

Lo stesso vale per Leonardo/Pro Micro/Beetle - Seleziona la scheda che desideri - Per Leonardo e Beetle, seleziona la scheda Arduino leonardo. Per Pro Micro, selezionalo e seleziona anche la variante/processore Atmega32u4 (5v, 16Mhz), apri il file Wireless_Wheel_Rx, modifica l'impostazione nrfChannel (se l'hai modificata sul Tx) e programma via.

Una volta che il dispositivo si riavvia durante la programmazione, il computer dovrebbe rilevare un dispositivo joystick. Se accendi anche il trasmettitore, dovresti essere in grado di premere i pulsanti e farlo apparire nello stato del dispositivo!

Una caratteristica interessante è che otterrai una spia di stato su Leonardo e Pro Micro: il led USB TX si accenderà quando sarà collegato ai pulsanti. Tuttavia, questo non è presente sul coleottero.

AGGIORNATO 13/2/2021

Ho aggiunto 2 file extra (Tx e Rx) all'istruibile qui per una versione con 4 ingressi analogici e una matrice di pulsanti 3X8. Per lo più non testato, potrebbe avere un ritardo. Per favore prova a commentare.

Passaggio 4: miglioramenti

Miglioramenti
Miglioramenti

Power LEDDopo aver utilizzato questa soluzione per un po' di tempo avevo l'abitudine di lasciare accidentalmente acceso il volante. Per aiutare a contrastare questo, ho aggiunto un LED nella parte anteriore in modo da poter vedere che la ruota era accesa. Questo è solo un semplice led da 3 mm eseguito dal 5v sull'arduino tramite un resistore. La parte superiore è levigata per diffondere un po' la luce ed evitare l'abbagliamento.

Misuratore del livello della batteriaHo acquistato alcuni misuratori del livello della batteria da BG o Ali ma quando sono arrivati erano molto più grandi di quello che mi aspettavo, ma questo è qualcosa che voglio ancora aggiungere. Ci sono molte opzioni disponibili per questo, ma poiché la batteria dura così a lungo, tendo a ricaricare solo dopo poche ore di utilizzo.

Pulsanti extra/encoder/ingressi analogici Sto ancora pensando a questo. Per me non è così importante per le gare che faccio, ma per cose come la F1 è probabilmente più utile. Prenderò in considerazione due versioni o l'aggiunta se c'è abbastanza domanda, ma ciò potrebbe influire sul tempo di risposta sui pulsanti.

Consigliato: