Table des matières:
- Fournitures
- Étape 1: Concevoir
- Étape 2: imprimez votre création
- Étape 3: Préparation de votre carte prototype
- Étape 4: Facultatif: embellissez votre boîtier de contrôleur
- Étape 5: Assemblage final
- Étape 6: programmez votre Arduino
- Étape 7: Jouez à vos jeux
- Étape 8: Leçons apprises
Vidéo: Contrôleur On the Go : 8 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:06
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
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
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
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
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
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é:
Comment installer, exécuter et connecter un contrôleur à un émulateur : 7 étapes
Comment installer, exécuter et connecter un contrôleur à un émulateur : Avez-vous déjà été assis et vous souvenez-vous de votre enfance en tant que jeune joueur et souhaitez parfois pouvoir revisiter ces vieux joyaux du passé ? Eh bien, il y a une application pour ça… plus précisément, il y a une communauté de joueurs qui font des programmes
Construire un contrôleur MIDI Arduino : 5 étapes (avec photos)
Construire un contrôleur MIDI Arduino : Salut à tous ! Dans ce instructable, je vais vous montrer comment construire votre propre contrôleur MIDI alimenté par Arduino. MIDI signifie Musical Instrument Digital Interface et c'est un protocole qui permet aux ordinateurs, instruments de musique et autres matériels de commu
Contrôleur de flux CCTV-Raspberry Pi : 3 étapes
Contrôleur de flux CCTV-Raspberry Pi : Bonjour à tous, bienvenue dans un autre Instructable de Scientify Inc. ! Ce projet optimise ce qu'une caméra de vidéosurveillance enregistre en utilisant la détection de mouvement intégrée à l'aide de la différence quadratique moyenne (RMS) entre deux images consécutives. Cela aide à créer un flux de vidéosurveillance
Contrôleur de jeu DIY basé sur Arduino - Contrôleur de jeu Arduino PS2 - Jouer à Tekken avec la manette de jeu DIY Arduino : 7 étapes
Contrôleur de jeu DIY basé sur Arduino | Contrôleur de jeu Arduino PS2 | Jouer à Tekken avec la manette de jeu DIY Arduino : Bonjour les gars, jouer à des jeux est toujours amusant, mais jouer avec votre propre contrôleur de jeu personnalisé DIY est plus amusant. Nous allons donc créer un contrôleur de jeu utilisant arduino pro micro dans cette instructables
YABC - Encore un autre contrôleur Blynk - Contrôleur de température et d'humidité du cloud IoT, ESP8266 : 4 étapes
YABC - Encore un autre contrôleur Blynk - Contrôleur de température et d'humidité du cloud IoT, ESP8266 : Salut les fabricants, j'ai récemment commencé à cultiver des champignons à la maison, des pleurotes, mais j'ai déjà 3x de ces contrôleurs à la maison pour le contrôle de la température du fermenteur pour ma bière maison, femme fait aussi ce truc de Kombucha maintenant, et en tant que thermostat pour la chaleur