Indholdsfortegnelse:

On the Go -controller: 8 trin
On the Go -controller: 8 trin

Video: On the Go -controller: 8 trin

Video: On the Go -controller: 8 trin
Video: 8 случаев когда ZEUS поразил весь мир (CS:GO) 2024, November
Anonim
On the Go -controller
On the Go -controller
On the Go -controller
On the Go -controller
On the Go -controller
On the Go -controller

Kan du lide at spille spil på din smartphone? Er du træt af at spille med uklare berøringsskærmskontroller? Hader du at glemme at oplade din Bluetooth -controller? Har du brug for det til det go -kabel, du har købt, men aldrig har brugt?

Hvorfor ikke lave din egen on the go -controller?

Jeg er sikker på, at jeg er ret sent til spillet (ordspil beregnet), men jeg har for nylig opdaget, at min gamle smartphone var i stand til at spille retro -spil via emulering. Da jeg voksede op, var jeg en stor fan af Game Boy -systemerne og har gode minder om at lege i timevis og spænde øjnene for lange bilture, der desperat forsøgte at finde et redningspunkt, før mit batteri døde, eller solen var for langt ud over horisonten til se min skærm. Nu kan jeg spille på min telefon og give efter for nostalgi, men med en flot baggrundsbelyst skærm. Tak teknologi!

Ansvarsfraskrivelse: Spilemulering er et følsomt emne og går i visse tilfælde uden om piratkopiering. Uddann dig og spil ansvarligt!

Baggrund:

Jeg besluttede at forfølge dette projekt efter at have lavet et genvejstastatur. Mens jeg lærte arduino -tastaturbiblioteket og kom med genveje, bandt jeg nogle af testknapperne til WASD. Det begyndte straks at arbejde med mine pc -spil, og det fik hjulene til at dreje. Omtrent på samme tid løb jeg tør for plads på min telefon til lydbøger og undersøgte, hvordan jeg kunne bruge et USB -flashdrev med min telefon, da min model ikke tillader microSD -kort. Det var da jeg lærte om OTG. OTG udnytter opladningen fra dine telefoners batteri til at drive den enhed, der er tilsluttet den. Dette inkluderer tastaturer, mus og flashdrev for at nævne nogle få. Telefonen kan drive 5v -enheder og gætte, hvad arduino -mikro kræver for at fungere? Det var en match lavet i himlen.

Forbrugsvarer

Arduino Micro

Prototype Board

12 x 6 mm knapper (jeg brugte klassiske breadboard taktile momentane switches)

Loddejern og lodning

3D printer

På farten (OTG) kabel; Jeg lavede min egen

Micro USB opladningskabel

Trin 1: Design

Design
Design
Design
Design
Design
Design

Jeg ville have min controller til at være bærbar og tilbyde alle de knapper, jeg skulle bruge for at spille spil op til Super Nintendo -æraen. Det betød, at jeg skulle bruge 12 knapper. Fire til retningspladen (d-pad) og otte til A, B, X, Y, Start, Select, Left Trigger og Right Trigger. Jeg havde også et yderligere krav om, at jeg ville have det til at være symmetrisk, så jeg kunne spille det med én hånd med hver hånd. Det ekstra krav lyder måske mærkeligt, men for at give en vis kontekst må jeg nævne, at jeg for nylig regelmæssigt finder mig selv i en sovende baby og kun har brugt en hånd i min begrænsede spilletid.

Med de definerede krav satte jeg mig for at designe min controller i CAD. Jeg bruger personligt OnShape, men jeg ved, at mange mennesker også har succes med Fusion360. Jeg vil gerne give et hurtigt råb til de andre mennesker på dette websted, der designer deres egne kreationer. Det er hårdt arbejde! Det design, jeg kom med, var superenkelt, men det tog stadig mange timer, før jeg var tilfreds. Selvom jeg skriver dette ud, bemærker jeg mange forbedringer, jeg gerne vil foretage.

(Jeg planlægger at.stl -filerne på Thingiverse når tiden tillader det. Filerne vil være der, så jeg kan opdatere dem uden konstant at skulle uploade filer her.)

Trin 2: Udskriv din skabelse

Udskriv din skabelse!
Udskriv din skabelse!

Jeg har en Ender 3 printer, som jeg kun har haft i et par måneder. Det er en fantastisk printer at komme i gang med, hvis du vil ind i 3D -udskrivning. Jeg var ikke klar over, hvor sløret det var, før jeg målte mine dele til dette projekt. Indtil dette projekt havde jeg kun brugt det til at udskrive minis til bordspil. Minis kom godt ud, og jeg var ligeglad med dimensioner. Det tog flere kalibreringsterninger og en ny rulle filament, før jeg var tilfreds med resultaterne.

Trin 3: Forberedelse af dit prototypebord

Forberedelse af dit prototypebord
Forberedelse af dit prototypebord
Forberedelse af dit prototypebord
Forberedelse af dit prototypebord

Inden lodning af knapper til et prototypebræt testede jeg alle knapperne på et brødbræt og testede min arduino -kode på samme tid. Jeg vil gå over koden i et senere trin.

Nu er det bedste tidspunkt at skære dit prototypebræt i størrelse. Brug dit trykte controllerhus som en vejledning, og pas tør knapperne til for at sikre, at alt står på linje. Jeg tog lige nogle trådklip og skar det overskydende bræt af og slibede derefter kanterne firkantet med ca. 150 sandpapir.

Ledningerne til controlleren er virkelig ligetil, da vi bruger arduino micros interne pull up -modstande. Alle knapper går til en input og jorden. De knapper, jeg bruger, er generiske 6 mm taktile momentane switche.

Lodning af knapperne til arduinoen var et sjovt lille puslespil at løse. Nogle af knapperne var under arduinoen, og jeg måtte køre ledninger ud under den, før jeg lodde arduinoen til prototypebordet. Hvis du ser nøje på knappen side af brættet, savnede jeg venstre og højre for retningspladen.

Til mit specifikke design lodde jeg op- og nedad retningsknapper (jeg savnede de venstre og højre retningsknapper) til prototypebordet sammen med nogle ekstra lange ledninger, så vendte brættet om og lodde arduinoen. Jeg har ikke et diagram, fordi jeg mest lodde knapperne en ad gangen tilfældigt (jeg kan uploade en, hvis der er interesse nok). Efter at arduinoen var sikret, vendte jeg brættet tilbage til knappesiden og lodde resten af knapperne og deres ledninger.

Trin 4: Valgfrit: Pift dit controllerhus op

Inden den sidste samling er et godt tidspunkt at slibe, udfylde huller og male dit controllerhus. Jeg valgte at springe dette trin over til min prototype, fordi jeg ville have noget at bruge med det samme. Når jeg uundgåeligt forbedrer mit design til noget mere poleret, vil jeg give det det smertejob, det fortjener.

Trin 5: Endelig samling

Endelig forsamling
Endelig forsamling

Nu er det tid til at lægge alle dine knapper og færdige prototypebord ind i huset. Jeg brugte #4-24 x 1/2 pladeskruer til mit design. De får arbejdet udført, men passer ikke så godt, som jeg gerne ville.

Trin 6: Programmer din Arduino

Du vil måske gøre dette trin tidligere, når du stadig er ved at designe tavlen, eller efter at du har loddet alt til prototypekortet. Jeg kan bare lide at have dette i sin egen sektion.

Koden er meget enkel i forhold til de fleste arduino -programmer, jeg har set. Vi behøver kun at tildele hver knap en tastaturværdi, og arduinoen vil gå igennem for at kontrollere, hvilke knapper der trykkes på og sende disse oplysninger til vores telefon.

For de interesserede bruger jeg retroArch -appen til at spille mine retrospil. De taster, jeg brugte, er indstillet til standardtastaturlayout, der bruges til 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' // venstre skulder = 'q' // højre skulder = '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 * knapper = ny Bounce [NUM_BUTTONS]; void setup () {for (int i = 0; i <NUM_BUTTONS; i ++) {knapper . vedhæft (BUTTON_PINS , INPUT_PULLUP); knapper . interval (25); } // initialiser kontrol over tastaturet: Keyboard.begin (); } void loop () {// tjek om værdien er ændret for (int i = 0; i <NUM_BUTTONS; i ++) {knapper .update (); hvis (knapper .fell ()) {Keyboard.press (BUTTON_KEYS ); } hvis (knapper .rose ()) {Keyboard.release (BUTTON_KEYS ); }}}

Trin 7: Spil dine spil

Spil dine spil!
Spil dine spil!

Alternativt kan denne controller bruges med en pc uden OTG -kablet til at sende tastetryk eller makroer. Jeg havde også en ven, der sagde, at en controller som denne også kunne være nyttig til at tegne tablets, selvom jeg aldrig har rodet med en før.

Jeg håber, at du fandt denne Instructable nyttig. Nedenfor er en lektie sektion for dem, der er nysgerrige efter, hvad jeg lærte under processen, og hvad jeg gerne ville have gjort anderledes.

Trin 8: Lærte lektioner

CAD:

Jeg har aldrig rodet meget med CAD -software tidligere og måtte lære på farten med dette design. Oprindeligt gik jeg med et mere opretstående design, der ville passe i dine hænder meget som en Wii Nunchuk. Min begrænsede viden om at designe med organiske former var min undergang. Måske skulle jeg tage Intructables op på sin CAD -designklasse.

Knapper:

Knapperne, jeg brugte, var højere, end jeg gerne ville (især når du forsøgte at forhindre nogen i at vågne). Jeg vil gerne finde nogle mere støjsvage knapper. At inkorporere fjedre mellem knapperne og knaphætterne ville gå langt for at få bygningen til at føles mere poleret. Knapperne har for meget slap til min smag.

Lodning:

Jeg er nybegynder i lodning og har ikke meget stabile hænder. Lodning af alle de små ledninger overalt tog meget længere tid, end jeg havde regnet med. Hvis jeg skulle gøre det igen, ville jeg helt sikkert kortlægge, hvor mine ledninger ville gå, før jeg tog fat i jernet. Det ville afbøde de fejl, jeg opdagede efter at have anbragt arduinoen på prototypekortet og ville have sparet mig tid.

Anbefalede: