Innehållsförteckning:

On the Go Controller: 8 steg
On the Go Controller: 8 steg

Video: On the Go Controller: 8 steg

Video: On the Go Controller: 8 steg
Video: Steg dsp Sdsp 68 and controller unboxing 2024, Juli
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

Gillar du att spela spel på din smartphone? Är du trött på att spela med klumpiga pekskärmskontroller? Hatar att glömma att ladda din Bluetooth -kontroller? Behöver du använda den på farten -kabeln som du köpte men aldrig använde?

Varför inte göra din egen on the go controller?

Jag är säker på att jag är ganska sen till spelet (ordspel avsett) men jag har nyligen upptäckt att min gamla smartphone kunde spela retrospel via emulering. När jag växte upp var jag ett stort fan av Game Boy -systemen och har fina minnen av att spela i timmar och anstränga ögonen på långa bilturer som desperat försöker hitta en sparpunkt innan mitt batteri dog eller solen var för långt bortom horisonten för att se min skärm. Nu kan jag spela på min telefon och ge upp nostalgi men med en fin bakgrundsbelyst skärm. Tack teknik!

Friskrivningsklausul: Spelemulering är ett känsligt ämne och tar i vissa fall bort piratkopiering. Utbilda er själva och spela ansvarsfullt!

Bakgrund:

Jag bestämde mig för att fortsätta detta projekt efter att ha gjort ett genvägstangentbord. Medan jag lärde mig arduino -tangentbiblioteket och kom med genvägar band jag några av testknapparna till WASD. Det började genast fungera med mina PC -spel och det fick hjulen att snurra. Ungefär samtidigt fick jag slut på utrymme på min telefon för ljudböcker och undersökte hur jag skulle använda ett USB -minne med min telefon eftersom min modell inte tillåter microSD -kort. Det var då jag lärde mig om OTG. OTG använder laddningen från telefonens batteri för att driva enheten som är ansluten till den. Detta inkluderar tangentbord, möss och flash -enheter för att nämna några. Telefonen kan driva 5V -enheter och gissa vad arduino micro kräver för att fungera? Det var en match gjord i himlen.

Tillbehör

Arduino Micro

Prototypbräda

12 x 6 mm knappar (jag använde klassiska breadboard taktila momentana switchar)

Lödkolv och löd

3d skrivare

On the go (OTG) kabel; Jag gjorde min egen

Micro USB -laddningskabel

Steg 1: Design

Design
Design
Design
Design
Design
Design

Jag ville att min handkontroll skulle vara bärbar och erbjuda alla knappar jag skulle behöva för att spela spel fram till Super Nintendo -eran. Detta innebar att jag skulle behöva 12 knappar. Fyra för riktningsplattan (d-pad) och åtta för A, B, X, Y, Start, Select, Left Trigger och Right Trigger. Jag hade också ett ytterligare krav på att jag ville att den skulle vara symmetrisk så att jag kunde spela den med en hand med endera handen. Det ytterligare kravet kan låta konstigt, men för att ge lite sammanhang måste jag nämna att jag nyligen regelbundet befinner mig i en sovande bebis och bara använder ena handen under min begränsade speltid.

Med de definierade kraven bestämde jag mig för att designa min controller i CAD. Jag använder personligen OnShape men jag vet att många har framgång med Fusion360 också. Jag skulle vilja ge ett snabbt skrik till de andra människorna på den här webbplatsen som utformar sina egna skapelser. Det är hårt arbete! Designen jag kom på var superenkel men tog ändå många timmar innan jag blev nöjd. Även när jag skriver detta märker jag många förbättringar som jag skulle vilja göra.

(Jag planerar att.stl -filerna på Thingiverse när tiden tillåter. Filerna kommer att finnas där så att jag kan uppdatera dem utan att ständigt behöva ladda upp filer här.)

Steg 2: Skriv ut din skapelse

Skriv ut din skapelse!
Skriv ut din skapelse!

Jag har en Ender 3 -skrivare som jag bara haft i några månader. Det är en bra skrivare att komma igång med om du vill komma in i 3D -utskrift. Jag insåg inte hur tokigt det var förrän jag mätte mina delar för det här projektet. Fram till detta projekt hade jag bara använt det för att skriva ut minis för bordsspel. Minis kom bra ut och jag brydde mig inte så mycket om dimensioner. Det krävdes flera kalibreringstärningar och en ny rulle filament innan jag blev nöjd med resultatet.

Steg 3: Förbered ditt prototypkort

Förbereder din prototypbräda
Förbereder din prototypbräda
Förbereder din prototypbräda
Förbereder din prototypbräda

Innan jag lödde knappar till en prototypbräda testade jag alla knappar på en brödbräda och testade min arduino -kod samtidigt. Jag går över koden i ett senare steg.

Nu är den bästa tiden att klippa din prototypbräda i storlek. Använd ditt tryckta styrhölje som en guide och torka knapparna för att se till att allt står i linje. Jag tog bara några trådklipp och klippte bort överflödigt bräde och slipade sedan kanterna med cirka 150 sandpapper.

Ledningarna för regulatorn är riktigt okomplicerade eftersom vi använder arduino micros interna pull -up -motstånd. Alla knappar går till en ingång och mark. Knapparna jag använder är generiska 6 mm taktila momentana omkopplare.

Lödning av knapparna till arduino var ett roligt litet pussel att lösa. Några av knapparna var under arduinoen och jag var tvungen att köra ut ledningar under den innan jag lödde arduinoen till prototypkortet. Om du tittar noga på knappens sida av brädet missade jag vänster och höger för riktningsplattan.

För min specifika design lödde jag upp och ned riktningsknapparna (jag missade vänster och höger riktningsknappar) till prototypkortet tillsammans med några extra långa trådar och vred sedan brädet över och lödde arduinoen. Jag har inget diagram eftersom jag mestadels lödde knapparna en i taget slumpmässigt (jag kan ladda upp en om det finns tillräckligt med intresse). Efter att arduinoen är säkrad vred jag tillbaka brädet till knappsidan och lodde resten av knapparna och deras trådar.

Steg 4: Valfritt: Piffa upp ditt styrhölje

Innan den slutliga monteringen är en bra tid att slipa, fylla luckor och måla ditt styrhölje. Jag valde att hoppa över detta steg för min prototyp eftersom jag ville ha något att använda direkt. När jag oundvikligen förbättrar min design till något mer polerat kommer jag att ge den smärtjobbet den förtjänar.

Steg 5: Slutmontering

Slutmontering
Slutmontering

Nu är det dags att sätta alla dina knappar och färdiga prototypkort i huset. Jag använde #4-24 x 1/2 plåtskruvar för min design. De får jobbet gjort men passar inte så bra som jag skulle vilja.

Steg 6: Programmera din Arduino

Du kanske vill göra det här steget tidigare när du fortfarande designar kortet eller efter att du har lödt allt till prototypkortet. Jag gillar bara att ha detta i sitt eget avsnitt.

Koden är mycket enkel relativt de flesta arduino -program jag har sett. Vi behöver bara tilldela varje knapp ett tangentbordsvärde och arduino kommer att gå igenom för att kontrollera vilka knappar som trycks in och skicka den informationen till vår telefon.

För dem som är intresserade använder jag retroArch -appen för att spela mina retrospel. Knapparna jag använde är inställda på standard tangentbordslayout som används för 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' // vänster axel = 'q' // höger axel = '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 * -knappar = ny Bounce [NUM_BUTTONS]; void setup () {för (int i = 0; i <NUM_BUTTONS; i ++) {knappar . bifoga (BUTTON_PINS , INPUT_PULLUP); knappar .intervall (25); } // initiera kontrollen över tangentbordet: Keyboard.begin (); } void loop () {// kontrollera om värdet har ändrats för (int i = 0; i <NUM_BUTTONS; i ++) {knappar .update (); if (knappar .fell ()) {Keyboard.press (BUTTON_KEYS ); } if (knappar .rose ()) {Keyboard.release (BUTTON_KEYS ); }}}

Steg 7: Spela dina spel

Spela dina spel!
Spela dina spel!

Alternativt kan denna styrenhet användas med en dator utan OTG -kabeln för att skicka knapptryckningar eller makron. Jag hade också en vän som sa att en kontroller som denna också kan vara användbar för att rita surfplattor även om jag aldrig har krånglat med en förut.

Jag hoppas att du tyckte att den här instruktionsboken var till hjälp. Nedan finns en lektion för de som är nyfikna på vad jag lärt mig under processen och vad jag skulle ha velat ha gjort annorlunda.

Steg 8: Lärdomar

CAD:

Jag har aldrig trasslat med CAD -programvara mycket tidigare och var tvungen att lära mig på språng med denna design. Ursprungligen gick jag med en mer upprätt design som skulle passa i dina händer ungefär som en Wii Nunchuk. Min begränsade kunskap om att designa med organiska former var min undergång. Kanske borde jag ta Intructables upp på sin CAD -designklass.

Knappar:

Knapparna jag använde var högre än jag skulle vilja (särskilt när du försökte hindra någon från att vakna). Jag skulle vilja hitta några tystare knappar. Att införa fjädrar mellan knapparna och knappkåporna skulle gå långt för att få byggnaden att känna sig mer polerad. Knapparna har för mycket slack för min smak.

Lödning:

Jag är nybörjare på lödning och har inte särskilt stadiga händer. Lödning av alla de små trådarna överallt tog mycket längre tid än jag hade förväntat mig. Om jag var tvungen att göra det igen skulle jag definitivt kartlägga var mina trådar skulle gå innan jag tog tag i järnet. Det skulle mildra de fel jag upptäckte efter att ha fäst arduino på prototypkortet och skulle ha sparat mig tid.

Rekommenderad: