Përmbajtje:

Kontrolluesi në lëvizje: 8 hapa
Kontrolluesi në lëvizje: 8 hapa

Video: Kontrolluesi në lëvizje: 8 hapa

Video: Kontrolluesi në lëvizje: 8 hapa
Video: Pjestimi në Shtyllë me Pjestues Një Shifror. 2024, Nëntor
Anonim
Në kontrolluesin në lëvizje
Në kontrolluesin në lëvizje
Në kontrolluesin në lëvizje
Në kontrolluesin në lëvizje
Në kontrolluesin në lëvizje
Në kontrolluesin në lëvizje

A ju pëlqen të luani lojëra në telefonin tuaj të mençur? A jeni lodhur duke luajtur me kontrolle të vështira të ekranit me prekje? Urreni të harroni të ngarkoni kontrolluesin tuaj Bluetooth? Keni nevojë për një përdorim për atë në lëvizje kabllon që keni blerë, por nuk e përdorni kurrë?

Pse të mos bëni kontrollorin tuaj në lëvizje?

Unë jam i sigurt se jam shumë vonë në lojë (me qëllim lojërash), por kohët e fundit kam zbuluar se telefoni im i vjetër i vjetër ishte në gjendje të luante lojëra retro përmes imitimit. Duke u rritur, unë isha një tifoz i madh i sistemeve Game Boy dhe kisha kujtime të bukura duke luajtur me orë të tëra dhe duke i lodhur sytë në udhëtimet e gjata me makinë duke dëshpëruar duke gjetur një pikë kursimi para se bateria ime të vdiste ose dielli ishte shumë përtej horizontit shiko ekranin tim. Tani mund të luaj në telefonin tim dhe të jap nostalgji, por me një ekran të bukur të ndriçuar. Faleminderit teknologjisë!

Përgjegjësia: Emulimi i lojës është një temë prekëse dhe e mbyll vijën e piraterisë në disa raste. Ju lutemi edukoni veten dhe luani me përgjegjësi!

Sfondi:

Vendosa ta ndjek këtë projekt pasi bëra një tastierë të shkurtuar. Ndërsa mësoja bibliotekën e tastierës arduino dhe dilja me shkurtore, lidha disa nga butonat e provës në WASD. Menjëherë filloi të punojë me lojërat e mia në PC dhe kjo bëri që rrotat të ktheheshin. Rreth asaj kohe unë mbarova hapësirën në telefonin tim për libra audio dhe shikova se si të përdor një USB flash drive me telefonin tim pasi modeli im nuk lejon karta microSD. Atëherë mësova për OTG. OTG përdor ngarkesën nga bateria e telefonave tuaj për të fuqizuar pajisjen e lidhur me të. Kjo përfshin tastiera, minj dhe disqe flash për të përmendur disa. Telefoni mund të fuqizojë pajisjet 5v dhe të gjejë se çfarë kërkon mikro arduino për të funksionuar? Ishte një ndeshje e bërë në parajsë.

Furnizimet

Arduino Micro

Bordi Prototip

Butona 12 x 6 mm (kam përdorur çelsat klasikë prekës të prekjes së bukës)

Hekuri i saldimit dhe saldimi

Printer 3D

Kabllo në lëvizje (OTG); E bëra timen

Kabllo për karikim mikro USB

Hapi 1: Dizajni

Dizajn
Dizajn
Dizajn
Dizajn
Dizajn
Dizajn

Doja që kontrolluesi im të ishte i lëvizshëm dhe të ofrojë të gjithë butonat që do të më duheshin për të luajtur lojëra deri në epokën e Super Nintendo. Kjo do të thoshte se do të më duheshin 12 butona. Katër për bllokun e drejtimit (d-pad) dhe tetë për A, B, X, Y, Start, Select, Left Trigger dhe Right Trigger. Unë gjithashtu kisha një kërkesë shtesë që doja që ajo të ishte simetrike në mënyrë që ta luaja me një dorë duke përdorur njërën dorë. Kjo kërkesë shtesë mund të tingëllojë e çuditshme, por për të dhënë një kontekst më duhet të përmend se kohët e fundit e gjej veten rregullisht duke mbajtur një foshnjë të fjetur dhe përdor vetëm një dorë gjatë kohës sime të kufizuara të lojërave.

Me kërkesat e përcaktuara, unë fillova të hartoj kontrolluesin tim në CAD. Unë personalisht përdor OnShape por e di që shumë njerëz kanë sukses edhe me Fusion360. Unë do të doja të bëja një britmë të shpejtë për njerëzit e tjerë në këtë faqe që krijojnë krijimet e tyre. Workshtë punë e vështirë! Dizajni me të cilin kam dalë ishte shumë i thjeshtë, por më duheshin shumë orë që të isha i kënaqur. Edhe pse po e shkruaj këtë po vërej shumë përmirësime që do të doja të bëja.

(Unë planifikoj të heq skedarët.stl në Thingiverse kur të lejojë koha. Skedarët do të jenë atje, kështu që unë mund t'i përditësoj ato pa pasur nevojë të ngarkoj vazhdimisht skedarë këtu.)

Hapi 2: Shtypni Krijimin tuaj

Shtypni Krijimin tuaj!
Shtypni Krijimin tuaj!

Unë kam një printer Ender 3 që e kam pasur vetëm për disa muaj. Ashtë një printer i shkëlqyeshëm për të filluar nëse doni të futeni në printimin 3D. Unë nuk e kuptova se sa keq ishte derisa mata pjesët e mia për këtë projekt. Deri në këtë projekt, e kisha përdorur vetëm për të printuar miniera për lojëra në tavolinë. Miniaturat dolën shkëlqyeshëm dhe nuk u interesova shumë për dimensionet. U deshën disa kube kalibrimi dhe një rrotull fije e re para se të isha i kënaqur me rezultatet.

Hapi 3: Përgatitja e bordit tuaj prototip

Përgatitja e bordit tuaj prototip
Përgatitja e bordit tuaj prototip
Përgatitja e bordit tuaj prototip
Përgatitja e bordit tuaj prototip

Para se të bashkoja butonat në një bord prototip, unë testova të gjithë butonat në një dërrasë buke dhe testova kodin tim arduino në të njëjtën kohë. Do ta kaloj kodin në një hap të mëvonshëm.

Tani është koha më e mirë për të shkurtuar madhësinë e bordit tuaj prototip. Përdorni strehimin tuaj të kontrolluesit të shtypur si një udhëzues dhe vendosni butonat në mënyrë të thatë për t'u siguruar që gjithçka të jetë në përputhje. Sapo mora disa copëza teli dhe ndërpreva dërrasën e tepërt, pastaj lëmova skajet me një letër zmerile 150 gri.

Instalimet elektrike për kontrolluesin janë vërtet të drejtpërdrejta pasi ne po përdorim rezistencat e brendshme tërheqëse të mikro arduino. Të gjithë butonat shkojnë në një hyrje dhe tokëzim. Butonat që po përdor janë çelsa të përgjithshëm prekës të prekshëm 6 mm.

Ngjitja e butonave në arduino ishte një enigmë e vogël argëtuese për t'u zgjidhur. Disa nga butonat ishin nën arduino dhe më duhej të hiqja telat nga poshtë tij para se të bashkoja arduino në bordin prototip. Nëse shikoni nga afër butonin e tabelës, më ka munguar e majta dhe e djathta për bllokun e drejtimit.

Për modelin tim specifik, unë bashkova butonat e jastëkut drejtues lart e poshtë (më munguan butonat e jastëkut të drejtimit të majtë dhe të djathtë) në tabelën prototip së bashku me disa tela shtesë të gjatë, pastaj e ktheva bordin dhe e bashkova arduinon. Unë nuk kam një diagram sepse kryesisht i bashkova butonat një nga një rastësisht (mund të ngarkoj një nëse ka interes të mjaftueshëm). Pasi arduino është siguruar, e ktheva dërrasën përsëri në anën e butonit dhe bashkova pjesën tjetër të butonave dhe telat e tyre.

Hapi 4: Opsionale: Bredhni shtëpinë tuaj kontrolluese

Para montimit përfundimtar është një kohë e mirë për të lëmuar, mbushur boshllëqet dhe pikturuar strehimin tuaj të kontrolluesit. Zgjodha ta kaloja këtë hap për prototipin tim sepse doja të kisha diçka për të përdorur menjëherë. Kur e përmirësoj në mënyrë të pashmangshme modelin tim në diçka më të lëmuar, do t'i jap atij punën e dhimbjes që meriton.

Hapi 5: Asambleja Përfundimtare

Asambleja Përfundimtare
Asambleja Përfundimtare

Tani është koha për të vendosur të gjithë butonat dhe bordin prototip të përfunduar në strehim. Kam përdorur vida #4-24 x 1/2 fletë metalike për modelin tim. Ata e kryejnë punën, por nuk përshtaten aq sa do të doja.

Hapi 6: Programoni Arduino -n tuaj

Ju mund të dëshironi ta bëni këtë hap më herët kur jeni ende duke hartuar tabelën ose pasi të keni lidhur gjithçka në bordin prototip. Më pëlqen ta kem këtë në pjesën e vet.

Kodi është shumë i thjeshtë në krahasim me shumicën e programeve arduino që kam parë. Ne vetëm duhet t'i caktojmë secilës buton një vlerë të tastierës dhe arduino do të lakohet për të kontrolluar se cilat butona janë shtypur dhe dërguar atë informacion në telefonin tonë.

Për të interesuarit, unë përdor aplikacionin retroArch për të luajtur lojërat e mia retro. Çelësat që kam përdorur janë vendosur në paraqitjen e paracaktuar të tastierës të përdorur për retroArch.

#include #include "Keyboard.h" #cakto 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' // shpatulla e majtë = 'q' // shpatulla e djathtë = 'w' // zgjidhni = 'rshift '// fillimi =' fut '// lart =' çelësi: lart '// poshtë =' çelësi: poshtë '// majta =' çelësi: majtas '// djathtas =' çelësi: djathtas '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'}; Butonat e kërcimit * = rikthimi i ri [NUM_BUTTONS]; void setup () {for (int i = 0; i <NUM_BUTTONS; i ++) {buttons .attach (BUTTON_PINS , INPUT_PULLUP); butona .interval (25); } // filloni kontrollin mbi tastierën: Keyboard.begin (); } void loop () {// kontrolloni nëse vlera ka ndryshuar për (int i = 0; i <NUM_BUTTONS; i ++) {buttons .update (); nëse (butonat .fell ()) {Keyboard.press (BUTTON_KEYS ); } if (butonat .rose ()) {Keyboard.release (BUTTON_KEYS ); }}}

Hapi 7: Luaj lojërat e tua

Luaj lojërat e tua!
Luaj lojërat e tua!

Përndryshe, ky kontrollues mund të përdoret me një kompjuter pa kabllon OTG për të dërguar shtypje ose makro kryesore. Unë gjithashtu kisha një mik që tha se një kontrollues si ky mund të ishte i dobishëm edhe për vizatimin e tabletave edhe pse nuk e kam ngatërruar kurrë më parë.

Shpresoj se e keni gjetur këtë udhëzues të dobishëm. Më poshtë është një seksion i mësimeve të mësuara për ata kuriozë për atë që kam mësuar gjatë procesit dhe atë që do të doja të kisha bërë ndryshe.

Hapi 8: Mësimet e nxjerra

CAD:

Unë kurrë nuk jam ngatërruar me softuerin CAD në të kaluarën dhe më është dashur të mësoj në lëvizje me këtë dizajn. Fillimisht unë shkova me një dizajn më të drejtë që do të përshtatet në duart tuaja shumë si një Wii Nunchuk. Njohuritë e mia të kufizuara për të dizajnuar me forma organike ishin rënia ime. Ndoshta duhet të marr Intructables në klasën e saj të dizajnit CAD.

Butonat:

Butonat që kam përdorur ishin më të zhurmshëm se sa do të doja (veçanërisht kur po përpiqeshit të mos e zgjonit dikë). Do të doja të gjeja disa butona më të qetë. Përfshirja e burimeve midis butonave dhe kapakëve të butonave do të shkonte shumë për ta bërë ndërtimin të ndihet më i lëmuar. Butonat kanë shumë ngecje për shijen time.

Saldim:

Unë jam një rishtar në saldim dhe nuk kam duar shumë të qëndrueshme. Lidhja e të gjithë atyre telave të vegjël në të gjithë vendin zgjati më shumë sesa e kisha parashikuar. Nëse do të më duhej ta bëja përsëri, patjetër që do të përcaktoja se ku do të kalonin telat e mi para se të kapja hekurin. Kjo do të zbuste gabimet që zbulova pasi e vendosa arduinon në tabelën prototip dhe do të më kishte kursyer kohë.

Recommended: