Innehållsförteckning:
- Tillbehör
- Steg 1: Design
- Steg 2: Skriv ut din skapelse
- Steg 3: Förbered ditt prototypkort
- Steg 4: Valfritt: Piffa upp ditt styrhölje
- Steg 5: Slutmontering
- Steg 6: Programmera din Arduino
- Steg 7: Spela dina spel
- Steg 8: Lärdomar
Video: On the Go Controller: 8 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:41
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
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
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
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
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
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:
CCTV Feed Controller - Raspberry Pi: 3 steg
CCTV Feed Controller - Raspberry Pi: Hej alla, välkommen till en annan Instructable av Scientify Inc.! Detta projekt optimerar vad en CCTV -kamera spelar in med hjälp av inbyggd rörelsedetektering med hjälp av root mean squared (RMS) skillnad mellan två på varandra följande bilder. Detta hjälper till att göra CCTV -flöde
Gör en Ribbon Controller: 11 steg (med bilder)
Gör en Ribbon Controller: Ribbon controllers är ett bra sätt att styra en synth. De består av en beröringskänslig remsa som låter dig styra tonhöjd kontinuerligt. Den elektriskt ledande remsan kallad 'velostat' som reagerar på förändringar i spänning eller motstånd som orsakas av
Akustisk levitation med Arduino Uno Steg-för-steg (8-steg): 8 steg
Akustisk levitation med Arduino Uno Steg-för-steg (8-steg): ultraljudsgivare L298N Dc kvinnlig adapter strömförsörjning med en manlig DC-pin Arduino UNOBreadboardHur det fungerar: Först laddar du upp kod till Arduino Uno (det är en mikrokontroller utrustad med digital och analoga portar för att konvertera kod (C ++)
YABC - Yet Another Blynk Controller - IoT Cloud Temperature and Humidity Controller, ESP8266: 4 Steps
YABC - Yet Another Blynk Controller - IoT Cloud Temperature and Humidity Controller, ESP8266: Hej Makers, jag började nyligen odla svamp hemma, Ostron svamp, men jag har redan 3x av dessa kontroller hemma för Fermenter Temperaturkontroll för mitt hem brygga, fru gör också det här Kombucha nu, och som termostat för värme
NES Controller Shuffle (Nintendo Controller MP3, V3.0): 5 steg (med bilder)
NES Controller Shuffle (Nintendo Controller MP3, V3.0): Jag slog helt bort ryan97128 på hans design för Nintendo Controller MP3, version 2.0 och jag hör att han fick idén från den kloka Morte_Moya, så jag kan inte ta åt mig äran för allt deras geni. Jag ville bara lägga till bekvämligheten och ladda