INHOUDSOPGAWE:

On the Go -beheerder: 8 stappe
On the Go -beheerder: 8 stappe

Video: On the Go -beheerder: 8 stappe

Video: On the Go -beheerder: 8 stappe
Video: Самый экономичный электродвигатель T-motor U8 Pro - под спец проект 2024, Julie
Anonim
On the Go -beheerder
On the Go -beheerder
On the Go -beheerder
On the Go -beheerder
On the Go -beheerder
On the Go -beheerder

Hou jy daarvan om speletjies op jou slimfoon te speel? Is u moeg daarvoor om te speel met 'n onaangename aanraakskerm? Haat u om te vergeet om u Bluetooth -beheerder te laai? Benodig u 'n kabel wat u gekoop het, maar nooit gebruik het nie?

Waarom nie u eie onderweg -kontroleerder maak nie?

Ek is seker dat ek redelik laat is (maar bedoel), maar ek het onlangs ontdek dat my ou slimfoon retro -speletjies kan speel via emulasie. Toe ek grootgeword het, was ek 'n groot aanhanger van die Game Boy -stelsels en het goeie herinneringe daaraan om ure lank te speel en my oë op lang motorritte vas te trek, en ek wou desperaat 'n spaarpunt vind voordat my battery doodgaan of die son te ver buite die horison was. sien my skerm. Nou kan ek op my selfoon speel en nostalgie gee, maar met 'n mooi skerm met agtergrond. Dankie tegnologie!

Disclaimer: Spelemulasie is 'n aangrypende onderwerp en kom in sommige gevalle oor die lyn van seerowery. Leer uself op en speel verantwoordelik!

Agtergrond:

Ek het besluit om hierdie projek voort te sit nadat ek 'n kortpad -sleutelbord gemaak het. Terwyl ek die arduino -sleutelbordbiblioteek leer en kortpaaie opdoen, het ek 'n paar van die toetsknoppies aan WASD gebind. Dit het onmiddellik met my rekenaarspeletjies begin werk, en dit het die wiele laat draai. Omtrent dieselfde tyd het ek nie meer ruimte op my foon gehad vir oudioboeke nie en het ek gekyk hoe ek 'n USB -flash drive met my telefoon kan gebruik, aangesien my model nie microSD -kaarte toelaat nie. Toe leer ek van OTG. OTG gebruik die laai van u selfoon se battery om die toestel wat daaraan gekoppel is, aan te dryf. Dit sluit sleutelborde, muise en flitsstasies in om maar 'n paar te noem. Die telefoon kan 5V -toestelle aandryf en raai wat die arduino -mikro benodig om te werk? Dit was 'n wedstryd wat in die hemel gemaak is.

Voorrade

Arduino Micro

Prototipe bord

12 x 6 mm knoppies (ek het klassieke, tasbare, onmiddellike skakelaars vir broodbord gebruik)

Soldeerbout en soldeer

3D -drukker

Onderweg (OTG) kabel; Ek het my eie gemaak

Micro USB laai kabel

Stap 1: Ontwerp

Ontwerp
Ontwerp
Ontwerp
Ontwerp
Ontwerp
Ontwerp

Ek wou hê dat my kontroleerder draagbaar is en al die knoppies bied wat ek nodig het om speletjies te speel tot in die Super Nintendo -era. Dit beteken dat ek 12 knoppies benodig. Vier vir die rigtingblok (d-pad) en agt vir die A, B, X, Y, Start, Select, Left Trigger en Right Trigger. Ek het ook 'n bykomende vereiste gehad dat ek simmetries wou hê, sodat ek dit met een hand met elke hand kon speel. Die bykomende vereiste klink miskien vreemd, maar om 'n bietjie konteks te gee, moet ek noem dat ek onlangs gereeld 'n slapende baba vashou en slegs een hand tydens my beperkte speeltyd gebruik.

Met die vereistes omskryf, het ek besluit om my beheerder in CAD te ontwerp. Ek gebruik persoonlik OnShape, maar ek weet dat baie mense ook sukses behaal met Fusion360. Ek wil 'n vinnige uitroep gee aan die ander mense op hierdie webwerf wat hul eie skeppings ontwerp. Dis harde werk! Die ontwerp waarmee ek vorendag gekom het, was super eenvoudig, maar ek het nog baie ure geneem voordat ek tevrede was. Terwyl ek dit tik, sien ek baie verbeterings wat ek sou wou aanbring.

(Ek is van plan om die.stl -lêers op Thingiverse maar as die tyd dit toelaat. Die lêers sal daar wees, sodat ek dit kan opdateer sonder om voortdurend lêers hier op te laai.)

Stap 2: Druk u skepping af

Druk u skepping af!
Druk u skepping af!

Ek het 'n Ender 3 -drukker wat ek net 'n paar maande gehad het. Dit is 'n uitstekende drukker om aan die gang te kom as u 3D -drukwerk wil doen. Ek het nie besef hoe moeilik dit was voordat ek my onderdele vir hierdie projek gemeet het nie. Tot hierdie projek het ek dit net gebruik om mini's vir tafelbladspeletjies te druk. Die mini's het baie goed uitgekom en ek het nie veel omgee vir afmetings nie. Ek het 'n paar kalibrasieblokkies en 'n nuwe rol filament gekos voordat ek tevrede was met die resultate.

Stap 3: berei u prototipe -bord voor

Berei u prototipe -bord voor
Berei u prototipe -bord voor
Berei u prototipe -bord voor
Berei u prototipe -bord voor

Voordat ek knoppies aan 'n prototipe bord soldeer, het ek al die knoppies op 'n broodbord getoets en my arduino -kode terselfdertyd getoets. Ek gaan in 'n latere stap oor die kode.

Dit is die beste tyd om u prototipe op maat te sny. Gebruik u gedrukte kontroleerderbehuizing as 'n gids en pas die knoppies droog om seker te maak dat alles in lyn is. Ek het net 'n paar draadknipsels geneem en die oortollige bord afgesny en die rande vierkantig geskuur met ongeveer 150 skuurpapier.

Die bedrading vir die beheerder is baie eenvoudig, aangesien ons die interne optrekweerstands van die arduino -mikro gebruik. Alle knoppies gaan na 'n invoer en word gemaal. Die knoppies wat ek gebruik, is generiese 6 mm tasbare oombliklike skakelaars.

Om die knoppies aan die arduino te soldeer, was 'n prettige legkaart om op te los. Sommige van die knoppies was onder die arduino en ek moes drade onder dit uitdraai voordat ek die arduino aan die prototipe bord soldeer. As u mooi na die knoppie van die bord kyk, het ek links en regs gemis vir die rigtingblok.

Vir my spesifieke ontwerp het ek die op- en afwaartse rigtingknoppies gesoldeer (ek het die knoppies links en regs gemis) aan die prototipe -bord saam met 'n paar ekstra lang drade, en dan die bord omgedraai en die arduino gesoldeer. Ek het nie 'n diagram nie, want ek het die knoppies meestal een vir een willekeurig gesoldeer (ek kan een oplaai as daar genoeg belangstelling is). Nadat die arduino vasgemaak is, draai ek die bord terug na die knoppie en soldeer die res van die knoppies en hul drade.

Stap 4: opsioneel: versier u beheerkas

Dit is 'n goeie tyd om die laaste skuur te skuur, gapings te vul en die behuizing van die kontroleerder te verf. Ek het besluit om hierdie stap vir my prototipe oor te slaan, want ek wou dadelik iets hê om te gebruik. As ek onvermydelik my ontwerp verbeter tot iets meer gepoleer, gee ek dit die pyn wat dit verdien.

Stap 5: Finale vergadering

Finale Vergadering
Finale Vergadering

Dit is nou die tyd om al u knoppies en die voltooide prototipe in die behuizing te plaas. Ek het #4-24 x 1/2 plaatskroewe gebruik vir my ontwerp. Hulle kry die werk gedoen, maar pas nie so goed soos ek sou wou nie.

Stap 6: programmeer u Arduino

U kan hierdie stap vroeër doen as u nog steeds die bord ontwerp of nadat u alles aan die prototipe -bord gesoldeer het. Ek hou net daarvan om dit in sy eie afdeling te hê.

Die kode is baie eenvoudig relatief tot die meeste arduino -programme wat ek gesien het. Ons hoef net elke knoppie 'n sleutelbordwaarde toe te ken, en die arduino sal deurloop om te kyk watter knoppies daar ingedruk word en die inligting na ons telefoon stuur.

Vir belangstellendes gebruik ek die retroArch -app om my retro -speletjies te speel. Die sleutels wat ek gebruik het, is ingestel op die standaard sleutelborduitleg wat vir retroArch gebruik word.

#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' // linker skouer = 'q' // regter skouer = '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'}; Weiering * knoppies = nuwe Weiering [NUM_BUTTONS]; ongeldige opstelling () {vir (int i = 0; i <NUM_BUTTONS; i ++) {knoppies .aanheg (BUTTON_PINS , INPUT_PULLUP); knoppies .interval (25); } // begin beheer oor die sleutelbord: Keyboard.begin (); } leemte -lus () {// kyk of die waarde verander is vir (int i = 0; i <NUM_BUTTONS; i ++) {knoppies .update (); if (knoppies .fell ()) {Keyboard.press (BUTTON_KEYS ); } if (knoppies .rose ()) {Keyboard.release (BUTTON_KEYS ); }}}

Stap 7: Speel u speletjies

Speel jou speletjies!
Speel jou speletjies!

Alternatiewelik kan hierdie kontroleerder saam met 'n rekenaar sonder die OTG -kabel gebruik word om sleutelpers of makros te stuur. Ek het ook 'n vriend gehad wat gesê het dat 'n kontroleerder soos hierdie ook nuttig kan wees om tablette te teken, hoewel ek nog nooit met een geknoei het nie.

Ek hoop dat u hierdie instruksies nuttig gevind het. Hieronder is 'n gedeelte wat geleer is vir diegene wat nuuskierig is oor wat ek tydens die proses geleer het en wat ek anders sou wou gedoen het.

Stap 8: lesse geleer

CAD:

Ek het in die verlede nog nooit veel met CAD -sagteware gemors nie en moes onderweg leer met hierdie ontwerp. Oorspronklik het ek 'n meer regop ontwerp gehad wat net soos 'n Wii Nunchuk in u hande sou pas. My beperkte kennis van ontwerp met organiese vorms was my ondergang. Miskien moet ek Intructables in die CAD -ontwerpklas neem.

Knoppies:

Die knoppies wat ek gebruik het, was harder as wat ek sou wou (veral as u probeer keer dat iemand nie wakker word nie). Ek wil 'n paar stiller knoppies vind. Deur die vere tussen die knoppies en die knoppies in te sluit, sal die bouvorm meer gepoleer voel. Die knoppies het te veel slap vir my smaak.

Soldeer:

Ek is 'n beginner in soldeer en het nie baie vaste hande nie. Om al die klein draadjies oral te soldeer, duur langer as wat ek verwag het. As ek dit weer moet doen, sal ek beslis 'n kaart maak waarheen my drade gaan voordat ek die yster gryp. Dit sou die foute wat ek ontdek het, versag nadat ek die arduino op die prototipe -bord aangebring het en sou my tyd bespaar het.

Aanbeveel: