Taula de continguts:

Controlador On Go: 8 passos
Controlador On Go: 8 passos

Vídeo: Controlador On Go: 8 passos

Vídeo: Controlador On Go: 8 passos
Vídeo: LST 3D Surround Sound Test HD || Use Headphones 2024, Juliol
Anonim
Al controlador Go
Al controlador Go
Al controlador Go
Al controlador Go
Al controlador Go
Al controlador Go

T’agrada jugar al teu telèfon intel·ligent? Esteu cansats de jugar amb uns controls de pantalla tàctil maldestres? Odio oblidar carregar el controlador Bluetooth? Necessiteu un ús per a aquest cable que heu comprat però que no utilitzeu mai?

Per què no fer el vostre propi controlador de desplaçament?

Estic segur que arribo bastant tard al joc (joc de paraules), però recentment he descobert que el meu vell telèfon intel·ligent era capaç de jugar a jocs retro mitjançant emulació. Al créixer, era un gran fan dels sistemes de Game Boy i tinc bons records de jugar durant hores i d’estirar els ulls en llargues passejades en cotxe intentant desesperadament trobar un punt d’estalvi abans que la meva bateria mori o el sol estigués molt més enllà de l’horitzó per veure la meva pantalla. Ara puc jugar al telèfon i deixar-me nostàlgic, però amb una bonica pantalla retroil·luminada. Gràcies tecnologia!

Exempció de responsabilitat: l’emulació de jocs és un tema delicat i, en alguns casos, voreja la línia de la pirateria. Educeu-vos i jugueu amb responsabilitat.

Antecedents:

Vaig decidir continuar aquest projecte després de fer una drecera de teclat. Mentre aprenia la biblioteca de teclat arduino i arribava amb dreceres, he lligat alguns dels botons de prova a WASD. Immediatament va començar a treballar amb els meus jocs de PC i això va fer girar les rodes. Al mateix temps, em vaig quedar sense espai al telèfon per a llibres d’àudio i vaig examinar com fer servir una unitat flash USB amb el telèfon, ja que el meu model no permet les targetes microSD. Va ser llavors quan vaig conèixer OTG. OTG utilitza la càrrega de la bateria dels telèfons per alimentar el dispositiu que hi està connectat. Això inclou teclats, ratolins i unitats flash per nomenar alguns. El telèfon pot alimentar dispositius de 5 V i endevinar què necessita el micro arduino per funcionar? Va ser un partit fet al cel.

Subministraments

Arduino Micro

Tauler prototip

Botons de 12 x 6 mm (he utilitzat clàssics interruptors momentanis tàctils)

Soldador i soldador

Impressora 3D

Cable on the go (OTG); Vaig fer la meva

Cable de càrrega micro USB

Pas 1: disseny

Disseny
Disseny
Disseny
Disseny
Disseny
Disseny

Volia que el meu controlador fos portàtil i oferís tots els botons que necessitaria per jugar a jocs fins a l'era de Super Nintendo. Això significava que necessitaria 12 botons. Quatre per al teclat de direcció (d-pad) i vuit per al A, B, X, Y, Start, Select, Left Trigger i Right Trigger. També tenia un requisit addicional que volia que fos simètric per poder tocar-lo amb una sola mà amb qualsevol de les dues mans. Aquest requisit addicional pot semblar estrany, però, per donar un cert context, he de mencionar que recentment em trobo regularment amb un bebè adormit i només faig servir una mà durant el meu temps de joc limitat.

Amb els requisits definits em vaig proposar dissenyar el meu controlador en CAD. Personalment utilitzo OnShape, però sé que molta gent també té èxit amb Fusion360. M'agradaria fer un crit ràpid a les altres persones d'aquest lloc que dissenyin les seves pròpies creacions. És un treball dur! El disseny que vaig plantejar era molt senzill, però em va costar moltes hores satisfer-me. Tot i que escric això, veig moltes millores que voldria fer.

(Tinc previst fer només els fitxers.stl de Thingiverse quan el temps ho permeti. Els fitxers hi seran per poder actualitzar-los sense haver de carregar-los constantment aquí).

Pas 2: imprimiu la vostra creació

Imprimiu la vostra creació
Imprimiu la vostra creació

Tinc una impressora Ender 3 que només tinc des de fa uns mesos. És una impressora fantàstica per començar si voleu imprimir en 3D. No em vaig adonar del desconcertat que va ser fins que vaig mesurar les meves parts per a aquest projecte. Fins aquest projecte només l’havia utilitzat per imprimir minis per a jocs de sobretaula. Els minis van sortir genials i no m’importaven massa les dimensions. Vaig necessitar diversos cubs de calibratge i un nou rotllo de filament abans de quedar satisfet amb els resultats.

Pas 3: Preparació del prototip de tauler

Preparant el tauler prototip
Preparant el tauler prototip
Preparant el tauler prototip
Preparant el tauler prototip

Abans de soldar els botons a un tauler prototip he provat tots els botons d’una taula de proves i he provat el meu codi arduino alhora. Revisaré el codi en un pas posterior.

Ara és el millor moment per reduir la mida del vostre prototip de tauler. Utilitzeu la carcassa del controlador imprès com a guia i ajusteu els botons en sec per assegurar-vos que tot estigui alineat. Acabo d’agafar uns retalls de filferro i vaig tallar l’excés de taulers i després vaig lijar les vores quadrades amb una mica de paper de vidre de sorra de 150 graus.

El cablejat del controlador és realment senzill, ja que estem fent servir les resistències internes de pujada del micro arduino. Tots els botons van a una entrada i a terra. Els botons que faig servir són interruptors momentanis tàctils genèrics de 6 mm.

Soldar els botons a l’arduino era un petit trencaclosques divertit per resoldre. Alguns dels botons es trobaven sota l’arduino i vaig haver d’executar cables per sota abans de soldar l’arduino a la placa prototip. Si mireu amb deteniment el botó del tauler, he trobat a faltar l’esquerra i la dreta del coixinet direccional.

Per al meu disseny específic, heu soldat els botons del coixinet direccional amunt i avall (he trobat a faltar els botons del coixinet direccional esquerre i esquerre) al tauler prototip, juntament amb alguns cables extra llargs, i després he capgirat el tauler i heu soldat l’arduino. No tinc cap diagrama perquè he soldat sobretot els botons d’un en un a l’atzar (podria penjar-ne un si hi ha prou interès). Després d'assegurar l'arduino, vaig donar la volta al tauler al costat del botó i vaig soldar la resta de botons i els seus cables.

Pas 4: Opcional: avanceu la carcassa del controlador

Abans del muntatge final és un bon moment per esmaltar, omplir buits i pintar la carcassa del controlador. Vaig optar per ometre aquest pas pel meu prototip perquè volia tenir alguna cosa que utilitzar immediatament. Quan, inevitablement, millori el meu disseny per aconseguir quelcom més polit, li donaré el dolor que es mereix.

Pas 5: Assemblea final

Assemblea final
Assemblea final

Ara és el moment de posar tots els botons i el tauler prototip complet a la carcassa. Vaig utilitzar cargols de xapa # 4-24 x 1/2 per al meu disseny. Aconsegueixen la feina, però no encaixen tan bé com voldria.

Pas 6: programa el teu Arduino

És possible que vulgueu fer aquest pas abans quan encara esteu dissenyant el tauler o després d’haver soldat tot al tauler prototip. M'agrada tenir-ho a la seva secció.

El codi és molt senzill en relació amb la majoria de programes arduino que he vist. Només hem d’assignar a cada botó un valor de teclat i l’arduino farà un bucle per comprovar quins botons es premen i enviar aquesta informació al nostre telèfon.

Per als interessats, faig servir l’aplicació retroArch per jugar als meus jocs retro. Les tecles que he fet servir estan configurades al disseny de teclat per defecte utilitzat per 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' // espatlla esquerra = 'q' // espatlla dreta = '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'}; Botons de rebot * = Rebot nou [NUM_BUTTONS]; void setup () {for (int i = 0; i <NUM_BUTTONS; i ++) {botons .attach (BUTTON_PINS , INPUT_PULLUP); botons .interval (25); } // inicialitzar el control sobre el teclat: Keyboard.begin (); } void loop () {// comproveu si el valor ha canviat per a (int i = 0; i <NUM_BUTTONS; i ++) {botons .update (); if (botons .fell ()) {Keyboard.press (BUTTON_KEYS ); } if (botons .rose ()) {Keyboard.release (BUTTON_KEYS ); }}}

Pas 7: Juga als teus jocs

Juga als teus jocs
Juga als teus jocs

Com a alternativa, aquest controlador es pot utilitzar amb un PC sense el cable OTG per enviar premudes de tecles o macros. També tenia un amic que deia que un controlador com aquest també podria ser útil per dibuixar tauletes, encara que mai no m’hi he ficat mai.

Espero que us sigui útil aquesta instrucció. A continuació es mostra una secció de lliçons apreses per a aquells curiosos sobre el que vaig aprendre durant el procés i el que m’hauria agradat haver fet de manera diferent.

Pas 8: lliçons apreses

CAD:

Mai no m’he embolicat gaire amb el programari CAD i he hagut d’aprendre sobre la marxa amb aquest disseny. Originalment, anava amb un disseny més vertical que s’adaptava a les teves mans de la mateixa manera que un Wii Nunchuk. El meu coneixement limitat de dissenyar amb formes orgàniques va ser la meva caiguda. Potser hauria de tenir Intructables en la seva classe de disseny CAD.

Botons:

Els botons que vaig fer servir eren més alts del que voldria (sobretot quan intentaves evitar que algú es despertés). M'agradaria trobar alguns botons més silenciosos. La incorporació de molles entre els botons i les tapes dels botons ajudaria molt a fer que la construcció se sentís més pulida. Els botons tenen massa fluix per al meu gust.

Soldadura:

Sóc novell en soldar i no tinc les mans molt estables. Soldar tots aquests petits cables de tot el lloc va trigar molt més del que havia previst. Si hagués de fer-ho tot de nou, definiria definitivament per on anirien els cables abans d’agafar el ferro. Això mitigaria els errors que vaig descobrir després d’enganxar l’arduino a la placa prototip i m’hauria estalviat temps.

Recomanat: