Innholdsfortegnelse:

På farten -kontrolleren: 8 trinn
På farten -kontrolleren: 8 trinn

Video: På farten -kontrolleren: 8 trinn

Video: På farten -kontrolleren: 8 trinn
Video: 8. trinn - Øveprøve DEL 1 (faktor vår 2015) 2024, Juli
Anonim
On the Go -kontrolleren
On the Go -kontrolleren
On the Go -kontrolleren
On the Go -kontrolleren
On the Go -kontrolleren
On the Go -kontrolleren

Liker du å spille spill på smarttelefonen din? Er du lei av å spille med klumpete berøringsskjermkontroller? Hater du å glemme å lade Bluetooth -kontrolleren? Trenger du bruk for den på farten -kabelen du kjøpte, men aldri brukte?

Hvorfor ikke lage din egen på farten -kontrolleren?

Jeg er sikker på at jeg er ganske sen til spillet (ordspill beregnet), men jeg har nylig oppdaget at min gamle smarttelefon var i stand til å spille retro -spill via emulering. Da jeg vokste opp, var jeg en stor fan av Game Boy -systemene og har gode minner om å ha spilt i timevis og spente øynene på lange bilturer som desperat prøvde å finne et redningspunkt før batteriet mitt døde eller solen var for langt utenfor horisonten for å se skjermen min. Nå kan jeg spille på telefonen min og gi etter for nostalgi, men med en fin bakgrunnsbelyst skjerm. Takk teknologi!

Ansvarsfraskrivelse: Spillemulering er et følsomt tema og går i noen tilfeller ut over piratkopiering. Vennligst utdann deg selv og spill ansvarlig!

Bakgrunn:

Jeg bestemte meg for å fortsette dette prosjektet etter å ha laget et hurtigtast. Mens jeg lærte arduino -tastaturbiblioteket og kom med snarveier, bandt jeg noen av testknappene til WASD. Det begynte umiddelbart å fungere med PC -spillene mine, og det fikk hjulene til å snu. Omtrent på samme tid gikk jeg tom for plass på telefonen for lydbøker og så på hvordan jeg bruker en USB -flash -stasjon med telefonen, siden modellen min ikke tillater microSD -kort. Det var da jeg lærte om OTG. OTG bruker ladningen fra telefonens batteri for å drive enheten som er koblet til den. Dette inkluderer tastaturer, mus og flash -stasjoner for å nevne noen. Telefonen kan drive 5v -enheter og gjette hva arduino -mikro krever for å fungere? Det var en fyrstikk laget i himmelen.

Rekvisita

Arduino Micro

Prototypebrett

12 x 6 mm knapper (jeg brukte klassiske brødbrett taktile momentane brytere)

Loddejern og loddetinn

3D -skriver

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

Micro USB ladekabel

Trinn 1: Design

Design
Design
Design
Design
Design
Design

Jeg ønsket at kontrolleren min skulle være bærbar og tilby alle knappene jeg ville trenge for å spille spill fram til Super Nintendo -tiden. Dette betydde at jeg ville trenge 12 knapper. Fire for retningsplaten (d-pad) og åtte for A, B, X, Y, Start, Select, Left Trigger og Right Trigger. Jeg hadde også et tilleggskrav om at jeg ville at den skulle være symmetrisk, slik at jeg kunne spille den på en hånd med hver hånd. Det ekstra kravet kan høres rart ut, men for å gi litt kontekst må jeg nevne at jeg nylig holder på å holde en sovende baby og bare bruker en hånd i løpet av min begrensede spilletid.

Med kravene definert bestemte jeg meg for å designe kontrolleren min i CAD. Jeg bruker personlig OnShape, men jeg vet at mange mennesker også har suksess med Fusion360. Jeg vil gjerne gi et raskt rop til de andre menneskene på dette nettstedet som designer sine egne kreasjoner. Det er hardt arbeid! Designet jeg kom på var superenkelt, men det tok likevel mange timer før jeg var fornøyd. Selv om jeg skriver dette, merker jeg mange forbedringer jeg vil gjøre.

(Jeg har tenkt å bare.stl -filene på Thingiverse når tiden tillater det. Filene vil være der, så jeg kan oppdatere dem uten å måtte laste opp filer her hele tiden.)

Trinn 2: Skriv ut kreasjonen din

Skriv ut kreasjonen din!
Skriv ut kreasjonen din!

Jeg har en Ender 3 -skriver som jeg bare har hatt i noen måneder. Det er en flott skriver å komme i gang med hvis du vil begynne med 3D -utskrift. Jeg skjønte ikke hvor flaut det var før jeg målte delene mine for dette prosjektet. Frem til dette prosjektet hadde jeg bare brukt det til å skrive ut minis for bordspill. Miniene kom veldig bra ut, og jeg brydde meg ikke så mye om dimensjoner. Det tok flere kalibreringsterninger og en ny filamentrull før jeg var fornøyd med resultatene.

Trinn 3: Forberede prototypebrettet

Forbereder prototypebrettet ditt
Forbereder prototypebrettet ditt
Forbereder prototypebrettet ditt
Forbereder prototypebrettet ditt

Før jeg loddet knapper til et prototypebrett testet jeg alle knappene på et brødbrett og testet min arduino -kode samtidig. Jeg går over koden i et senere trinn.

Nå er den beste tiden å kutte prototypebrettet i størrelse. Bruk det trykte kontrollerhuset som en veiledning, og pass på knappene for å sikre at alt står på linje. Jeg tok bare noen trådklips og kuttet av overflødig brett og slipe kantene firkantet med litt 150 sandpapir.

Ledningene til kontrolleren er veldig enkle siden vi bruker arduino micros interne trekkmotstander. Alle knappene går til en inngang og bakkes. Knappene jeg bruker er generiske 6 mm taktile øyeblikksbrytere.

Lodding av knappene til arduinoen var et morsomt lite puslespill å løse. Noen av knappene var under arduinoen, og jeg måtte kjøre ledninger ut under den før jeg loddet arduinoen til prototypekortet. Hvis du ser nøye på knappens side av brettet, savnet jeg venstre og høyre for retningsplaten.

For min spesifikke design loddet jeg opp og ned retningsknappene (jeg savnet de venstre og høyre retningsknappene) til prototypebrettet sammen med noen ekstra lange ledninger, så vippet styret over og loddet arduinoen. Jeg har ikke et diagram fordi jeg stort sett loddet knappene en om gangen tilfeldig (jeg kan laste opp en hvis det er nok interesse). Etter at arduinoen er festet, snudde jeg brettet tilbake til knappesiden og loddet resten av knappene og ledningene deres.

Trinn 4: Valgfritt: Pifs opp kontrollhuset

Før sluttmontering er det en god tid å slipe, fylle hullene og male kontrollerenhetens hus. Jeg valgte å hoppe over dette trinnet for prototypen min fordi jeg ønsket å ha noe å bruke umiddelbart. Når jeg uunngåelig forbedrer designet mitt til noe mer polert, vil jeg gi det smertejobben det fortjener.

Trinn 5: Sluttmontering

Sluttmontering
Sluttmontering

Nå er det på tide å sette alle knappene og det ferdige prototypebrettet inn i huset. Jeg brukte #4-24 x 1/2 plate metallskruer til designet mitt. De får jobben gjort, men passer ikke så godt som jeg skulle ønske.

Trinn 6: Programmer din Arduino

Det kan være lurt å gjøre dette trinnet tidligere når du fremdeles designer brettet eller etter at du har loddet alt til prototypebrettet. Jeg liker bare å ha dette i sin egen seksjon.

Koden er veldig enkel i forhold til de fleste arduino -programmer jeg har sett. Vi trenger bare å tilordne hver tast en tastaturverdi, og arduinoen vil gå gjennom for å kontrollere hvilke knapper som trykkes og sende denne informasjonen til telefonen vår.

For de interesserte bruker jeg retroArch -appen til å spille retrospillene mine. Tastene jeg brukte er satt til standard tastaturoppsett som brukes for 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øyre 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]; ugyldig oppsett () {for (int i = 0; i <NUM_BUTTONS; i ++) {knapper . vedlegg (BUTTON_PINS , INPUT_PULLUP); knapper .intervall (25); } // initialiser kontrollen over tastaturet: Keyboard.begin (); } void loop () {// sjekk om verdien er endret for (int i = 0; i <NUM_BUTTONS; i ++) {knapper .update (); if (knapper .fell ()) {Keyboard.press (BUTTON_KEYS ); } if (knapper .rose ()) {Keyboard.release (BUTTON_KEYS ); }}}

Trinn 7: Spill spillene dine

Spill spillene dine!
Spill spillene dine!

Alternativt kan denne kontrolleren brukes med en PC uten OTG -kabel for å sende tastetrykk eller makroer. Jeg hadde også en venn som sa at en kontroller som dette også kan være nyttig for å tegne nettbrett, selv om jeg aldri har rotet med en før.

Jeg håper du synes denne instruksjonsboken var nyttig. Nedenfor er en leksjon for de som er nysgjerrige på hva jeg lærte under prosessen og hva jeg skulle ønske at jeg hadde gjort annerledes.

Trinn 8: Lærte leksjoner

CAD:

Jeg har aldri rotet mye med CAD -programvare tidligere og måtte lære på farten med dette designet. Opprinnelig gikk jeg med et mer oppreist design som ville passe i hendene dine omtrent som en Wii Nunchuk. Min begrensede kunnskap om å designe med organiske former var min undergang. Kanskje jeg burde ta Intructables opp på CAD -designklassen.

Knapper:

Knappene jeg brukte var høyere enn jeg skulle ønske (spesielt når du prøvde å hindre noen i å våkne). Jeg vil finne noen roligere knapper. Å inkludere fjærer mellom knappene og knapphettene vil gå langt for å få bygningen til å føles mer polert. Knappene har for mye slakk for min smak.

Lodding:

Jeg er en nybegynner på lodding og har ikke veldig stabile hender. Lodding av alle de små ledningene overalt tok lengre tid enn jeg hadde forventet. Hvis jeg måtte gjøre det igjen, ville jeg definitivt kartlegge hvor ledningene mine ville gå før jeg tok tak i jernet. Det ville dempe feilene jeg oppdaget etter å ha festet arduinoen på prototypebrettet og ville ha spart meg tid.

Anbefalt: