Sisukord:

Liikumiskontrolleril: 8 sammu
Liikumiskontrolleril: 8 sammu

Video: Liikumiskontrolleril: 8 sammu

Video: Liikumiskontrolleril: 8 sammu
Video: КАК ПРОИЗНОШАТЬ КОНТРОЛЛЕРЫ? #контроллеры (HOW TO PRONOUNCE CONTROLLERS? #controller 2024, November
Anonim
Käivituskontrolleril
Käivituskontrolleril
Minekontrolleril
Minekontrolleril
Minekontrolleril
Minekontrolleril

Kas teile meeldib oma nutitelefonis mänge mängida? Kas olete väsinud puutetundliku ekraani juhtnuppudega mängimisest? Kas vihkate oma Bluetooth -kontrolleri laadimist? Kas vajate selle ostmiseks kasutatavat kaablit, kuid ei kasuta seda kunagi?

Miks mitte teha ise liikumiskontrolleri abil?

Olen kindel, et olen mänguga üsna hiljaks jäänud (sõnamäng on mõeldud), kuid avastasin hiljuti, et mu vana nutitelefon on võimeline jäljendamise teel retro -mänge mängima. Kui ma suureks kasvasin, olin Game Boy süsteemide suur fänn ja mul on meeldivad mälestused tundidepikkusest mängimisest ja silmade pingutamisest pikkadel autosõitudel, püüdes meeleheitlikult leida päästmispunkti enne aku tühjenemist või päikest liiga kaugel silmapiirist. vaata mu ekraani. Nüüd saan oma telefoniga mängida ja nostalgiasse anda, kuid kena taustvalgustusega ekraaniga. Tänu tehnoloogiale!

Vastutusest loobumine: mängude jäljendamine on tundlik teema ja mõningatel juhtudel on see piraatluse piir. Palun harige ennast ja mängige vastutustundlikult!

Taust:

Otsustasin selle projektiga jätkata pärast otseteeklaviatuuri tegemist. Arduino klaviatuuri raamatukogu õppides ja otseteid pakkudes sidusin mõned testnupud WASD -ga. See hakkas kohe minu arvutimängudega töötama ja see pani rattad pöörlema. Umbes samal ajal lõppes mul telefonis heliraamatute jaoks ruumi ja uurisin, kuidas oma telefoniga USB -mälupulka kasutada, kuna minu mudel ei luba microSD -kaarte. Siis sain teada OTG -st. OTG kasutab teie telefoni aku laetust sellega ühendatud seadme toiteks. Nende hulka kuuluvad näiteks klaviatuurid, hiired ja mälupulgad. Telefon saab toita 5v seadmeid ja arvata, mida arduino mikro vajab toimimiseks? See oli taevas tehtud tikk.

Tarvikud

Arduino Micro

Prototüüpide plaat

12 x 6 mm nuppe (kasutasin klassikalisi leivaplaadi kombatavaid hetkelisi lüliteid)

Jootekolb ja jootekolb

3D printer

Liikvel (OTG) kaabel; Ma tegin oma

Micro USB laadimiskaabel

Samm: kujundage

Disain
Disain
Disain
Disain
Disain
Disain

Tahtsin, et mu kontroller oleks kaasaskantav ja pakuks kõiki nuppe, mida vajan mängude mängimiseks kuni Super Nintendo ajastuni. See tähendas, et mul oleks vaja 12 nuppu. Neli suunapadja (d-pad) jaoks ja kaheksa A, B, X, Y, Start, Select, Left Trigger ja Right Trigger jaoks. Mul oli ka lisanõue, et soovin, et see oleks sümmeetriline, et saaksin seda ühe käega mängida, kasutades kumbagi kätt. See lisanõue võib tunduda kummaline, kuid mõningase konteksti jaoks pean mainima, et hiljuti leian end regulaarselt magavat last hoidmas ja kasutan oma piiratud mänguaja jooksul ainult ühte kätt.

Määratletud nõuetega otsustasin oma kontrolleri CAD -is kujundada. Ma isiklikult kasutan OnShape'i, kuid tean, et paljudel inimestel on ka Fusion360 -ga edu. Tahaksin kiirelt karjuda teistele selle saidi inimestele, kes kujundavad oma loomingut. See on raske töö! Kujundus, mille ma välja mõtlesin, oli ülilihtne, kuid kulus siiski mitu tundi, kuni olin rahul. Isegi kui ma seda välja kirjutan, märkan palju parandusi, mida tahaksin teha.

(Ma kavatsen Thingiverse'i.stl -failid, kui aeg seda lubab. Failid on olemas, et saaksin neid värskendada, ilma et peaksin siia pidevalt faile üles laadima.)

2. samm: printige oma looming

Printige oma looming!
Printige oma looming!

Mul on Ender 3 printer, mis on mul olnud vaid paar kuud. See on suurepärane printer alustamiseks, kui soovite 3D -printimist alustada. Ma ei saanud aru, kui hull see oli, enne kui mõõtsin oma osad selle projekti jaoks. Kuni selle projektini olin seda kasutanud ainult lauamängude minite printimiseks. Minid tulid suurepäraselt välja ja ma ei hoolinud liiga palju mõõtmetest. Kulus mitu kalibreerimiskuubikut ja uus hõõgniidi rull, enne kui olin tulemustega rahul.

Samm 3: Prototüüpplaadi ettevalmistamine

Prototüüpplaadi ettevalmistamine
Prototüüpplaadi ettevalmistamine
Prototüüpplaadi ettevalmistamine
Prototüüpplaadi ettevalmistamine

Enne nuppude jootmist prototüüpplaadile katsetasin kõiki leivalaua nuppe ja testisin samal ajal oma arduino koodi. Ma vaatan koodi hiljem üle.

Praegu on parim aeg oma prototüüpplaadi suuruseks lõigata. Kasutage oma trükitud kontrolleri korpust juhisena ja kinnitage nupud kuivalt, veendumaks, et kõik on kooskõlas. Võtsin lihtsalt mõned traatlõiked ja lõikasin üleliigse plaadi ära, seejärel lihvisin servad 150 -liivapaberiga ruudukujuliseks.

Kontrolleri juhtmestik on tõesti lihtne, kuna kasutame arduino micro sisemisi tõmbetakistusi. Kõik nupud lähevad sisendile ja maandusele. Nupud, mida ma kasutan, on üldised 6 mm puutetundlikud hetkelised lülitid.

Nuppude jootmine arduino juurde oli lõbus väike nuputamisülesanne. Mõned nupud olid arduino all ja ma pidin selle alt juhtmed välja jooksma enne arduino jootmist prototüüpplaadile. Kui vaatate tähelepanelikult tahvli nuppude poole, jäin ma suunapadja jaoks vasakule ja paremale vahele.

Oma konkreetse disaini jaoks jootsin üles ja alla suunatud padja nupud (mul jäi vasak ja parem suundnupp vahele) prototüüpplaadile koos mõne eriti pika juhtmega, seejärel keerasin plaadi ümber ja jootsin arduino. Mul ei ole skeemi, sest ma jootsin nuppe enamasti ükshaaval juhuslikult (piisava huvi korral võin ühe üles laadida). Pärast arduino kinnitamist pöörasin tahvli tagasi nuppude poole ja jootsin ülejäänud nupud ja nende juhtmed.

4. samm: valikuline: kaunistage oma kontrolleri korpus

Enne lõplikku kokkupanekut on hea aeg lihvimiseks, tühimike täitmiseks ja kontrolleri korpuse värvimiseks. Valisin selle sammu oma prototüübi jaoks vahele, kuna tahtsin kohe midagi kasutada. Kui parandan paratamatult oma disaini millekski lihvitumaks, annan sellele väärilise valutöö.

Samm: lõplik kokkupanek

Lõplik assamblee
Lõplik assamblee

Nüüd on õige aeg kõik oma nupud ja valmis prototüüpplaat korpusesse panna. Ma kasutasin oma disaini jaoks #4-24 x 1/2 lehtmetallist kruvisid. Nad saavad tööga hakkama, kuid ei sobi nii hästi kui tahaksin.

Samm: programmeerige oma Arduino

Seda sammu võiksite teha varem, kui alles plaati kujundate või pärast seda, kui olete kõik prototüüpplaadile jootnud. Mulle lihtsalt meeldib, kui see on oma jaotises.

Kood on väga lihtne võrreldes enamiku arduino programmidega, mida olen näinud. Peame igale nupule määrama ainult klaviatuuri väärtuse ja arduino vaatab läbi, et kontrollida, milliseid nuppe vajutatakse, ja saata selle teabe meie telefoni.

Huvilistel kasutan oma retro -mängude mängimiseks rakendust retroArch. Minu kasutatavad klahvid on seatud retroArchi jaoks kasutatavale vaikimisi klaviatuuripaigutusele.

#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' // vasak õlg = 'q' // parem õlg = 'w' // vali = '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'}; Tagasipõrke * nupud = uus põrge [NUM_BUTTONS]; void setup () {for (int i = 0; i <NUM_BUTTONS; i ++) {nupud .kinnitus (BUTTON_PINS , INPUT_PULLUP); nupud .interval (25); } // klaviatuuri juhtimise initsialiseerimine: Keyboard.begin (); } void loop () {// kontrollige, kas (int i = 0; i <NUM_BUTTONS; i ++) {nupud .update (); if (nupud .kukkumine ()) {Keyboard.press (BUTTON_KEYS ); } if (nupud .rose ()) {Keyboard.release (BUTTON_KEYS ); }}}

Samm: mängige oma mänge

Mängige oma mänge!
Mängige oma mänge!

Teise võimalusena saab seda kontrollerit kasutada klahvivajutuste või makrode saatmiseks ilma OTG -kaablita arvutiga. Mul oli ka sõber, kes ütles, et selline kontroller võib olla kasulik ka tahvelarvutite joonistamiseks, kuigi ma pole kunagi varem nendega jama pannud.

Loodan, et see juhend oli teile kasulik. Allpool on õppetundide jaotis neile, kes on huvitatud sellest, mida ma protsessi käigus õppisin ja mida oleksin tahtnud teisiti teha.

8. samm: saadud õppetunnid

CAD:

Ma pole kunagi varem CAD -tarkvaraga palju jamasid pidanud ja pidin selle disainiga liikvel olles õppima. Algselt kasutasin püstisemat disaini, mis sobiks teie kätte nagu Wii Nunchuk. Minu piiratud teadmised orgaaniliste kujunditega kujundamisest olid minu kukkumine. Võib -olla peaksin Intructabeli oma CAD -disainiklassis üles võtma.

Nupud:

Nupud, mida ma kasutasin, olid valjemad kui ma sooviksin (eriti siis, kui üritasite kedagi ärkama hoida). Tahaksin leida vaiksemaid nuppe. Vedrude lisamine nuppude ja nuppude korkide vahele aitaks palju kaasa, et konstruktsioon oleks poleeritud. Nuppudel on minu maitse jaoks liiga palju lõtku.

Jootmine:

Olen jootmise algaja ja mul pole eriti kindlaid käsi. Kõigi nende pisikeste juhtmete jootmine kõikjal kestis kauem, kui olin oodanud. Kui peaksin seda kõike uuesti tegema, kaardistaksin kindlasti enne raua haaramist, kuhu mu juhtmed lähevad. See leevendaks vigu, mille avastasin pärast arduino prototüüpplaadile kinnitamist, ja oleks mulle aega säästnud.

Soovitan: