Мазмұны:

Жүру контроллерінде: 8 қадам
Жүру контроллерінде: 8 қадам

Бейне: Жүру контроллерінде: 8 қадам

Бейне: Жүру контроллерінде: 8 қадам
Бейне: Ермағамбов Т.Қ. КЖ сәулеті және компьютерлік техниканы жаңарту. 11 дәріс. 2024, Шілде
Anonim
Жол контроллерінде
Жол контроллерінде
Жол контроллерінде
Жол контроллерінде
Жол контроллерінде
Жол контроллерінде

Сіз смартфонмен ойын ойнағанды ұнатасыз ба? Сенсорлық экранды басқару элементтері бар ойыннан шаршадыңыз ба? Bluetooth контроллерін зарядтауды ұмытқыңыз келе ме? Бұл үшін сіз сатып алған, бірақ ешқашан пайдаланбайтын кабельді пайдалану керек пе?

Неліктен жолда контроллерді өзіңіз жасамасқа?

Мен ойынға кешігіп қалғаныма сенімдімін (ойынға арналған), бірақ жақында менің ескі смартфоным эмуляция арқылы ретро ойындар ойнай алатынын білдім. Мен өскенде мен Game Boy жүйелерінің үлкен жанкүйері болдым және бірнеше сағат бойы ойнағанымды және ұзақ уақыт бойы автокөлікпен жүруге көзімді жұмғанымды есте сақтап қалдым, аккумуляторым өлгенше немесе күн көкжиектен тым алыс болғанша құтқару нүктесін табуға тырысты. менің экранды қараңыз. Енді мен телефонмен ойнай аламын және ностальгияға беремін, бірақ артқы жарығы жақсы экранмен. Рахмет технология!

Жауапкершіліктен бас тарту: Ойынға еліктеу - бұл әсерлі тақырып және кейбір жағдайларда қарақшылық желісін жояды. Өтінемін, өзіңізді тәрбиелеп, жауапкершілікпен ойнаңыз!

Фон:

Мен пернелер тіркесімін жасағаннан кейін бұл жобаны жалғастыруды шештім. Ардуино пернетақтасының кітапханасын үйрену және таңбашалармен жұмыс жасау кезінде мен кейбір тест түймелерін WASD -ге байладым. Ол дереу менің компьютерлік ойындарыммен жұмыс жасай бастады, бұл дөңгелектерді айналдырды. Дәл сол уақытта мен телефонымда аудиокітаптар үшін бос орын таусылдым және телефонымда USB флэш -дискіні қалай пайдалану керектігін қарастырдым, себебі менің моделімде microSD карталарына рұқсат жоқ. Сол кезде мен OTG туралы білдім. OTG оған қосылған құрылғыны қуаттандыру үшін телефон батареясын зарядтайды. Бұған бірнеше пернетақталар, тышқандар мен флэш -дискілер кіреді. Телефон 5 вольтты құрылғыларды қуаттай алады және arduino micro жұмыс істеу үшін не қажет екенін біле алады ма? Бұл көкте жасалған матч болды.

Жабдықтар

Arduino Micro

Прототип тақтасы

12 x 6 мм түймелер (мен классикалық тақтаның тактильді қосқыштарын қолдандым)

Дәнекерлеуіш пен дәнекерлеуіш

3D принтері

Жолда (OTG) кабелі; Мен өзім жасадым

Micro USB зарядтау кабелі

1 -қадам: Дизайн

Дизайн
Дизайн
Дизайн
Дизайн
Дизайн
Дизайн

Мен контроллерімнің портативті болғанын және Super Nintendo дәуіріне дейін ойындар ойнауға қажетті барлық түймелерді ұсынғанын қалаймын. Бұл маған 12 түйме қажет болатынын білдіреді. Бағыт тақтасы үшін (d-pad) төрт және A, B, X, Y, Start, Select, Leig Trigger және Right Trigger үшін сегіз. Менде симметриялы болғанын қалайтын қосымша талап болды, сондықтан мен оны бір қолмен ойнай аламын. Бұл қосымша талап біртүрлі болып көрінуі мүмкін, бірақ кейбір контекстті айта кету керек, жақында мен үнемі ұйықтап жатқан нәрестені ұстап тұрамын және шектеулі ойын уақытында бір қолымды ғана қолданамын.

Белгіленген талаптарға сәйкес мен контроллерімді АЖЖ -да жобалауды шештім. Мен OnShape -ті жеке қолданамын, бірақ Fusion360 -пен көптеген адамдар табысқа жеткенін білемін. Мен бұл сайтта өз туындыларын жасайтын басқа адамдарға тез дауыс бергім келеді. Бұл қиын жұмыс! Мен ойлап тапқан дизайн өте қарапайым болды, бірақ мені қанағаттандыру үшін әлі де бірнеше сағат қажет болды. Мен мұны жазып жатқанда да, мен жасағым келетін көптеген жақсартуларды байқаймын.

(Мен рұқсат етілген кезде Thingiverse -те.stl файлдарын енгізуді жоспарлап отырмын. Файлдар сол жерде болады, сондықтан мен оларды файлдарды мұнда үнемі жүктемей -ақ жаңарта аламын.)

2 -қадам: Шығармаңызды басып шығарыңыз

Шығармаңызды басып шығарыңыз!
Шығармаңызды басып шығарыңыз!

Менде бірнеше ай ғана болған Ender 3 принтері бар. Егер сіз 3D басып шығаруды бастағыңыз келсе, бұл керемет принтер. Мен бұл жобаның бөлшектерін өлшегенше, бұл қалай болғанын түсінбедім. Осы жобаға дейін мен оны тек үстел үсті ойындарына арналған мини басып шығару үшін қолдандым. Мини керемет шықты, мен өлшемдерге онша мән бермедім. Нәтижелерге риза болмас бұрын бірнеше калибрлеу текшелері мен жіптің жаңа орамы қажет болды.

3 -қадам: прототип тақтасын дайындау

Прототип тақтасын дайындау
Прототип тақтасын дайындау
Прототип тақтасын дайындау
Прототип тақтасын дайындау

Түймелерді прототип тақтасына дәнекерлеу алдында мен нан тақтасындағы барлық түймелерді сынап көрдім және бір мезгілде arduino кодын тексердім. Мен кодты келесі қадамда өтемін.

Қазір прототип тақтасын өлшеміне дейін қысқартудың ең жақсы уақыты. Басып шығарылған контроллер корпусын нұсқаулық ретінде пайдаланыңыз және түймелердің барлығын реттеп қою үшін түймелерді құрғатыңыз. Мен жай ғана сым үзінділерін алып, артық тақтаны кесіп тастадым, содан кейін шеттерін 150 тегістелген тегістеу қағазымен тегістедім.

Контроллердің сымдары өте қарапайым, өйткені біз arduino micro ішкі тартқыш резисторларын қолданамыз. Барлық түймелер кіріс пен жерге ауысады. Мен қолданатын түймелер - бұл жалпы ұзындығы 6 мм болатын тактильді қосқыштар.

Түймелерді arduino -ға дәнекерлеу - шешуге болатын көңілді жұмбақ болды. Кейбір түймелер arduino астында болды, мен прототип тақтасына ардуиноны дәнекерлеу алдында оның астынан сымдарды шығаруға тура келді. Егер сіз тақтаның түйме жағына мұқият қарасаңыз, мен бағыттауыш тақтаны солға және оңға жіберіп алдым.

Мен нақты дизайн үшін жоғары және төмен бағыттағыш түймелерін (сол және оң жақ бағыттағыш түймелерін жіберіп алмадым) прототип тақтасына дәнекерледім, содан кейін тақтаны аударып, ардуиноны дәнекерледім. Менде диаграмма жоқ, себебі мен түймені кездейсоқ дәнекерледім (егер қызығушылық жеткілікті болса, мен жүктеуім мүмкін). Ардуино бекітілгеннен кейін мен тақтаны түйменің жағына аудардым, қалған түймелер мен олардың сымдарын дәнекерледім.

4 -қадам: Қосымша: Контроллер корпусын көтеріңіз

Соңғы жинаудың алдында - құмды тазалауға, бос жерлерді толтыруға және контроллер корпусын бояуға жақсы уақыт. Мен өзімнің прототипім үшін бұл қадамды өткізіп жіберуді шештім, себебі мен бірден қолдануға болатын нәрсені алғым келді. Мен дизайнды сөзсіз жақсартылған нәрсеге жақсартқанда, мен оған лайықты ауыртпалықты беремін.

5 -қадам: Қорытынды жиналыс

Қорытынды жиналыс
Қорытынды жиналыс

Барлық батырмалар мен дайын прототип тақтасын корпусқа салу уақыты келді. Мен өз дизайным үшін № 4-24 x 1/2 қаңылтыр металл бұрандаларды қолдандым. Олар тапсырманы орындайды, бірақ мен қалағандай сәйкес келмейді.

6 -қадам: Arduino бағдарламасын жасаңыз

Сіз бұл қадамды ертерек тақтаны жобалау кезінде немесе прототип тақтасына дәнекерлегеннен кейін жасағыңыз келуі мүмкін. Мен мұны өз бөлімінде болғанды ұнатамын.

Мен көрген көптеген arduino бағдарламаларына қарағанда код өте қарапайым. Бізге тек әр түймеде пернетақта мәнін тағайындау қажет, ал arduino қандай түймелердің басылғанын тексеріп, телефонға жібереді.

Қызығушылар үшін мен ретро ойындарын ойнау үшін retroArch қосымшасын қолданамын. Мен қолданған пернелер retroArch үшін қолданылатын әдепкі пернетақта орналасуына орнатылған.

#include #include «Keyboard.h» #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' // сол иық = 'q' // оң иық = 'w' // таңдау = '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 * түймелері = жаңа Bounce [NUM_BUTTONS]; void setup () {for (int i = 0; i <NUM_BUTTONS; i ++) {button .attach (BUTTON_PINS , INPUT_PULLUP); түймелер .аралық (25); } // пернетақтаны басқаруды инициализациялау: Keyboard.begin (); } void loop () {// мәнінің өзгергенін тексеру (int i = 0; i <NUM_BUTTONS; i ++) {түймелері .update (); if (түймелер . құлады ()) {Keyboard.press (BUTTON_KEYS ); } if (түймелері .rose ()) {Keyboard.release (BUTTON_KEYS ); }}}

7 -қадам: Ойындарыңызды ойнаңыз

Ойындарыңызды ойнаңыз!
Ойындарыңызды ойнаңыз!

Немесе бұл контроллерді OTG кабелі жоқ ДК -де пернелерді басу немесе макростар жіберу үшін пайдалануға болады. Менің досым да болды, ол мұндай контроллер планшеттер салу үшін де пайдалы болуы мүмкін деді, бірақ мен бұрын онымен ешқашан араласқан емеспін.

Сіз бұл нұсқаулықты пайдалы деп таптыңыз деп үміттенемін. Төменде процесс барысында мен не білдім және басқаша не істегім келеді деп білгісі келетіндерге сабақ бөлімі берілген.

8 -қадам: алынған сабақтар

АЖЖ:

Мен бұрын CAD бағдарламалық жасақтамасымен көп араласқан емеспін және осы дизайнмен жүріп келе жатып үйренуге тура келді. Бастапқыда мен сіздің қолыңызға Wii Nunchuk сияқты сәйкес келетін тік дизайнмен келдім. Органикалық пішіндермен жобалау туралы менің шектеулі білімім менің құлдырауым болды. Мүмкін, мен Intructables -ты CAD дизайн класына енгізуім керек шығар.

Түймелер:

Мен қолданған түймелер мен ойлағаннан да қатты болды (әсіресе сіз біреуді оятып алмауға тырысқанда). Мен тынышырақ түймелерді тапқым келеді. Түймешіктер мен түйме қақпақтары арасындағы серіппелерді қосқанда, конструкцияны жылтырату үшін ұзақ жол қажет болады. Түймелерде менің талғамым үшін тым көп бос орын бар.

Дәнекерлеу:

Мен дәнекерлеуді жаңадан бастаймын және қолдарым тұрақты емес. Барлық кішкентай сымдарды дәнекерлеу мен ойлағаннан да ұзақ уақытқа созылды. Егер мен мұны қайталап жасауым керек болса, мен темірді ұстамас бұрын сымдарымның қайда өтетінін міндетті түрде көрсететін едім. Бұл ардуиноны прототип тақтасына жапсырғаннан кейін тапқан қателіктерімді азайтады және менің уақытымды үнемдейді.

Ұсынылған: