Table des matières:

Joystick clavier USB : 5 étapes
Joystick clavier USB : 5 étapes

Vidéo: Joystick clavier USB : 5 étapes

Vidéo: Joystick clavier USB : 5 étapes
Vidéo: [TUTO] Comment régler le problème de compatibilité des manettes ou gamepad sur jeu PC windows 2024, Novembre
Anonim
Joystick de clavier USB
Joystick de clavier USB
Joystick de clavier USB
Joystick de clavier USB
Joystick de clavier USB
Joystick de clavier USB
Joystick de clavier USB
Joystick de clavier USB

Il est simple de créer des contrôleurs de clavier et de souris USB personnalisés.

J'utilise quelques raccourcis clavier lors de l'évaluation des images dans Adobe Lightroom et j'ai découvert que je pouvais être encore plus rapide à l'aide d'un simple joystick de contrôleur de jeu. Je l'ai simulé sur une planche à pain avec deux composants que j'avais déjà dans mon atelier et j'ai trouvé qu'il fonctionnait très bien, mais qu'il avait besoin d'un "armoire" plus agréable pour qu'il vive sur mon bureau.

Parce qu'il est basé sur Arduino, il est facile de personnaliser les fonctions du joystick et d'ajouter des boutons, des cadrans ou d'autres commandes supplémentaires.

Ce projet comporte trois volets:

  • Matériel
  • Logiciel
  • Étui digne d'un bureau pour contenir ledit matériel

les pièces

  • Arduino - 5v 16MHz Itsy Bitsy d'Adafruit. De nombreux autres Arduinos fonctionneront correctement, mais assurez-vous que leur USB peut fonctionner avec les bibliothèques de clavier et de souris.
  • Joystick - Style de contrôleur de jeu à 2 axes avec interrupteur (voici un pack de dix: WGCD 10pcs Joystick Breakout Module Game Controller pour Arduino PS2).
  • Bois ou acrylique pour étui. Peut-être de la peinture.
  • Fil et un câble USB.

Étape 1: Matériel

Matériel
Matériel
Matériel
Matériel
Matériel
Matériel

Arduino

Je voulais utiliser une petite carte Arduino pour garder cette construction aussi compacte que possible. J'ai quelques Pro Trinkets mais ils ne fonctionnent pas bien pour la simulation de clavier et de souris car l'USB n'est pas entièrement implémenté sur les Trinkets. Pour ce projet, j'ai utilisé un Itsy Bitsy 5V 16MHz d'Adafruit qui peut utiliser des bibliothèques HID standard pour être un clavier et une souris sur USB.

Manette

C'est le type de joystick qui est utilisé dans les contrôleurs de jeu. Ils sont à deux axes et ont un interrupteur qui s'allume temporairement lorsque le manche est enfoncé. Ils sont faciles à trouver en ligne. Si vous voulez en acheter un seul, ils peuvent aller de 4 $ à 10 $, mais peuvent être achetés en gros 10 packs sur Amazon pour environ 11 $.

Notez que les joysticks similaires d'Adafruit et Sparkfun ont des brochages différents de tous les autres que vous pouvez trouver en ligne. Faites attention à cela lorsque vous le branchez.

Sur l'Arduino, ce projet utilise A0 pour le commutateur, A1 pour l'axe X et A2 pour l'axe Y. Cela laisse 19 autres broches d'entrée pour que vous puissiez faire preuve de créativité.

Le joystick 5v provient de l'alimentation USB 5v (étiqueté comme tel sur le Itsy Bitsy). Et il a une terre - connectez-le à la terre Arduino.

Étape 2: Logiciel

Logiciel
Logiciel

Le code Arduino est très simple. Je l'ai programmé spécifiquement pour quelques raccourcis clavier Lightroom que j'utilise pour noter les images. Appuyez sur le commutateur pour basculer entre les vues Loupe ("e") et Grille ("g"). Déplacer le joystick vers la gauche et la droite permet d'accéder à l'image précédente (flèche gauche) ou suivante (flèche droite). Pousser le bâton vers le haut ajoute une étoile à la note ("["), et le pousser vers le bas supprime le drapeau ("u"). (Croyez-moi, cela a du sens dans la façon dont j'évalue mes images.) Vous pouvez modifier le code pour faire ce que vous voulez.

La boucle principale lit d'abord l'état du commutateur. S'il est passé de HAUT à BAS, il bascule et tape « e » ou « g » pour basculer entre la vue Loupe et Grille.

Ensuite, le programme mappe les valeurs analogiques du joystick (0 à 1024) sur une plage différente (-5 à +5). Le code reconnaît les valeurs +/- de 5 comme actions pour l'envoi de caractères, vous devez donc déplacer le joystick vers la fin de sa plage pour envoyer un raccourci clavier. Le joystick doit alors passer par 0 avant d'envoyer une autre frappe. Le code pour ce faire est assez court et je pense assez élégant. L'effet net est que vous devez être intentionnel dans vos mouvements et qu'il n'enverra pas accidentellement un flux de la même frappe (ce que ma première version du code a fait !).

Vous pouvez utiliser la bibliothèque de la souris et les valeurs analogiques du joystick pour contrôler votre curseur, les molettes de défilement, les commandes de volume ou toute autre fonction analogique (ish).

Étape 3: Cas, Partie 1 - Conception et découpe

Cas, Partie 1 - Conception et Découpe
Cas, Partie 1 - Conception et Découpe
Cas, Partie 1 - Conception et Découpe
Cas, Partie 1 - Conception et Découpe
Cas, Partie 1 - Conception et Découpe
Cas, Partie 1 - Conception et Découpe

Avoir une planche à pain sur mon bureau n'avait tout simplement pas l'air cool, et l'ergonomie n'était pas idéale non plus. Il est temps de concevoir un cas.

Ce serait un projet idéal pour imprimer en 3D un boîtier. Je n'ai pas d'imprimante 3D mais j'ai une découpeuse laser, donc tout ressemble à un projet de découpe laser pour moi maintenant. Il a fallu une soirée pour concevoir cette conception dans Adobe Illustrator, notamment en jouant avec de nombreux concepts différents comme un simple bâton, une forme plus organique utilisant des charnières découpées au laser et des formes carrées.

J'ai commencé par tenir la planche à pain à différentes hauteurs et angles, et j'ai décidé qu'un angle de 30° à une hauteur d'environ 80 à 100 mm du bureau serait confortable. La conception finale ressemble un peu à un petit joystick de vol et est confortable à tenir.

Le fichier Adobe Illustrator original ainsi que les versions DXF et PDF sont inclus ci-dessous. (Le DXF et le PDF n'ont pas été testés sur une découpeuse laser.) Le fichier comprend également des vues de dessus et de côté du joystick que vous pouvez utiliser pour mettre en place votre propre projet.

Il y a deux épaisseurs de matériau utilisées dans cette conception. Tout sauf le dessus est en contreplaqué 'utilitaire' de 0,187" du magasin à grande surface local. Une feuille de 2' x 4' ne coûte que 8 $ environ. La conception utilise 5 mm comme épaisseur pour le bois de 0,187" dans la conception, et elle s'assemble à la perfection. Le dessus est en contreplaqué de 3 mm pour permettre un dégagement supplémentaire pour la poignée du joystick. Ce projet serait bien aussi en acrylique transparent.

Quelques notes sur l'avantage de faire des prototypes: j'ai d'abord fait un test de découpe et d'assemblage avec du carton, ce qui a permis de trouver une erreur de conception. Lorsque j'ai coupé la version en bois pour la première fois, j'ai également découvert que la plaque supérieure était très fragile à cause du trou, j'ai donc redessiné les languettes pour y ajouter une résistance supplémentaire. J'ai également constaté que le joystick heurtait le côté du boîtier, j'ai donc fait deux changements: j'ai déplacé la monture pour mieux la centrer, et j'ai utilisé du bois de 3 mm au lieu de 5 mm sur le dessus. Le fichier de conception téléchargé contient tous ces changements - assurez-vous simplement de couper la pièce supérieure dans le bois le plus fin.

Étape 4: Cas, Partie 2 - Peinture et assemblage

Cas, Partie 2 - Peinture et assemblage
Cas, Partie 2 - Peinture et assemblage
Cas, Partie 2 - Peinture et assemblage
Cas, Partie 2 - Peinture et assemblage
Cas, Partie 2 - Peinture et assemblage
Cas, Partie 2 - Peinture et assemblage

Avec toutes les pièces coupées, j'ai fait un assemblage final à sec et monté temporairement le joystick. Tout était bon, alors j'ai collé toutes les pièces sauf le haut. Il n'est pas possible d'installer le joystick une fois le dessus fixé, cela viendra plus tard.

Le coin inférieur droit du haut pénétrait dans le bas de mon pouce, j'ai donc arrondi les coins inférieurs avec un ponçage rapide.

Si vous aimez le look découpé au laser, ou si vous l'avez fait en acrylique, vous avez terminé ! Je voulais une plus belle finition de la pièce pour aller avec mon bureau. Je lui ai donné une couche de base de peinture noire, puis quelques couches de Rust-oleum Forged Hammered Burnished Amber. J'ai utilisé ce produit sur la garniture de mon bureau, donc cela lie les pièces ensemble. J'aime aussi l'aspect métallisé de cette peinture. J'ai masqué l'intérieur des articulations des doigts là où le haut s'insère afin que la peinture ne gâche pas l'ajustement.

Le joystick et l'Arduino ont été câblés avec des fils noirs et des tubes rétractables pour le garder propre, et les fils ont été coupés à une longueur qui semblait correcte une fois installés.

Le joystick se visse sur la jambe de force centrale. Les vis que j'avais étaient un peu longues, alors je les ai raccourcies en les vissant à travers le bois inutilisé et j'ai poncé les pointes avec une ponceuse de table. L'Arduino n'a pas de trous de montage, il a donc été collé à chaud en place.

Avec tout monté, j'ai mis le dessus en place sans coller. Il est assez serré pour se tenir en place et n'est pas structurellement important.

Étape 5: Achèvement

Achèvement
Achèvement
Achèvement
Achèvement
Achèvement
Achèvement

Le projet fini a fière allure sur mon bureau.

La première chose pour laquelle je l'ai utilisé a été de modifier les images de cet Instuctable.

Terminé!

Conseillé: