Sisällysluettelo:
- Tarvikkeet
- Vaihe 1: Suunnittelu
- Vaihe 2: Tulosta luomuksesi
- Vaihe 3: Prototyyppitaulun valmistelu
- Vaihe 4: Valinnainen: Korjaa ohjainkotelosi
- Vaihe 5: Lopullinen kokoonpano
- Vaihe 6: Ohjelmoi Arduino
- Vaihe 7: Pelaa pelejäsi
- Vaihe 8: Oppiaiheet
Video: Go -ohjaimessa: 8 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:00
Pidätkö pelaamisesta älypuhelimellasi? Oletko kyllästynyt pelaamiseen kömpelöillä kosketusnäyttöohjaimilla? Vihaanko unohdit ladata Bluetooth -ohjaimesi? Tarvitsetko sitä käyttöösi ostamaasi kaapeliin, mutta et koskaan käytä sitä?
Miksi et tekisi itse liikkeellelähtöohjaimella?
Olen varma, että olen melko myöhässä peliin (pun -tarkoitus), mutta olen äskettäin havainnut, että vanha älypuhelin pystyi toistamaan retropelejä emuloinnin kautta. Kasvaessani olin suuri Game Boy -järjestelmien fani, ja minulla on lämpimiä muistoja siitä, että pelasin tuntikausia ja rasittelin silmiäni pitkillä automatkoilla epätoivoisesti löytääkseni pelastuspisteen ennen kuin akku kuoli tai aurinko oli liian kaukana horisontista. katso näyttöäni. Nyt voin pelata puhelimellani ja antaa nostalgiaa, mutta mukavalla taustavalaistulla näytöllä. Kiitos tekniikka!
Vastuuvapauslauseke: Pelin emulointi on arka aihe, ja se ohittaa joissakin tapauksissa piratismia. Kouluta itseäsi ja pelaa vastuullisesti!
Tausta:
Päätin jatkaa tätä projektia tehdessäni pikanäppäimistön. Oppiessani arduino -näppäimistökirjastoa ja keksiessäni pikakuvakkeita, sidoin joitain testipainikkeita WASD: hen. Se alkoi heti työskennellä PC -pelieni kanssa ja se sai pyörät pyörimään. Noin samaan aikaan puhelimestani loppui äänikirjojen tila ja katsoin, miten voin käyttää USB -muistitikkua puhelimeni kanssa, koska mallini ei salli microSD -kortteja. Silloin opin OTG: stä. OTG käyttää puhelimen akun latausta siihen kytkettyyn laitteeseen. Näihin kuuluvat näppäimistöt, hiiret ja flash -asemat. Puhelin voi syöttää virtaa 5 voltin laitteisiin ja arvaa, mitä arduino micro vaatii toimiakseen? Se oli taivaassa tehty ottelu.
Tarvikkeet
Arduino Micro
Prototyyppitaulu
12 x 6 mm: n painikkeet (käytin klassisia leipälautan kosketuskytkimiä)
Juotin ja juote
3D tulostin
Matkalla (OTG) -kaapeli; Tein oman
Micro USB -latauskaapeli
Vaihe 1: Suunnittelu
Halusin, että ohjaimeni on kannettava ja tarjoaa kaikki painikkeet, joita tarvitsen pelien pelaamiseen aina Super Nintendon aikakauteen asti. Tämä tarkoitti, että tarvitsen 12 painiketta. Neljä suunnanäppäimelle (d-pad) ja kahdeksan A-, B-, X-, Y-, Start-, Select-, vasen- ja oikeanpuoleiselle liipaisimelle. Minulla oli myös lisävaatimus, että halusin sen olevan symmetrinen, jotta voisin pelata sitä yhdellä kädellä kumpaakin kättä käyttäen. Tämä lisävaatimus saattaa kuulostaa oudolta, mutta jonkin asiayhteyden vuoksi minun on mainittava, että viime aikoina olen säännöllisesti pitelemässä nukkuvaa vauvaa ja käytän vain yhtä kättäni rajoitetun peliaikani aikana.
Määriteltyjen vaatimusten mukaisesti aloin suunnitella ohjaimen CAD -muotoon. Käytän henkilökohtaisesti OnShapea, mutta tiedän, että monet ihmiset menestyvät myös Fusion360: n kanssa. Haluaisin huutaa nopeasti muille tämän sivuston ihmisille, jotka suunnittelevat omia luomuksiaan. Se on kovaa työtä! Suunnitteluni, jonka keksin, oli erittäin yksinkertainen, mutta silti kesti monta tuntia ennen kuin olin tyytyväinen. Vaikka kirjoitan tätä, huomaan monia parannuksia, joita haluaisin tehdä.
(Suunnittelen vain.stl -tiedostoja Thingiversessä, kun aika sallii. Tiedostot ovat siellä, jotta voin päivittää ne ilman, että tarvitsen jatkuvasti ladata tiedostoja tänne.)
Vaihe 2: Tulosta luomuksesi
Minulla on Ender 3 -tulostin, jota minulla on ollut vain muutaman kuukauden ajan. Se on loistava tulostin aloittaaksesi, jos haluat aloittaa 3D -tulostuksen. En tajunnut kuinka hullu se oli, ennen kuin mittasin osani tähän projektiin. Tähän projektiin asti olin käyttänyt sitä vain minipainamiseen pöytälevypeleihin. Minit tulivat loistaviksi, enkä välittänyt liikaa mitoista. Kesti useita kalibrointikuutioita ja uuden hehkulangan rullan, ennen kuin olin tyytyväinen tuloksiin.
Vaihe 3: Prototyyppitaulun valmistelu
Ennen painikkeiden juottamista prototyyppikortille testasin kaikkia leipälevyn painikkeita ja testasin arduino -koodiani samanaikaisesti. Käyn koodin läpi myöhemmin.
Nyt on paras aika leikata prototyyppilevy sopivan kokoiseksi. Käytä painettua ohjainkoteloa oppaana ja aseta painikkeet kuivaksi varmistaaksesi, että kaikki ovat kohdakkain. Otin vain langankatkoja ja leikkasin ylimääräisen levyn pois ja hioin reunat neliömäisiksi noin 150 karkeudella.
Ohjaimen johdotus on todella suoraviivaista, koska käytämme arduino mikron sisäisiä vetovastuksia. Kaikki painikkeet siirtyvät tuloon ja maahan. Käytän painikkeita, jotka ovat yleisiä 6 mm: n kosketuskytkimiä.
Painikkeiden juottaminen arduinoon oli hauska pieni pulma ratkaistavaksi. Jotkut painikkeet olivat arduinon alla ja minun piti ajaa johdot sen alta ennen juottamista arduino prototyyppikortille. Jos tarkastelet tarkasti levyn painikkeen puolta, kaipasin suuntaa vasemmalle ja oikealle.
Erikoissuunnittelua varten juotin ylös- ja alaspäin suuntautuvat pad -painikkeet (unohdin vasemman ja oikean suunnan painikkeet) prototyyppikortille yhdessä joidenkin erittäin pitkien johtojen kanssa, sitten käänsin levyn ympäri ja juotin arduinon. Minulla ei ole kaaviota, koska juotin painikkeet enimmäkseen yksi kerrallaan satunnaisesti (saatan ladata yhden, jos kiinnostusta riittää). Kun arduino on kiinnitetty, käänsin levyn takaisin painikkeen puolelle ja juotin loput painikkeet ja niiden johdot.
Vaihe 4: Valinnainen: Korjaa ohjainkotelosi
Ennen lopullista kokoonpanoa on hyvä aika hioa, täyttää aukot ja maalata ohjainkotelo. Päätin ohittaa tämän vaiheen prototyypilleni, koska halusin saada jotain heti käyttöön. Kun parannan väistämättä muotoiluni jotain kiillotetummaksi, annan sille sen ansaitseman kiputyön.
Vaihe 5: Lopullinen kokoonpano
Nyt on aika laittaa kaikki painikkeet ja valmis prototyyppikortti koteloon. Käytin suunnittelussa #4-24 x 1/2 peltiruuvia. He saavat työnsä valmiiksi, mutta eivät sovi niin hyvin kuin haluaisin.
Vaihe 6: Ohjelmoi Arduino
Haluat ehkä tehdä tämän vaiheen aikaisemmin, kun suunnittelet edelleen levyä tai kun olet juottanut kaiken prototyyppikortille. Pidän siitä, että tämä on omalla osastollaan.
Koodi on hyvin yksinkertainen verrattuna useimpiin näkemiini arduino -ohjelmiin. Meidän on vain annettava jokaiselle painikkeelle näppäimistöarvo, ja arduino tarkistaa silmukat läpi, mitä painikkeita painetaan, ja lähettää nämä tiedot puhelimeemme.
Kiinnostuneille käytän retroArch -sovellusta retro -pelien pelaamiseen. Käyttämäni näppäimet on asetettu oletusnäppäimistöasettelulle, jota käytetään retroArchissa.
#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' // vasen olkapää = 'q' // oikea olkapää = 'w' // valitse = '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 * -painikkeet = uusi Bounce [NUM_BUTTONS]; void setup () {for (int i = 0; i <NUM_BUTTONS; i ++) {button .attach (BUTTON_PINS , INPUT_PULLUP); painikkeet .interval (25); } // alustetaan näppäimistön hallinta: Keyboard.begin (); } void loop () {// tarkista onko muutettu arvoa (int i = 0; i <NUM_BUTTONS; i ++) {painikkeet .update (); if (painikkeet .fell ()) {Keyboard.press (BUTTON_KEYS ); } if (painikkeet .rose ()) {Keyboard.release (BUTTON_KEYS ); }}}
Vaihe 7: Pelaa pelejäsi
Vaihtoehtoisesti tätä ohjainta voidaan käyttää tietokoneen kanssa ilman OTG -kaapelia näppäinpainallusten tai makrojen lähettämiseen. Minulla oli myös ystävä, joka sanoi, että tällainen ohjain voisi olla hyödyllinen myös tablettien piirtämisessä, vaikka en ole koskaan sekoittanut sellaisen kanssa.
Toivottavasti tämä Instructable oli sinulle hyödyllinen. Alla on opittuja osioita niille, jotka ovat uteliaita siitä, mitä olen oppinut prosessin aikana ja mitä olisin halunnut tehdä toisin.
Vaihe 8: Oppiaiheet
CAD:
En ole koskaan aiemmin sekoittanut CAD -ohjelmistoihin paljon, ja minun oli opittava liikkeellä ollessani tämän suunnittelun kanssa. Alun perin käytin enemmän pystysuoraa muotoilua, joka sopisi käsiinne paljon kuin Wii Nunchuk. Rajoitettu tietämykseni orgaanisten muotojen suunnittelusta oli kaatumiseni. Ehkä minun pitäisi nostaa Intructables sen CAD -suunnitteluluokkaan.
Painikkeet:
Käyttämäni painikkeet olivat kovempia kuin haluaisin (varsinkin kun yritit estää jotakuta heräämästä). Haluaisin löytää hiljaisempia painikkeita. Jousien sisällyttäminen painikkeiden ja napitulppien väliin auttaisi paljon, jotta rakenne tuntuisi hiotulta. Napit ovat liian löysät minun makuuni.
Juotos:
Olen aloittelija juottamisessa, eikä minulla ole kovin vakaita käsiä. Kaikkien näiden pienien johtojen juottaminen kaikkialle kesti kauemmin kuin olin odottanut. Jos minun pitäisi tehdä se uudestaan, kartoitan ehdottomasti, mihin johdot kulkevat ennen raudan tarttumista. Se lieventäisi virheitä, jotka löysin arduinon kiinnittämisen jälkeen prototyyppikortille, ja säästäisin aikaa.
Suositeltava:
DIY Raspberry Pi Downloadbox: 4 vaihetta
DIY Raspberry Pi Downloadbox: Löydätkö usein itsesi lataamasta suuria tiedostoja, kuten elokuvia, torrentteja, kursseja, TV -sarjoja jne., Niin tulet oikeaan paikkaan. Tässä Instructable -ohjelmassa muuttaisimme Raspberry Pi zero -laitteemme latauskoneeksi. Joka voi ladata minkä tahansa
Akustinen levitaatio Arduino Unon kanssa Askel askeleelta (8 vaihetta): 8 vaihetta
Akustinen levitaatio Arduino Unon kanssa Askel askeleelta (8 vaihetta): ultraäänikaiuttimet L298N DC-naarasadapterin virtalähde urospuolisella dc-nastalla ja analogiset portit koodin muuntamiseksi (C ++)
4G/5G HD -videon suoratoisto DJI Dronesta alhaisella latenssilla [3 vaihetta]: 3 vaihetta
4G/5G HD -videon suoratoisto DJI Dronesta alhaisella latenssilla [3 vaihetta]: Seuraava opas auttaa sinua saamaan live-HD-videovirtoja lähes mistä tahansa DJI-dronesta. FlytOS -mobiilisovelluksen ja FlytNow -verkkosovelluksen avulla voit aloittaa videon suoratoiston droonilta
Pultti - DIY -langaton latauskello (6 vaihetta): 6 vaihetta (kuvilla)
Pultti - DIY -langaton latausyökello (6 vaihetta): Induktiiviset lataukset (tunnetaan myös nimellä langaton lataus tai langaton lataus) on langattoman voimansiirron tyyppi. Se käyttää sähkömagneettista induktiota sähkön tuottamiseen kannettaville laitteille. Yleisin sovellus on langaton Qi -latauslaite
4 vaihetta akun sisäisen vastuksen mittaamiseksi: 4 vaihetta
4 vaihetta akun sisäisen vastuksen mittaamiseksi: Tässä on 4 yksinkertaista vaihetta, joiden avulla voit mitata taikinan sisäisen vastuksen