Taula de continguts:

Joystick / botons de roda de PC sense fils: 4 passos (amb imatges)
Joystick / botons de roda de PC sense fils: 4 passos (amb imatges)

Vídeo: Joystick / botons de roda de PC sense fils: 4 passos (amb imatges)

Vídeo: Joystick / botons de roda de PC sense fils: 4 passos (amb imatges)
Vídeo: КАК НАСТРОИТЬ L4D2 2024, Desembre
Anonim
Joystick / botons de roda de PC sense fils
Joystick / botons de roda de PC sense fils

Durant els darrers anys he estat construint un nou simulador de carreres i he decidit anar amb un volant DIY Direct Drive. Tot i que aquest projecte per si sol podria ser instructiu per si mateix, es pot fer de manera inalámbrica tots els botons de la roda.

Per què?

  • La roda DD té rotacions il·limitades, de manera que tenir-hi cables seria molest.
  • No es pot enrutar els cables per l’eix de la roda com en les rodes comercials
  • Volia poder canviar fàcilment rodes amb diferents configuracions de botons
  • Perquè jo podria:)

Per assolir l’objectiu dels botons sense fils, hem de tenir en compte:

  • Subministrament d’energia
  • Connectivitat sense fils
  • Temps / retard de reacció
  • Fiabilitat

Els components següents s’han escollit perquè coincideixin amb aquest criteri: Tx - Arduino Nano amb mòdul NRF24 integrat aquí o utilitzeu un mòdul Nano o Pro Mini + NRF24 Genèric mòdul Rx - Arduino Pro Micro / Leonardo / Beetle (Atmega32u4) + mòdul NRF24 "Banc de bateries" USB - Qualsevol el banc de bateries genèric únic 18650 hauria de funcionar. Això durarà aproximadament 20 hores. És possible que vulgueu comprovar si pot carregar i subministrar energia alhora. Això és útil si funciona de forma plana i voleu carregar-lo i utilitzar-lo alhora.

A més, necessitareu els botons i un interruptor d’alimentació que escolliu, algun cable de connexió i, possiblement, algun tub de contracció de calor.

Això també es pot utilitzar en una "caixa de botons" en lloc de sobre una roda, però vaig pensar que hi hauria menys demanda, ja que no hi ha gaire avantatge si no es mou.

Eines necessàries:

Soldador i soldadura: Una pistola de cola calenta és útil per muntar també les peces. Arduino IDE instal·lat a l’ordinador.

Pas 1: el cablejat del transmissor

El cablejat del transmissor
El cablejat del transmissor
El cablejat del transmissor
El cablejat del transmissor
El cablejat del transmissor
El cablejat del transmissor

Comenceu muntant tants interruptors com necessiteu a la roda i tingueu en compte la ubicació de l’Arduino. Connecteu tots els cables als commutadors segons el diagrama. Cada botó es connectarà amb un costat a GND i l’altre al pin arduino associat. El codi permet 14 interruptors / botons que haurien de ser suficients per a la majoria de rodes.

Si utilitzeu el Nano amb el mòdul NRF incrustat, òbviament no cal afegir el cablejat associat per això, només cal connectar els botons.

Els botons estan en aquest ordre (1-14): RX, TX, D2, D3, D4, D5, D6, D7, A0, A1, A2, A3, A4, A5

Però, per què només hi ha 14 botons? La raó d’això és perquè podem llegir un banc complet de pins ràpidament i només transmetre 2 bytes de dades no triga molt, per tant, tot i que es podria modificar per incloure més botons (mitjançant una matriu) i / o entrades analògiques, això alentiria una mica les coses. La lectura de matrius i les lectures / conversions analògiques requereixen temps del processador. Només necessitava 12 botons a la roda, així que vaig anar amb això, però em plantejaria afegir-ne més.

Per a la potència, teniu dues opcions: podeu deixar el banc de bateries amb tacte i fixar-lo al volant d'alguna manera. Això us proporciona l’avantatge addicional de poder desconnectar l’alimentació de l’arduino, evitant tenir un interruptor integrat i alguns cables.

Si preferiu una solució més personalitzada, pot ser que sigui necessari obrir el banc de bateries i tornar a utilitzar els components interns a la vostra configuració personalitzada.

No tenia l’habitació a la meva roda per deixar-la al tacte, de manera que es va retirar. Vaig treure el connector USB estàndard de la placa de càrrega i vaig soldar els cables +5 i Gnd dels coixinets del port USB a l’Arduino mitjançant un commutador. És una mica difícil detallar-ho a causa de les moltes opcions disponibles …

El circuit es va muntar a l'interior de la roda, deixant al descobert el connector de càrrega micro USB.

La placa de càrrega tindrà un o més LEDs per mostrar l’estat de càrrega: és útil fer-los visibles d’alguna manera o fer servir una mica de plàstic per “portar-los” a algun lloc visible perquè sàpiga quan s’ha acabat de carregar.

Per a aquells que estiguin interessats, el meu disseny de rodes és d’Amstudio: alguns dissenys fantàstics de peces de simulació de carreres de bricolatge estan disponibles a preus raonables.

Pas 2: el receptor

El Receptor
El Receptor
El Receptor
El Receptor
El Receptor
El Receptor

Simplement seguiu l'esquema de cablejat que s'adjunta. Si no utilitzeu un Leonardo, necessitareu un regulador extern de 3,3v com l’AMS1117. El regulador Pro Micro no pot proporcionar prou corrent per al mòdul NRF24 i l’escarabat no en té cap.

Tinc les connexions codificades per colors al mòdul NRF de la mateixa manera per al Pro Micro i l’escarabat.

L'Arduino 'Beetle', que és bastant fàcil de trobar als llocs comuns, però una vegada més, caldrà utilitzar un regulador de 3,3 V, ja que no en té cap. Ho he provat i també funciona bé. Les connexions són les mateixes

Pas 3: Programació dels dispositius

Programació dels dispositius
Programació dels dispositius
Programació dels dispositius
Programació dels dispositius
Programació dels dispositius
Programació dels dispositius

Si encara no teniu l'IDE Arduino instal·lat cap a https://www.arduino.cc i descarregueu la versió adequada per al vostre sistema operatiu per a aquest exemple, estic a Windows.

Un cop configurat, necessitareu dues biblioteques diferents: la primera és fàcil mitjançant Sketch -> Inclou biblioteca -> Gestiona les biblioteques (o CTRL + MAJÚS + I)

NRFLite de Dave Parson (versió 2.2.2 a partir de la publicació)

El segon s’haurà d’instal·lar manualment des de

Feu clic a "Clona o descarrega" i després a "Baixa ZIP" i obriu el fitxer descarregat. A continuació, haureu de fer clic a les carpetes fins que aparegui una carpeta "Joystick": copieu-la a la carpeta Arduino Libraries (a Windows, normalment es troba a Documents -> Arduino -> Biblioteques).

Reinicieu l'IDE Arduino

Si utilitzeu el Pro Micro per al receptor, també haureu d’afegir aquesta placa a l’IDE. Fitxer -> Preferències -> URL addicionals del gestor de taules:

entra:

A continuació, aneu a Eines -> Gestor de taules, cerqueu Sparkfun i instal·leu "Taules AVR Sparkfun".

Ara ja estem preparats! Comencem amb el transmissor: connecteu-lo al vostre ordinador

A Eines -> Tauler, seleccioneu "Arduino Nano" (o la variant que hàgiu decidit utilitzar). Verifiqueu també el port COM al menú d'eines.

Obriu el fitxer adjunt Wireless_Wheel_Tx.

Només hi ha una línia que és possible que vulgueu canviar en aquest codi, és a dir:

int nrfChannel = 22;

Teniu fins a 126 canals que podeu utilitzar a l’espectre de 2,4 Ghz. Hauria de sortir bé tal com està, però si teniu problemes de fiabilitat, potser canvieu-ho per un nombre diferent.

A continuació, només cal que premeu el botó "penja" i espereu que acabi.

El mateix passa amb el Leonardo / Pro Micro / Beetle: seleccioneu la placa que vulgueu. Per a Leonardo i Beetle, seleccioneu la placa Arduino leonardo. Per al Pro Micro, seleccioneu-lo i seleccioneu també la variant / processador Atmega32u4 (5v, 16Mhz), obriu el fitxer Wireless_Wheel_Rx, canvieu la configuració nrfChannel (si l’heu canviat al Tx) i programeu-lo.

Un cop el dispositiu es reiniciï durant la programació, l'ordinador hauria de detectar un dispositiu de palanca de control. Si també engegueu el transmissor, hauríeu de poder prémer els botons i mostrar-lo a l’estat del dispositiu.

Una característica incidental interessant és que obtindreu un llum d’estat al Leonardo i al Pro Micro: el led USB TX s’encendrà quan tingui connexió als botons. No obstant això, això no és present a l'escarabat.

ACTUALITZAT el 2021-02-02

He afegit 2 fitxers addicionals (Tx i Rx) a la instrucció aquí per a una versió amb 4 entrades analògiques i una matriu de botons 3X8. Majoritàriament sense provar, pot tenir retard. Intenteu fer comentaris.

Pas 4: millores

Millores
Millores

LED d’alimentació Després d’utilitzar aquesta solució durant una estona, tenia l’hàbit de deixar accidentalment la roda encesa. Per ajudar a contrarestar-ho, he afegit un LED a la part davantera per poder veure que la roda estava engegada. Es tracta només d’un senzill LED de 3 mm que s’executa des del 5v a l’arduino mitjançant una resistència. La part superior es lija per difondre una mica la llum i evitar enlluernaments.

Mesurador de nivell de bateria He comprat alguns mesuradors de nivell de bateria de BG o Ali, però quan van arribar eren molt més grans del que esperava, però això és una cosa que encara vull afegir. Hi ha moltes opcions disponibles, però com que la bateria dura molt de temps, tendeixo a recarregar-me després d’unes hores d’ús.

Botons / codificadors / entrades analògiques addicionals Encara pensant en aquest. Per a mi, no és tan important per a les carreres que faig, però per a coses com la F1 probablement sigui més útil. Consideraré dues versions o hi afegiré si hi ha prou demanda, però això pot afectar el temps de resposta dels botons.

Recomanat: