Kazalo:

Krmilnik On the Go: 8 korakov
Krmilnik On the Go: 8 korakov

Video: Krmilnik On the Go: 8 korakov

Video: Krmilnik On the Go: 8 korakov
Video: Крым.ИДЁМ по ТОННЕЛЮ на 8 этапе трассы ТАВРИДА.Работа ГОРНОГО комбайна в действии.ПОДПОРНАЯ стена 2024, Julij
Anonim
Na krmilniku Go
Na krmilniku Go
Na krmilniku Go
Na krmilniku Go
Na krmilniku Go
Na krmilniku Go

Ali radi igrate igre na svojem pametnem telefonu? Ste naveličani igranja z okornimi kontrolami na zaslonu na dotik? Sovražite pozabiti napolniti krmilnik Bluetooth? Ali za to potrebujete kabel, ki ste ga kupili, vendar ga nikoli ne uporabljate?

Zakaj ne bi sami naredili krmilnika go?

Prepričan sem, da na igro (z namenom igre z besedami) precej zamujam, vendar sem pred kratkim odkril, da je moj stari pametni telefon sposoben igrati retro igre prek emulacije. Ko sem odraščal, sem bil velik oboževalec sistemov Game Boy in imam lepe spomine na igranje več ur in napete oči na dolgih vožnjah z avtomobilom, ki so obupano poskušali najti rešilno točko, preden mi je baterija izpraznila ali je bilo sonce predaleč za obzorjem poglej moj zaslon. Zdaj se lahko igram na telefonu in se prepustim nostalgiji, vendar z lepim osvetljenim zaslonom. Hvala tehnologija!

Izjava o omejitvi odgovornosti: Emulacija iger je dotična tema in v nekaterih primerih zaobide črto piratstva. Prosimo vas, da se izobražujete in igrate odgovorno!

Ozadje:

Za ta projekt sem se odločil, potem ko sem naredil bližnjico na tipkovnici. Med učenjem knjižnice tipkovnice arduino in ustvarjanjem bližnjic sem nekatere testne gumbe vezala na WASD. Takoj je začel delati z mojimi računalniškimi igrami in to je privedlo do obračanja koles. Približno v istem času mi je v telefonu zmanjkalo prostora za zvočne knjige in preučil, kako uporabiti bliskovni pogon USB s telefonom, saj moj model ne dovoljuje kartic microSD. Takrat sem izvedel za OTG. OTG porabi baterijo vašega telefona za napajanje naprave, povezane z njo. To vključuje tipkovnice, miške in bliskovne pogone. Telefon lahko napaja naprave 5V in uganite, kaj arduino micro potrebuje za delovanje? To je bila tekma v nebesih.

Zaloge

Arduino Micro

Prototipna plošča

Gumbi 12 x 6 mm (uporabljal sem klasična taktilna trenutna stikala na plošči)

Spajkalnik in spajkanje

3D tiskalnik

Kabel na poti (OTG); Naredil sem si svojega

Polnilni kabel Micro USB

1. korak: Oblikovanje

Oblikovanje
Oblikovanje
Oblikovanje
Oblikovanje
Oblikovanje
Oblikovanje

Želel sem, da je moj krmilnik prenosen in ponuja vse gumbe, ki jih potrebujem za igranje iger do obdobja Super Nintendo. To je pomenilo, da potrebujem 12 gumbov. Štiri za smerno ploščico (d-pad) in osem za A, B, X, Y, Start, Select, Left Trigger in Desni sprožilec. Imel sem tudi dodatno zahtevo, da želim, da je simetričen, da ga lahko igram z eno roko z obema rokama. Ta dodatna zahteva se morda sliši čudno, vendar moram v kontekstu omeniti, da se pred kratkim redno znajdem v rokah med spanjem in v omejenem času igranja uporabljam samo eno roko.

Z opredeljenimi zahtevami sem se lotil oblikovanja svojega krmilnika v CAD -u. Osebno uporabljam OnShape, vendar vem, da ima veliko ljudi tudi uspeh s Fusion360. Rad bi na hitro poklical druge ljudi na tem spletnem mestu, ki oblikujejo svoje stvaritve. To je težko delo! Oblikovanje, ki sem ga dobil, je bilo zelo preprosto, a vseeno sem potreboval veliko ur, da sem bil zadovoljen. Tudi ko to pišem, opažam veliko izboljšav, ki bi jih rad naredil.

(Načrtujem, da bodo datoteke.stl na Thingiverse, ko bo čas dopuščal. Datoteke bodo tam, da jih bom lahko posodobil, ne da bi mi bilo treba neprestano nalagati datoteke tukaj.)

2. korak: Natisnite svojo stvaritev

Natisnite svojo stvaritev!
Natisnite svojo stvaritev!

Imam tiskalnik Ender 3, ki sem ga imel le nekaj mesecev. Če želite začeti s 3D tiskanjem, je to odličen tiskalnik. Nisem se zavedal, kako čudno je bilo, dokler nisem izmeril svojih delov za ta projekt. Do tega projekta sem ga uporabljal samo za tiskanje minic za namizne igre. Mini so izpadli super in za dimenzije me ni preveč skrbelo. Preden sem bil zadovoljen z rezultati, je trajalo več kalibracijskih kock in nov zvitek filamenta.

3. korak: Priprava prototipne plošče

Priprava prototipne plošče
Priprava prototipne plošče
Priprava prototipne plošče
Priprava prototipne plošče

Pred spajkanjem gumbov na prototipno ploščo sem preizkusil vse gumbe na plošči in hkrati preizkusil svojo kodo arduino. Kodo bom obravnaval v naslednjem koraku.

Zdaj je najboljši čas, da svojo prototipno ploščo razrežete na velikost. Tiskano ohišje krmilnika uporabite kot vodilo in suhe gumbe namestite, da se prepričate, da je vse v redu. Vzel sem le nekaj žičnih odrezkov in odrezal odvečno desko, nato pa robove brušil s približno 150 brusnim papirjem.

Ožičenje krmilnika je zelo preprosto, saj uporabljamo notranje vlečne upore arduino micro. Vsi gumbi gredo na vhod in ozemljitev. Gumbi, ki jih uporabljam, so generična 6 mm taktilna trenutna stikala.

Spajkanje gumbov na arduino je bila zabavna mala uganka za reševanje. Nekateri gumbi so bili pod arduinom in pred spajkanjem arduina na prototipno ploščo sem moral potegniti žice izpod njega. Če natančno pogledate stran gumba na deski, sem zamudil levo in desno za smerno ploščico.

Za svoj poseben dizajn sem lepilne gumbe za smerne ploščice navzgor in navzdol (pogrešal sem levi in desni gumb za smerne ploščice) na prototipno ploščo skupaj z nekaj ekstra dolgimi žicami, nato pa sem ploščo prevrnil in spajkal arduino. Nimam diagrama, ker sem gumbe večinoma naključno spajkal enega po enega (lahko naložim enega, če je dovolj zanimanja). Ko je arduino zavarovan, sem ploščo obrnil nazaj na stran gumba in spajkal preostale gumbe in njihove žice.

4. korak: Izbirno: okrasite ohišje krmilnika

Pred končno montažo je pravi čas za brušenje, zapolnitev vrzeli in barvanje ohišja krmilnika. Za ta prototip sem se odločil preskočiti, ker sem hotel takoj nekaj uporabiti. Ko bom svoj dizajn neizogibno izboljšal v nekaj bolj poliranega, mu bom dal bolečino, ki si jo zasluži.

5. korak: Končna montaža

Končna sestava
Končna sestava

Zdaj je čas, da vse svoje gumbe in dokončano prototipno ploščo vstavite v ohišje. Za oblikovanje sem uporabil vijake iz pločevine #4-24 x 1/2. Delo opravijo, vendar se ne ujemajo tako, kot bi si želel.

6. korak: Programirajte svoj Arduino

Ta korak boste morda želeli narediti prej, ko načrtujete ploščo ali potem, ko ste vse spajkali na prototipno ploščo. Všeč mi je, če imam to v svojem razdelku.

Koda je zelo preprosta glede na večino arduino programov, ki sem jih videl. Vsakemu gumbu moramo dodeliti vrednost tipkovnice, arduino pa bo preveril, kateri gumbi so pritisnjeni, in te podatke poslal v naš telefon.

Za tiste, ki jih zanima, uporabljam aplikacijo retroArch za igranje svojih retro iger. Tipke, ki sem jih uporabil, so nastavljene na privzeto postavitev tipkovnice 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' // levo ramo = 'q' // desno ramo = 'w' // select = 'rshift '// start =' enter '// gor =' 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 Bounce * = novi Bounce [NUM_BUTTONS]; void setup () {for (int i = 0; i <NUM_BUTTONS; i ++) {button .attach (BUTTON_PINS , INPUT_PULLUP); gumbi .interval (25); } // inicializirajte nadzor nad tipkovnico: Keyboard.begin (); } void loop () {// preverite, ali se je vrednost spremenila za (int i = 0; i <NUM_BUTTONS; i ++) {gumbi .update (); if (gumbi .fell ()) {Keyboard.press (BUTTON_KEYS ); } if (gumbi .rose ()) {Keyboard.release (BUTTON_KEYS ); }}}

7. korak: Igrajte svoje igre

Igrajte svoje igre!
Igrajte svoje igre!

Druga možnost je, da lahko ta krmilnik uporabljate z osebnim računalnikom brez kabla OTG za pošiljanje pritiskov tipk ali makrov. Imel sem tudi prijatelja, ki je rekel, da bi bil takšen krmilnik lahko uporaben tudi za risanje tablic, čeprav se z njim še nikoli nisem zapletel.

Upam, da vam je bil ta Instructable v pomoč. Spodaj je razdelek naučenih lekcij za tiste, ki jih zanima, kaj sem se naučil med postopkom in kaj bi rad naredil drugače.

8. korak: Naučene lekcije

CAD:

V preteklosti se s programsko opremo CAD še nikoli nisem veliko ukvarjal in sem se s to zasnovo moral učiti na poti. Prvotno sem se odločil za bolj pokončen dizajn, ki bi se prilegal v vaše roke podobno kot Wii Nunchuk. Moje omejeno znanje o oblikovanju z organskimi oblikami je bil moj padec. Mogoče bi moral vzeti Intructables v razred CAD oblikovanja.

Gumbi:

Gumbi, ki sem jih uporabil, so bili glasnejši, kot bi si želel (še posebej, ko ste poskušali preprečiti, da bi se nekdo zbudil). Rad bi našel nekaj tišjih gumbov. Vgrajene vzmeti med gumbi in pokrovi gumbov bi daleč pripomogle k bolj poliranemu videzu. Gumbi so za moj okus preveč ohlapni.

Spajkanje:

Sem začetnik pri spajkanju in nimam ravno mirnih rok. Spajkanje vseh teh drobnih žic povsod je trajalo dlje, kot sem pričakoval. Če bi moral vse ponoviti, bi vsekakor preslikal, kam bi mi vodile žice, preden bi prijel za likalnik. To bi ublažilo napake, ki sem jih odkril po pritrditvi arduina na prototipno ploščo, in bi mi prihranil čas.

Priporočena: