Table des matières:

Boutons de manette/roue sans fil pour PC : 4 étapes (avec photos)
Boutons de manette/roue sans fil pour PC : 4 étapes (avec photos)

Vidéo: Boutons de manette/roue sans fil pour PC : 4 étapes (avec photos)

Vidéo: Boutons de manette/roue sans fil pour PC : 4 étapes (avec photos)
Vidéo: Pb : reconnaissance manette ps4 2024, Novembre
Anonim
Boutons de manette/roue sans fil pour PC
Boutons de manette/roue sans fil pour PC

J'ai construit une nouvelle simulation de course au cours des dernières années et j'ai décidé d'opter pour un volant DIY Direct Drive. Bien que ce projet à lui seul puisse être plusieurs instructables en soi, il s'agit d'une instruction sur la façon de rendre tous les boutons de la roue sans fil.

Pourquoi?

  • La roue DD a des rotations illimitées, donc avoir des fils qui y vont serait ennuyeux.
  • Pas de possibilité d'acheminer les câbles via l'arbre de roue comme dans les roues commerciales
  • Je voulais pouvoir échanger facilement des roues avec différentes configurations de boutons
  • Parce que je pourrais:)

Pour atteindre l'objectif des boutons sans fil, nous devons considérer:

  • Livraison de puissance
  • Connectivité sans fil
  • Temps de réaction/délai
  • Fiabilité

Les composants suivants ont été choisis pour correspondre à ces critères: Tx - Arduino Nano avec module NRF24 intégré ici ou utiliser un Generic Nano ou Pro Mini + NRF24 ModuleRx - Arduino Pro Micro / Leonardo / Beetle (Atmega32u4) + NRF24 moduleUSB 'Battery Bank' - Any La banque de batteries générique unique 18650 devrait fonctionner. Cela durera environ 20 heures! Vous voudrez peut-être vérifier s'il peut charger et fournir de l'énergie en même temps. C'est pratique s'il fonctionne à plat et que vous souhaitez charger et utiliser en même temps.

De plus, vous aurez besoin des boutons et d'un interrupteur d'alimentation de votre choix, d'un fil de raccordement et éventuellement d'un tube thermorétractable.

Cela peut également être utilisé dans une "boîte à boutons" au lieu d'une roue, mais j'ai pensé qu'il y aurait moins de demande pour cela car il n'y a pas beaucoup d'avantages s'il ne bouge pas.

Outils nécessaires:

Fer à souder et soudureUn pistolet à colle chaude est également pratique pour monter les pièces. Arduino IDE installé sur votre ordinateur.

Étape 1: Le câblage de l'émetteur

Le câblage de l'émetteur
Le câblage de l'émetteur
Le câblage de l'émetteur
Le câblage de l'émetteur
Le câblage de l'émetteur
Le câblage de l'émetteur

Commencez par monter autant de commutateurs que nécessaire sur votre volant et considérez l'emplacement de l'Arduino. Connectez tous les fils aux interrupteurs selon le schéma. Chaque bouton sera câblé avec un côté à GND et l'autre à la broche arduino associée. Le code permet 14 interrupteurs/boutons, ce qui devrait suffire pour la plupart des roues.

Si vous utilisez le Nano avec le module NRF intégré, vous n'avez évidemment pas besoin d'ajouter ce câblage associé pour cela, il suffit de câbler les boutons.

Les boutons sont dans cet ordre (1-14):RX, TX, D2, D3, D4, D5, D6, D7, A0, A1, A2, A3, A4, A5

Mais pourquoi seulement 14 boutons ? La raison en est que nous pouvons lire une banque complète de broches rapidement et que la transmission de seulement 2 octets de données ne prend pas longtemps - Donc, bien que cela puisse être modifié pour inclure plus de boutons (via une matrice) et/ ou des entrées analogiques, cela ralentirait un peu les choses. La lecture matricielle et les lectures/conversions analogiques prennent du temps au processeur. Je n'avais besoin que de 12 boutons sur mon volant, alors je suis parti avec ça, mais j'envisagerais d'en ajouter plus.

PuissancePour la puissance, vous avez deux choix - Vous pouvez soit laisser le groupe de batteries intact et simplement le fixer au volant d'une manière ou d'une autre. Cela vous donne l'avantage supplémentaire de pouvoir déconnecter l'alimentation de l'arduino, en évitant d'avoir un interrupteur intégré et du câblage.

Si vous préférez une solution plus personnalisée, il peut être nécessaire d'ouvrir le banc de batteries et de réutiliser les composants internes dans votre configuration personnalisée.

Je n'avais pas la place dans ma roue pour la laisser intacte, elle a donc été retirée. J'ai retiré le connecteur USB standard de la carte de charge et soudé les fils +5 et Gnd des plaquettes du port USB à l'Arduino via un commutateur. Il est un peu difficile de détailler cela en raison des nombreuses options disponibles…

Le circuit a ensuite été monté à l'intérieur de la roue, exposant le connecteur de charge micro USB.

La carte de charge aura une ou plusieurs LED pour afficher l'état de charge - Il est pratique de les rendre visibles d'une manière ou d'une autre ou d'utiliser du plastique pour les « porter » vers un endroit visible afin que vous sachiez quand la charge est terminée.

Quelle roue est-ce? Pour ceux qui sont intéressés, ma conception de roue est d'Amstudio - De superbes conceptions de pièces de simulation de course de bricolage sont disponibles chez eux à des prix raisonnables.

Étape 2: Le récepteur

Le Receveur
Le Receveur
Le Receveur
Le Receveur
Le Receveur
Le Receveur

Suivez simplement le schéma de câblage ci-joint. Si vous n'utilisez pas de Leonardo, vous aurez besoin d'un régulateur externe de 3,3 V tel que l'AMS1117. Le régulateur Pro Micro ne peut pas fournir assez de courant pour le module NRF24 et la coccinelle n'en a pas du tout.

J'ai codé par couleur les connexions au module NRF de la même manière pour le Pro Micro et la coccinelle.

L'Arduino 'Beetle' qui est assez facile à trouver dans les lieux communs mais encore une fois, il faudra utiliser un régulateur 3.3v car il n'en a pas du tout. J'ai testé ça et ça marche bien aussi. Les connexions sont les mêmes

Étape 3: Programmation des appareils

Programmation des appareils
Programmation des appareils
Programmation des appareils
Programmation des appareils
Programmation des appareils
Programmation des appareils

Si vous n'avez pas déjà installé l'IDE Arduino, rendez-vous sur https://www.arduino.cc et téléchargez la version adaptée à votre système d'exploitation pour cet exemple, je suis sous Windows.

Une fois configuré, vous aurez besoin de deux bibliothèques différentes - La première est simple via Sketch -> Inclure la bibliothèque -> Gérer les bibliothèques (ou CTRL+SHIFT+I)

NRFLite par Dave Parson (version 2.2.2 au moment de la publication)

Le second devra être installé manuellement à partir de

Cliquez sur 'Cloner ou Télécharger' puis 'Télécharger ZIP et ouvrez le fichier téléchargé. Vous devrez ensuite cliquer sur les dossiers jusqu'à ce que vous voyiez un dossier "Joystick" - Copiez-le dans votre dossier Bibliothèques Arduino (Sous Windows, il s'agit généralement de Sous Documents -> Arduino -> Bibliothèques.

Redémarrez l'IDE Arduino

Si vous utilisez le Pro Micro pour le récepteur, vous devrez également ajouter cette carte aux URL IDE. File -> Preferences -> Additional Boards Manager:

entrez:

Ensuite, allez dans Outils -> Gestionnaire de cartes, recherchez Sparkfun et installez 'Sparkfun AVR Boards'

Maintenant, nous sommes prêts ! Commençons par l'émetteur - Connectez-le à votre PC

Sous Outils -> Carte, sélectionnez « Arduino Nano » (ou la variante que vous avez décidé d'utiliser). Vérifiez également le port COM dans le menu Outils.

Ouvrez le fichier Wireless_Wheel_Tx joint.

Il n'y a qu'une seule ligne que vous pouvez modifier dans ce code et c'est:

int nrfChannel = 22;

Vous avez jusqu'à 126 canaux que vous pouvez utiliser sur le spectre 2,4 GHz. Il devrait être bon de laisser tel quel, mais si vous rencontrez des problèmes de fiabilité, modifiez peut-être ce numéro pour un autre numéro.

Ensuite, appuyez simplement sur le bouton « télécharger » et attendez que cela se termine.

Il en va de même pour le Leonardo/Pro Micro/Beetle - Sélectionnez la carte que vous voulez - Pour Leonardo et Beetle, sélectionnez la carte Arduino leonardo. Pour le Pro Micro, sélectionnez-le et sélectionnez également la variante/processeur Atmega32u4 (5v, 16Mhz), ouvrez le fichier Wireless_Wheel_Rx, modifiez le paramètre nrfChannel (si vous l'avez modifié sur le Tx) et programmez.

Une fois l'appareil redémarré lors de la programmation, votre ordinateur devrait détecter un périphérique joystick. Si vous allumez également votre émetteur, vous devriez pouvoir appuyer sur les boutons et l'afficher dans l'état de l'appareil !

Une caractéristique accessoire intéressante est que vous obtiendrez un voyant d'état sur le Leonardo et le Pro Micro - Le voyant USB TX s'allumera lorsqu'il sera connecté aux boutons. Ce n'est pas présent sur le coléoptère cependant.

MISE À JOUR 13/2/2021

J'ai ajouté 2 fichiers supplémentaires (Tx et Rx) à l'instructable ici pour une version avec 4 entrées analogiques ainsi qu'une matrice de boutons 3X8. La plupart du temps non testé, peut avoir du retard. Veuillez essayer et commenter.

Étape 4: Améliorations

Améliorations
Améliorations

Power LEDAprès avoir utilisé cette solution pendant un petit moment, j'avais l'habitude de laisser accidentellement le volant allumé. Pour aider à contrer cela, j'ai ajouté une LED à l'avant pour que je puisse voir que la roue était allumée. Il s'agit simplement d'une simple led de 3 mm à partir du 5v sur l'arduino via une résistance. Le dessus est poncé pour diffuser un peu la lumière et éviter l'éblouissement.

Indicateur de niveau de batterieJ'ai acheté des indicateurs de niveau de batterie auprès de BG ou d'Ali, mais lorsqu'ils sont arrivés, ils étaient beaucoup plus gros que ce à quoi je m'attendais, mais c'est quelque chose que je veux encore ajouter. De nombreuses options sont disponibles pour cela, mais comme la batterie dure si longtemps, j'ai tendance à la recharger après quelques heures d'utilisation.

Boutons/encodeurs/entrées analogiques supplémentaires Je pense toujours à celui-ci. Pour moi, ce n'est pas si important pour les courses que je fais, mais pour des choses comme la F1, c'est probablement plus utile. J'envisagerai deux versions ou l'ajouterai si la demande est suffisante, mais cela peut avoir un impact sur le temps de réponse des boutons.

Conseillé: