Indholdsfortegnelse:
- Forbrugsvarer
- Trin 1: Design
- Trin 2: Udskriv din skabelse
- Trin 3: Forberedelse af dit prototypebord
- Trin 4: Valgfrit: Pift dit controllerhus op
- Trin 5: Endelig samling
- Trin 6: Programmer din Arduino
- Trin 7: Spil dine spil
- Trin 8: Lærte lektioner
Video: On the Go -controller: 8 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:27
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
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
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
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
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
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:
Arduino bil omvendt parkering alarmsystem - Trin for trin: 4 trin
Arduino bil omvendt parkering alarmsystem. Trin for trin: I dette projekt vil jeg designe en simpel Arduino bil omvendt parkeringssensorkreds ved hjælp af Arduino UNO og HC-SR04 ultralydssensor. Dette Arduino -baserede bilomvendt alarmsystem kan bruges til en autonom navigation, robotafstand og andre rækkevidde
Trin for trin pc -bygning: 9 trin
Trin for trin PC Building: Supplies: Hardware: MotherboardCPU & CPU -køler PSU (strømforsyningsenhed) Opbevaring (HDD/SSD) RAMGPU (ikke påkrævet) CaseTools: Skruetrækker ESD -armbånd/mathermal pasta m/applikator
Tre højttalerkredsløb -- Trin-for-trin vejledning: 3 trin
Tre højttalerkredsløb || Trin-for-trin vejledning: Højttalerkredsløb styrker lydsignalerne, der modtages fra miljøet til MIC og sender det til højttaleren, hvorfra forstærket lyd produceres. Her vil jeg vise dig tre forskellige måder at lave dette højttalerkredsløb på:
Trin-for-trin uddannelse i robotik med et sæt: 6 trin
Trin-for-trin uddannelse i robotteknologi med et kit: Efter ganske få måneder med at bygge min egen robot (se alle disse), og efter at jeg to gange havde dele mislykkedes, besluttede jeg at tage et skridt tilbage og tænke min strategi og retning. De flere måneders erfaring var til tider meget givende, og
Akustisk levitation med Arduino Uno trin for trin (8 trin): 8 trin
Akustisk levitation med Arduino Uno Step-by Step (8-trin): ultralyds lydtransducere L298N Dc kvindelig adapter strømforsyning med en han-DC-pin Arduino UNOBreadboard Sådan fungerer det: Først uploader du kode til Arduino Uno (det er en mikrokontroller udstyret med digital og analoge porte til konvertering af kode (C ++)