Sadržaj:

Kontroler na pokretu: 8 koraka
Kontroler na pokretu: 8 koraka

Video: Kontroler na pokretu: 8 koraka

Video: Kontroler na pokretu: 8 koraka
Video: Что творят ТАДЖИКСКИЕ МИГРАНТЫ в России!😳 2024, Srpanj
Anonim
Na kontroleru Go
Na kontroleru Go
Na kontroleru Go
Na kontroleru Go
Na kontroleru Go
Na kontroleru Go

Volite li igrati igre na svom pametnom telefonu? Jeste li umorni od igranja s nespretnim kontrolama na dodirnom zaslonu? Mrzite što ste zaboravili napuniti Bluetooth kontroler? Trebate li za to koristiti kabel koji ste kupili, ali ga nikada ne koristite?

Zašto ne biste sami napravili kontroler u pokretu?

Siguran sam da sam prilično zakasnio na igru (s namjerom dosjetke), ali nedavno sam otkrio da je moj stari pametni telefon sposoban igrati retro igre putem emulacije. Odrastajući, bio sam veliki obožavatelj Game Boy sustava i vežu me lijepe uspomene na igranje satima i naprezanje očiju pri dugim vožnjama autom očajnički pokušavajući pronaći točku za spremanje prije nego što mi se isprazni baterija ili sunce predaleko iza horizonta da bi vidi moj ekran. Sada mogu igrati na svom telefonu i prepustiti se nostalgiji, ali s lijepim pozadinskim osvjetljenjem ekrana. Hvala tehnologiji!

Odricanje od odgovornosti: Emulacija igara osjetljiva je tema i u nekim slučajevima zaobilazi liniju piratstva. Obrazujte se i igrajte odgovorno!

Pozadina:

Odlučio sam se za ovaj projekt nakon što sam napravio prečicu na tipkovnici. Dok sam učio knjižnicu arduino tipkovnice i smišljao prečace, neke sam testne gumbe vezao za WASD. Odmah je počeo raditi s mojim računalnim igrama i to je dovelo do okretanja kotača. Otprilike u isto vrijeme na telefonu mi je ponestalo prostora za audio knjige i razmatrao sam kako koristiti USB flash pogon s telefonom jer moj model ne dopušta microSD kartice. Tada sam saznao za OTG. OTG koristi punjenje baterije vašeg telefona za napajanje uređaja povezanog s njim. Ovo uključuje tipkovnice, miševe i flash pogone da navedemo samo neke. Telefon može napajati 5v uređaje i pogoditi što arduino micro zahtijeva za rad? Bila je to utakmica napravljena na nebu.

Pribor

Arduino Micro

Prototipna ploča

Gumbi 12 x 6 mm (koristio sam klasične taktilne prekidače za matičnu ploču)

Lemilica i lemljenje

3D pisač

Kabel u pokretu (OTG); Napravio sam svoj

Micro USB kabel za punjenje

Korak 1: Dizajn

Oblikovati
Oblikovati
Oblikovati
Oblikovati
Oblikovati
Oblikovati

Htio sam da moj kontroler bude prenosiv i da nudi sve tipke koje su mi potrebne za igranje igara do ere Super Nintendo. To je značilo da će mi trebati 12 tipki. Četiri za pad smjera (d-pad) i osam za A, B, X, Y, Start, Select, Left Trigger i Desni okidač. Također sam imao dodatni zahtjev da želim da bude simetričan kako bih mogao igrati jednom rukom s obje ruke. Taj dodatni zahtjev mogao bi zvučati čudno, ali da dam neki kontekst moram napomenuti da se nedavno redovito zatičem kako držim usnulu bebu i koristim samo jednu ruku tijekom ograničenog vremena igranja.

S definiranim zahtjevima odlučio sam dizajnirati svoj kontroler u CAD -u. Osobno koristim OnShape, ali znam da mnogi ljudi imaju uspjeha i s Fusion360. Htio bih nakratko pozvati druge ljude na ovoj web stranici koji dizajniraju svoje kreacije. To je naporan posao! Dizajn koji sam smislio bio je super jednostavan, ali ipak mi je trebalo mnogo sati da budem zadovoljan. Čak i dok ovo ispisujem, primjećujem mnoga poboljšanja koja bih želio napraviti.

(Planiram, ali.stl datoteke na Thingiverseu kad vrijeme dopusti. Datoteke će biti tu kako bih ih mogao ažurirati bez potrebe za stalnim postavljanjem datoteka ovdje.)

Korak 2: Ispišite svoju kreaciju

Ispišite svoju kreaciju!
Ispišite svoju kreaciju!

Imam pisač Ender 3 koji imam tek nekoliko mjeseci. Sjajan je pisač za početak ako se želite baviti 3D ispisom. Nisam shvatio koliko je to loše sve dok nisam izmjerio svoje dijelove za ovaj projekt. Do ovog projekta koristio sam ga samo za ispis minija za stolne igre. Mini su ispali super i nisam se previše brinuo za dimenzije. Trebalo mi je nekoliko kalibracijskih kockica i nova rola filamenta prije nego što sam bio zadovoljan rezultatima.

Korak 3: Priprema vaše prototipne ploče

Priprema vaše prototipne ploče
Priprema vaše prototipne ploče
Priprema vaše prototipne ploče
Priprema vaše prototipne ploče

Prije lemljenja gumba na prototipnu ploču testirao sam sve gumbe na ploči i istodobno testirao svoj arduino kod. U kasnijem koraku preći ću na kôd.

Sada je najbolje vrijeme da svoju prototipnu ploču izrežete na veličinu. Koristite svoje tiskano kućište kontrolera kao vodič i suho postavite gumbe kako biste bili sigurni da se sve slaže. Uzeo sam samo neke žice i odrezao višak ploče, a zatim sam rubove ošmirglao brusnim papirom od 150 komada.

Ožičenje za kontroler doista je jednostavno jer koristimo unutarnje pull -up otpornike arduino micro. Svi gumbi idu na ulaz i masu. Gumbi koje koristim su općeniti taktilni prekidači promjera 6 mm.

Lemljenje gumba na arduinu bila je zabavna mala zagonetka za rješavanje. Neki su gumbi bili ispod arduina i morao sam provući žice ispod njega prije nego što sam lemio arduino na prototipnu ploču. Ako pažljivo pogledate sa strane gumba na ploči, propustio sam lijevu i desnu stranu za smjernu ploču.

Za svoj specifičan dizajn lemio sam gumbe za usmjeravanje prema gore i dolje (nedostajali su mi gumbi za usmjeravanje lijevo i desno) na prototipnu ploču zajedno s nekim ekstra dugim žicama, a zatim sam preokrenuo ploču i lemio arduino. Nemam dijagram jer sam gumbe uglavnom lemio jedan po jedan nasumično (mogao bih postaviti jedan ako ima dovoljno interesa). Nakon što je arduino osiguran, okrenuo sam ploču natrag na stranu gumba i lemio ostatak gumba i njihovih žica.

Korak 4: Izborno: oplemenite svoje kućište upravljača

Prije konačne montaže dobro je vrijeme za brušenje, popunjavanje praznina i bojanje kućišta kontrolera. Odlučio sam preskočiti ovaj korak za svoj prototip jer sam htio odmah imati nešto za koristiti. Kad neizbježno poboljšam svoj dizajn u nešto uglađenije, dat ću mu bol koji zaslužuje.

Korak 5: Završna montaža

Završna skupština
Završna skupština

Sada je vrijeme da sve svoje gumbe i dovršenu prototipnu ploču stavite u kućište. Za dizajn sam koristio vijke od lima #4-24 x 1/2. Odradili su posao, ali se ne uklapaju onako kako bih ja želio.

Korak 6: Programirajte svoj Arduino

Ovaj biste korak možda htjeli učiniti ranije dok još projektirate ploču ili nakon što ste sve lemili na prototipnu ploču. Baš mi se sviđa imati ovo u svom odjeljku.

Kod je vrlo jednostavan u odnosu na većinu arduino programa koje sam vidio. Moramo samo svakom gumbu dodijeliti vrijednost tipkovnice, a arduino će se petljati kako bi provjerio koje su tipke pritisnute i poslao te podatke na naš telefon.

Za zainteresirane koristim aplikaciju retroArch za igranje svojih retro igara. Tipke koje sam koristio postavljene su na zadani raspored tipkovnice koji se koristi za 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' // lijevo rame = 'q' // desno rame = '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'}; Gumbi za odskakanje * = novi odbijanje [NUM_BUTTONS]; void setup () {for (int i = 0; i <NUM_BUTTONS; i ++) {button .attach (BUTTON_PINS , INPUT_PULLUP); tipke .interval (25); } // pokreće kontrolu nad tipkovnicom: Keyboard.begin (); } void loop () {// provjerite je li vrijednost promijenjena za (int i = 0; i <NUM_BUTTONS; i ++) {gumbi .update (); if (gumbi .fell ()) {Tipkovnica.pritisnite (BUTTON_KEYS ); } if (gumbi .rose ()) {Keyboard.release (BUTTON_KEYS ); }}}

Korak 7: Igrajte svoje igre

Igrajte svoje igre!
Igrajte svoje igre!

Alternativno, ovaj se kontroler može koristiti s računalom bez OTG kabela za slanje pritisaka tipki ili makronaredbi. Imao sam i prijatelja koji je rekao da bi ovakav kontroler mogao biti koristan i za crtanje tableta, iako se s njim nikad nisam petljao.

Nadam se da vam je ovaj Instructable bio od pomoći. U nastavku je dio naučenih lekcija za one znatiželjne o tome što sam naučio tijekom procesa i što bih volio da sam učinio drugačije.

Korak 8: Naučene lekcije

CAD:

Nikada se nisam puno petljao s CAD softverom u prošlosti i morao sam učiti u pokretu s ovim dizajnom. U početku sam imao uspravniji dizajn koji bi vam stajao u rukama poput Wii Nunchuka. Moje ograničeno znanje o projektiranju s organskim oblicima bilo je moj pad. Možda bih trebao uzeti Intructables na njegovu klasu CAD dizajna.

Gumbi:

Gumbi koje sam koristio bili su glasniji nego što bih želio (pogotovo kad ste pokušavali spriječiti nekoga da se probudi). Htio bih pronaći tiše gumbe. Uključivanje opruga između gumba i zatvarača dugmadi uvelike bi učinilo da se konstrukcija učini uglađenijom. Gumbi su previše opušteni za moj ukus.

Lemljenje:

Ja sam početnik u lemljenju i nemam mirne ruke. Lemljenje svih tih sićušnih žica posvuda je trajalo dulje nego što sam očekivao. Da moram sve ponoviti, definitivno bih precrtao gdje će mi proći žice prije nego što uhvatim željezo. To bi umanjilo pogreške koje sam otkrio nakon pričvršćivanja arduina na prototipnu ploču i uštedjelo bi mi vrijeme.

Preporučeni: