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, Juli
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 sa nespretnim kontrolama na ekranu osjetljivom na dodir? 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 sistema 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 spasonosnu točku prije nego što mi se isprazni baterija ili sunce ode previše daleko od 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 odgovornosti: Emulacija igre je osjetljiva tema i u nekim slučajevima zaobilazi liniju piraterije. Obrazujte se i igrajte odgovorno!

Pozadina:

Odlučio sam se za nastavak ovog projekta nakon što sam napravio prečicu na tastaturi. Dok sam učio biblioteku arduino tastature i smišljao prečice, neke sam testne tipke vezao za WASD. Odmah je počeo raditi s mojim PC igrama i to je dovelo do okretanja točkova. Otprilike u isto vrijeme na telefonu mi je nestalo prostora za audio knjige i razmišljao sam o tome kako koristiti USB fleš uređaj sa 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 tastature, miševe i fleš diskove. Telefon može napajati 5v uređaje i pogoditi šta arduino micro zahtijeva za rad? To je bila utakmica napravljena na nebu.

Supplies

Arduino Micro

Prototype Board

Dugmad 12 x 6 mm (koristio sam klasične taktilne prekidače na matičnoj ploči)

Lemilica i lemljenje

3D štampač

Kabel u pokretu (OTG); Napravio sam svoj

Micro USB kabel za punjenje

Korak 1: Dizajnirajte

Dizajn
Dizajn
Dizajn
Dizajn
Dizajn
Dizajn

Htio sam da moj kontroler bude prenosiv i da nudi sve tipke koje su mi potrebne za igranje igara do Super Nintendo ere. To je značilo da će mi trebati 12 tipki. Četiri za jastučiće za smer (d-pad) i osam za A, B, X, Y, Start, Select, Left Trigger i Right Trigger. Takođe 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 uspavanu bebu i koristim samo jednu ruku tokom ograničenog vremena igranja.

S definiranim zahtjevima odlučio sam dizajnirati svoj kontroler u CAD -u. Ja lično koristim OnShape, ali znam da mnogi ljudi imaju uspeha i sa Fusion360. Htio bih brzo 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 Thingiverse -u kada vrijeme dopusti. Datoteke će biti tu tako da ih mogu ažurirati bez stalnog postavljanja datoteka ovdje.)

Korak 2: Odštampajte svoju kreaciju

Odštampajte svoju kreaciju!
Odštampajte svoju kreaciju!

Imam štampač Ender 3 koji imam samo nekoliko mjeseci. Sjajan je štampač za početak ako želite da se pozabavite 3D štampanjem. 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 odlično i nisam se previše brinuo o dimenzijama. Bilo mi je potrebno nekoliko kalibracionih kockica i nova rola filamenta pre 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 tipke na ploči i istovremeno testirao svoj arduino kod. U kasnijem koraku ću preći kod.

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

Ožičenje za kontroler je zaista jednostavno jer koristimo unutrašnje pull -up otpornike arduino micro. Svi tasteri idu na ulaz i masu. Dugmad koja koristim su općeniti taktilni prekidači promjera 6 mm.

Lemljenje dugmadi 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 lemljenja arduina na prototipnu ploču. Ako pažljivo pogledate stranu dugmeta na ploči, promašio sam levu i desnu stranu tastera za smer.

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

Korak 4: Opcionalno: Oživite svoje kućište kontrolera

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 sjajnije, 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 stavite sve svoje tipke i kompletnu prototipnu ploču u kućište. Za svoj dizajn koristio sam vijke od lima #4-24 x 1/2. Oni završavaju posao, ali se ne uklapaju onako kako bih ja htio.

Korak 6: Programirajte svoj Arduino

Možda ćete htjeti učiniti ovaj korak ranije dok još dizajnirate ploču ili nakon što ste sve lemili na prototipnu ploču. Jednostavno volim da ovo imam u svom odjeljku.

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

Za one koje zanima, koristim aplikaciju retroArch za igranje svojih retro igara. Tipke koje sam koristio postavljene su na zadani raspored tastature 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'}; Bounce * tasteri = novi Bounce [NUM_BUTTONS]; void setup () {for (int i = 0; i <NUM_BUTTONS; i ++) {tasteri .attach (BUTTON_PINS , INPUT_PULLUP); dugmad .interval (25); } // pokreće kontrolu nad tastaturom: Keyboard.begin (); } void loop () {// provjeravamo je li vrijednost promijenjena za (int i = 0; i <NUM_BUTTONS; i ++) {button .update (); if (tasteri .fell ()) {Keyboard.press (BUTTON_KEYS ); } if (dugmad .rose ()) {Keyboard.release (BUTTON_KEYS ); }}}

Korak 7: Igrajte svoje igre

Igrajte svoje igre!
Igrajte svoje igre!

Alternativno, ovaj kontroler se može koristiti sa računarom bez OTG kabla za slanje pritiska na tastere ili makroa. Imao sam i prijatelja koji je rekao da bi ovakav kontroler mogao biti koristan i za crtanje tableta, iako se s njim nikada nisam petljao.

Nadam se da vam je ovaj Instructable bio od pomoći. Ispod je dio naučenih lekcija za one znatiželjne o tome šta sam naučio tokom procesa i šta bih volio da sam uradio drugačije.

Korak 8: Naučene lekcije

CAD:

Nikada se nisam puno petljao sa CAD softverom u prošlosti i morao sam učiti u pokretu s ovim dizajnom. U početku sam imao uspravniji dizajn koji bi stajao u vašim rukama slično Wii Nunchuku. Moje ograničeno znanje o dizajnu s organskim oblicima bio je moj pad. Možda bih trebao uzeti Intructables na njegovoj klasi CAD dizajna.

Dugmad:

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

Lemljenje:

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

Preporučuje se: