Table des matières:

Contrôleur On the Go : 8 étapes
Contrôleur On the Go : 8 étapes

Vidéo: Contrôleur On the Go : 8 étapes

Vidéo: Contrôleur On the Go : 8 étapes
Vidéo: Comment l'eau monte-t-elle dans les étages ? - C'est pas sorcier 2024, Novembre
Anonim
Contrôleur en déplacement
Contrôleur en déplacement
Contrôleur en déplacement
Contrôleur en déplacement
Contrôleur en déplacement
Contrôleur en déplacement

Vous aimez jouer à des jeux sur votre smartphone ? Êtes-vous fatigué de jouer avec des commandes tactiles maladroites ? Vous détestez oublier de charger votre manette Bluetooth ? Besoin d'une utilisation pour ce câble en déplacement que vous avez acheté mais que vous n'utilisez jamais ?

Pourquoi ne pas créer votre propre manette en déplacement ?

Je suis sûr que je suis assez en retard pour le jeu (jeu de mots) mais j'ai récemment découvert que mon ancien smartphone était capable de jouer à des jeux rétro via l'émulation. En grandissant, j'étais un grand fan des systèmes Game Boy et j'ai de bons souvenirs de jouer pendant des heures et de forcer mes yeux sur de longs trajets en voiture essayant désespérément de trouver un point de sauvegarde avant que ma batterie ne s'épuise ou que le soleil soit trop au-delà de l'horizon pour voir mon écran. Maintenant, je peux jouer sur mon téléphone et céder à la nostalgie mais avec un bel écran rétro-éclairé. Merci la technologie !

Avis de non-responsabilité: l'émulation de jeux est un sujet délicat et contourne la ligne du piratage dans certains cas. S'il vous plaît, renseignez-vous et jouez de manière responsable !

Fond:

J'ai décidé de poursuivre ce projet après avoir fait un raccourci clavier. Tout en apprenant la bibliothèque de claviers arduino et en trouvant des raccourcis, j'ai lié certains des boutons de test à WASD. Il a immédiatement commencé à fonctionner avec mes jeux PC et cela a fait tourner les roues. À peu près à la même époque, j'ai manqué d'espace sur mon téléphone pour les livres audio et j'ai cherché à utiliser une clé USB avec mon téléphone, car mon modèle n'autorise pas les cartes microSD. C'est à ce moment-là que j'ai entendu parler d'OTG. OTG utilise la charge de la batterie de votre téléphone pour alimenter l'appareil qui lui est connecté. Cela inclut les claviers, les souris et les lecteurs flash pour n'en nommer que quelques-uns. Le téléphone peut alimenter des appareils 5v et devinez ce dont le micro arduino a besoin pour fonctionner ? C'était un match fait au paradis.

Fournitures

Arduino Micro

Carte prototype

Boutons 12 x 6 mm (j'ai utilisé des interrupteurs momentanés tactiles de la planche à pain classique)

Fer à souder et soudure

Imprimante 3D

Câble en déplacement (OTG); j'ai fait le mien

Câble de chargement micro-USB

Étape 1: Concevoir

Concevoir
Concevoir
Concevoir
Concevoir
Concevoir
Concevoir

Je voulais que ma manette soit portable et offre tous les boutons dont j'aurais besoin pour jouer à des jeux jusqu'à l'ère Super Nintendo. Cela signifiait que j'aurais besoin de 12 boutons. Quatre pour le pavé directionnel (d-pad) et huit pour A, B, X, Y, Start, Select, Left Trigger et Right Trigger. J'avais également une exigence supplémentaire selon laquelle je voulais qu'il soit symétrique afin que je puisse le jouer à une main en utilisant l'une ou l'autre main. Cette exigence supplémentaire peut sembler étrange, mais pour donner un peu de contexte, je dois mentionner que récemment, je me retrouve régulièrement à tenir un bébé endormi et n'ai l'usage que d'une main pendant mon temps de jeu limité.

Avec les exigences définies, j'ai entrepris de concevoir mon contrôleur en CAO. Personnellement, j'utilise OnShape, mais je sais que de nombreuses personnes ont également du succès avec Fusion360. J'aimerais saluer rapidement les autres personnes sur ce site qui conçoivent leurs propres créations. C'est un travail difficile! Le design que j'ai proposé était super simple mais il m'a quand même fallu plusieurs heures pour être satisfait. Alors même que je tape ceci, je remarque de nombreuses améliorations que j'aimerais apporter.

(Je prévois de mettre les fichiers.stl sur Thingiverse lorsque le temps le permet. Les fichiers seront là pour que je puisse les mettre à jour sans avoir à télécharger constamment des fichiers ici.)

Étape 2: imprimez votre création

Imprimez votre création !
Imprimez votre création !

J'ai une imprimante Ender 3 que je n'ai que depuis quelques mois. C'est une excellente imprimante pour commencer si vous voulez vous lancer dans l'impression 3D. Je n'avais pas réalisé à quel point c'était détraqué jusqu'à ce que je mesure mes pièces pour ce projet. Jusqu'à ce projet, je ne l'avais utilisé que pour imprimer des minis pour les jeux sur table. Les minis sont sortis très bien et je ne me souciais pas trop des dimensions. Il a fallu plusieurs cubes de calibrage et un nouveau rouleau de filament avant d'être satisfait du résultat.

Étape 3: Préparation de votre carte prototype

Préparation de votre carte prototype
Préparation de votre carte prototype
Préparation de votre carte prototype
Préparation de votre carte prototype

Avant de souder des boutons sur une carte prototype, j'ai testé tous les boutons sur une maquette et testé mon code arduino en même temps. Je reviendrai sur le code dans une étape ultérieure.

C'est maintenant le meilleur moment pour couper votre prototype de planche à la bonne taille. Utilisez votre boîtier de contrôleur imprimé comme guide et ajustez à sec les boutons pour vous assurer que tout s'aligne. J'ai juste pris des cisailles et coupé l'excès de planche, puis j'ai poncé les bords à l'équerre avec du papier de verre grain 150.

Le câblage du contrôleur est vraiment simple puisque nous utilisons les résistances de rappel internes de l'arduino micro. Tous les boutons vont à une entrée et à la masse. Les boutons que j'utilise sont des commutateurs momentanés tactiles génériques de 6 mm.

Souder les boutons à l'arduino était un petit casse-tête amusant à résoudre. Certains des boutons étaient sous l'arduino et j'ai dû faire passer des fils sous celui-ci avant de souder l'arduino à la carte prototype. Si vous regardez de près du côté des boutons du tableau, j'ai raté la gauche et la droite pour le pavé directionnel.

Pour ma conception spécifique, j'ai soudé les boutons du pavé directionnel haut et bas (j'ai raté les boutons du pavé directionnel gauche et droit) à la carte prototype avec des fils extra-longs, puis j'ai retourné la carte et soudé l'arduino. Je n'ai pas de schéma car j'ai principalement soudé les boutons un par un au hasard (je pourrais en télécharger un s'il y a suffisamment d'intérêt). Une fois l'arduino sécurisé, j'ai retourné la carte du côté des boutons et j'ai soudé le reste des boutons et leurs fils.

Étape 4: Facultatif: embellissez votre boîtier de contrôleur

Avant l'assemblage final, c'est le bon moment pour poncer, combler les lacunes et peindre le boîtier de votre contrôleur. J'ai choisi de sauter cette étape pour mon prototype car je voulais avoir quelque chose à utiliser immédiatement. Lorsque j'améliorerai inévitablement mon design en quelque chose de plus raffiné, je lui donnerai le travail pénible qu'il mérite.

Étape 5: Assemblage final

L'assemblage final
L'assemblage final

Il est maintenant temps de mettre tous vos boutons et la carte prototype terminée dans le boîtier. J'ai utilisé des vis à tôle #4-24 x 1/2 pour ma conception. Ils font le travail mais ne s'adaptent pas aussi bien que je le voudrais.

Étape 6: programmez votre Arduino

Vous voudrez peut-être faire cette étape plus tôt lorsque vous concevez encore la carte ou après avoir tout soudé à la carte prototype. J'aime juste avoir ça dans sa propre section.

Le code est très simple par rapport à la plupart des programmes arduino que j'ai vus. Nous avons seulement besoin d'attribuer à chaque bouton une valeur de clavier et l'arduino passera en boucle pour vérifier quels boutons sont enfoncés et envoyer ces informations à notre téléphone.

Pour ceux que ça intéresse, j'utilise l'application retroArch pour jouer à mes jeux rétro. Les touches que j'ai utilisées sont définies sur la disposition de clavier par défaut utilisée pour retroArch.

#include #include "Keyboard.h" #define NUM_BUTTONS 12 const uint8_t BUTTON_PINS[NUM_BUTTONS] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13}; // a = 'x' // b = 'z' // x = 's' // y = 'a' // épaule gauche = 'q' // épaule droite = 'w' // select = 'rshift ' // start = 'enter' // up = 'key:up' // down = 'key:down' // left = 'key:left' // right = 'key:right' const char BUTTON_KEYS[NUM_BUTTONS] = {KEY_RETURN, KEY_DOWN_ARROW, KEY_UP_ARROW, KEY_LEFT_ARROW, KEY_RIGHT_ARROW, KEY_RIGHT_SHIFT, 'z', 'x', 's', 'a', 'q', 'w'}; Bounce * boutons = nouveau Bounce[NUM_BUTTONS]; void setup() { pour (int i = 0; i < NUM_BUTTONS; i++) { boutons.attach(BUTTON_PINS, INPUT_PULLUP); boutons.interval(25); } // initialise le contrôle sur le clavier: Keyboard.begin(); } void loop() { // vérifie si la valeur a changé pour (int i = 0; i < NUM_BUTTONS; i++) { button.update(); if (boutons.fell()) { Keyboard.press(BUTTON_KEYS); } if (boutons.rose()) { Keyboard.release(BUTTON_KEYS); } } }

Étape 7: Jouez à vos jeux

Jouez à vos jeux !
Jouez à vos jeux !

Alternativement, ce contrôleur peut être utilisé avec un PC sans câble OTG pour envoyer des touches ou des macros. J'ai aussi eu un ami qui m'a dit qu'un contrôleur comme celui-ci pourrait également être utile pour dessiner des tablettes bien que je n'aie jamais joué avec un auparavant.

J'espère que vous avez trouvé ce Instructable utile. Vous trouverez ci-dessous une section sur les leçons apprises pour ceux qui sont curieux de savoir ce que j'ai appris au cours du processus et ce que j'aurais aimé faire différemment.

Étape 8: Leçons apprises

GOUJAT:

Je n'ai jamais beaucoup joué avec les logiciels de CAO dans le passé et j'ai dû apprendre en déplacement avec cette conception. À l'origine, j'ai opté pour un design plus vertical qui tiendrait dans vos mains un peu comme un Wii Nunchuk. Ma connaissance limitée de la conception avec des formes organiques a été ma chute. Peut-être que je devrais prendre Intructables dans sa classe de conception CAO.

Boutons:

Les boutons que j'ai utilisés étaient plus forts que je ne le souhaiterais (surtout lorsque vous essayiez d'empêcher quelqu'un de se réveiller). J'aimerais trouver des boutons plus silencieux. L'incorporation de ressorts entre les boutons et les capuchons de boutons contribuerait grandement à rendre la construction plus soignée. Les boutons ont trop de mou à mon goût.

Soudure:

Je suis novice en soudure et je n'ai pas les mains très stables. Souder tous ces petits fils partout a pris beaucoup plus de temps que prévu. Si je devais tout recommencer, je déterminerais certainement où mes fils passeraient avant de saisir le fer. Cela atténuerait les erreurs que j'ai découvertes après avoir apposé l'arduino sur la carte prototype et m'aurait fait gagner du temps.

Conseillé: