Բովանդակություն:

Շարժվող վերահսկիչ `8 քայլ
Շարժվող վերահսկիչ `8 քայլ

Video: Շարժվող վերահսկիչ `8 քայլ

Video: Շարժվող վերահսկիչ `8 քայլ
Video: 8 ՆՇԱՆ,ՈՐ ԳԱՂՏՆԻ ՔԵԶ ԵՆ ՍԻՐԱՀԱՐՎԱԾ, ԻՄԱՑԻՐ 2 ՐՈՊԵՈՒՄ, ԹԵ Ո՞Վ Է ՆԱ: 2024, Հուլիսի
Anonim
Գնացեք վերահսկիչ
Գնացեք վերահսկիչ
Գնացեք վերահսկիչ
Գնացեք վերահսկիչ
Գնացեք վերահսկիչ
Գնացեք վերահսկիչ

Սիրու՞մ եք խաղեր խաղալ ձեր խելացի հեռախոսով: Հոգնե՞լ եք սենսորային դիպչող կառավարումներով խաղերից: Ատու՞մ եք մոռանալ լիցքավորել ձեր Bluetooth վերահսկիչով: Ձեզ անհրաժեշտ է դրա օգտագործումը գնված, բայց երբեք չօգտագործվող մալուխի համար:

Ինչու՞ ինքնուրույն չկառուցել վերահսկիչ:

Համոզված եմ, որ բավականին ուշացել եմ խաղից (բառախաղի համար), բայց վերջերս հայտնաբերեցի, որ իմ հին սմարթֆոնը ընդունակ է նմանակման միջոցով ռետրո խաղեր խաղալ: Մեծանալով ՝ ես Game Boy համակարգերի հսկայական երկրպագու էի և հաճելի հիշողություններ ունեի ժամերով խաղալու և աչքերս լարելով երկար մեքենաների վրա, հուսահատորեն փորձելով փրկության կետ գտնել մարտկոցիս մահից առաջ կամ արևը հորիզոնից շատ հեռու էր: տես իմ էկրանը: Այժմ ես կարող եմ խաղալ իմ հեռախոսով և տրվել կարոտի, բայց գեղեցիկ լուսավորված էկրանով: Շնորհակալություն տեխնոլոգիա:

Հրաժարում. Խաղի կրկնօրինակը հուզիչ թեմա է և որոշ դեպքերում շրջանցում է ծովահենության գիծը: Խնդրում ենք կրթվել և պատասխանատու խաղալ:

Նախապատմություն:

Ես որոշեցի հետամուտ լինել այս նախագծին ՝ դյուրանցման ստեղնաշար պատրաստելուց հետո: Arduino ստեղնաշարի գրադարանը սովորելիս և դյուրանցումներ մտցնելիս որոշ թեստային կոճակներ կապեցի WASD- ի հետ: Այն անմիջապես սկսեց աշխատել իմ համակարգչի խաղերի հետ, և դա անիվները պտտեցրեց: Մոտավորապես նույն ժամանակ ես վերջացրի իմ հեռախոսի ձայնային գրքերի տարածքը և նայեցի, թե ինչպես օգտագործել իմ հեռախոսով USB ֆլեշ կրիչ, քանի որ իմ մոդելը թույլ չի տալիս microSD քարտեր: Այդ ժամանակ ես իմացա OTG- ի մասին: OTG- ն օգտագործում է ձեր հեռախոսների մարտկոցի լիցքը `դրան միացված սարքը սնուցելու համար: Սա ներառում է ստեղնաշարեր, մկնիկներ և ֆլեշ կրիչներ ՝ մի քանիսը անվանելու համար: Հեռախոսը կարող է սնուցել 5 վ սարքեր և կռահել, թե ինչ է պահանջում arduino միկրո աշխատելու համար: Դա երկնքում պատրաստված խաղ էր:

Պարագաներ

Arduino Micro

Նախատիպի տախտակ

12 x 6 մմ կոճակներ (ես օգտագործել եմ դասական հացահատիկի շոշափելի ակնթարթային անջատիչներ)

Sոդման երկաթ և զոդիչ

3D տպիչ

Շարժվող (OTG) մալուխ; Ես ինքս եմ պատրաստել

Միկրո USB լիցքավորման մալուխ

Քայլ 1: Դիզայն

Դիզայն
Դիզայն
Դիզայն
Դիզայն
Դիզայն
Դիզայն

Ես ուզում էի, որ իմ վերահսկիչը դյուրակիր լինի և առաջարկի բոլոր այն կոճակները, որոնք ինձ անհրաժեշտ կլինեն մինչև Super Nintendo դարաշրջան խաղեր խաղալու համար: Սա նշանակում էր, որ ինձ պետք կլինի 12 կոճակ: Չորսը ուղղորդման պահոցի համար (d-pad) և ութը A, B, X, Y, Start, Select, Left Trigger և Right Trigger- ի համար: Ես նաև լրացուցիչ պահանջ ունեի, որ ես ուզում եմ, որ այն լինի սիմետրիկ, որպեսզի կարողանամ այն խաղալ մեկ ձեռքով ՝ օգտագործելով ցանկացած ձեռքը: Այդ լրացուցիչ պահանջը կարող է տարօրինակ թվալ, բայց որոշակի համատեքստ տալու համար ես պետք է նշեմ, որ վերջերս ես պարբերաբար հայտնվում եմ քնած երեխային գրկած և սահմանափակ խաղերի ժամանակ միայն մեկ ձեռքն եմ օգտագործում:

Սահմանված պահանջներով ես սկսեցի նախագծել իմ վերահսկիչը CAD- ում: Ես անձամբ օգտագործում եմ OnShape- ը, բայց գիտեմ, որ շատ մարդիկ հաջողություններ ունեն նաև Fusion360- ի հետ: Ես կցանկանայի արագ բացականչել այս կայքի մյուս մարդկանց, ովքեր նախագծում են իրենց սեփական ստեղծագործությունները: Դա ծանր աշխատանք է: Դիզայնը, որով ես հանդես եկա, չափազանց պարզ էր, բայց դեռ շատ ժամեր պահանջվեցին, որ ես բավարարվեի: Նույնիսկ երբ ես գրում եմ սա, ես նկատում եմ բազմաթիվ բարելավումներ, որոնք ես կցանկանայի կատարել:

(Ես նախատեսում եմ, սակայն.stl ֆայլերը Thingiverse- ում, երբ ժամանակը թույլ տա: Ֆայլերը կլինեն այնտեղ, որպեսզի կարողանամ դրանք թարմացնել ՝ առանց այստեղ անընդհատ ֆայլեր վերբեռնելու):

Քայլ 2: Տպեք ձեր ստեղծագործությունը:

Տպեք ձեր ստեղծագործությունը
Տպեք ձեր ստեղծագործությունը

Ես ունեմ Ender 3 տպիչ, որն ունեի ընդամենը մի քանի ամիս: Դա հիանալի տպիչ է ՝ սկսելու համար, եթե ցանկանում եք զբաղվել 3D տպագրությամբ: Ես չէի գիտակցում, թե որքան անհաջող էր, մինչև որ չափեցի այս նախագծի իմ մասերը: Մինչև այս նախագիծը ես այն օգտագործում էի միայն սեղանի խաղերի համար մինիներ տպելու համար: Մինի մեքենաները հիանալի դուրս եկան, և ես չափսերին շատ չէի հետաքրքրում: Այն տևեց մի քանի չափաբերման խորանարդ և թելքի նոր գլան, նախքան արդյունքները գոհ մնալը:

Քայլ 3 ՝ Նախատիպի տախտակի պատրաստում

Ձեր նախատիպի տախտակի պատրաստում
Ձեր նախատիպի տախտակի պատրաստում
Ձեր նախատիպի տախտակի պատրաստում
Ձեր նախատիպի տախտակի պատրաստում

Նախքան տախտակի նախատիպին կոճակները միացնելը, ես փորձարկեցի բոլոր կոճակները տախտակի վրա և միաժամանակ փորձարկեցի իմ arduino կոդը: Կոդին կանդրադառնամ հետագա քայլին:

Այժմ ամենալավ ժամանակն է ձեր տախտակի նախատիպը չափի կտրելու համար: Օգտագործեք ձեր տպագիր վերահսկիչի տուփը որպես ուղեցույց և չորացրեք կոճակները `համոզվելու համար, որ ամեն ինչ համընկնում է: Ես պարզապես վերցրեցի մետաղալարեր և կտրեցի ավելորդ տախտակը, այնուհետև եզրերը քսեցի մոտ 150 մանրացված հղկաթուղթով:

Կառավարիչի էլեկտրագծերը իսկապես պարզ են, քանի որ մենք օգտագործում ենք arduino micro- ի ներքին ձգման դիմադրիչներ: Բոլոր կոճակները անցնում են մուտքի և հիմքի: Կոճակները, որոնք ես օգտագործում եմ, ընդհանուր 6 մմ շոշափելի ակնթարթային անջատիչներ են:

Արդուինոյին կոճակները զետեղելը մի փոքրիկ զվարճալի հանելուկ էր: Կոճակներից մի քանիսը գտնվում էին arduino- ի տակ, և ես ստիպված էի դրա տակ լարեր հանել, նախքան arduino- ն նախատիպի տախտակին կպցնելը: Եթե ուշադիր նայեք տախտակի կոճակի կողքին, ես ձախողեցի ձախ և աջ ուղղորդող բարձիկի համար:

Իմ հատուկ դիզայնի համար ես միացրեցի վերևի և ներքևի ուղղորդիչի բարձիկների կոճակները (ես բաց թողեցի ձախ և աջ ուղղորդման բարձիկների կոճակները) նախատիպի տախտակին, ինչպես նաև լրացուցիչ երկար լարերի հետ միասին, այնուհետև տախտակը շրջեցի և զոդեցի arduino- ին: Ես դիագրամ չունեմ, քանի որ ես հիմնականում կոճակները զոդում էի մեկ առ մեկ պատահականորեն (կարող եմ մեկը վերբեռնել, եթե բավարար հետաքրքրություն լինի): Արդուինոյի ամրացումից հետո ես տախտակը ետ շրջեցի դեպի կոճակի կողմը և կպցրեցի մնացած կոճակները և դրանց լարերը:

Քայլ 4. Լրացուցիչ. Զուգված ձեր վերահսկիչի տունը

Նախքան վերջնական հավաքումը լավ ժամանակ է հղկելու, բացերը լրացնելու և վերահսկիչի պատյան ներկելու համար: Ես նախընտրեցի բաց թողնել այս քայլը իմ նախատիպի համար, քանի որ ցանկանում էի միանգամից օգտագործել մի բան: Երբ ես անխուսափելիորեն իմ դիզայնը կդարձնեմ ավելի հղկված բանի, ես նրան կտամ այն ցավալի աշխատանքը, որին արժանի է:

Քայլ 5: Վերջնական հավաքում

Վերջնական ժողով
Վերջնական ժողով

Այժմ ժամանակն է ձեր բոլոր կոճակները և ավարտված նախատիպի տախտակը դնել պատյանում: Իմ դիզայնի համար օգտագործել եմ #4-24 x 1/2 թիթեղյա պտուտակներ: Նրանք ավարտում են աշխատանքը, բայց չեն տեղավորվում այնպես, ինչպես ես կցանկանայի:

Քայլ 6: Programրագրեք ձեր Arduino- ն

Հնարավոր է, որ դուք ցանկանաք այս քայլն անել ավելի վաղ, երբ դեռ նախագծում եք տախտակը կամ այն բանից հետո, երբ ամեն ինչ զոդել եք նախատիպի տախտակին: Ինձ դուր է գալիս, որ սա իր բաժնում լինի:

Կոդը շատ պարզ է համեմատած իմ տեսած arduino ծրագրերի մեծ մասի հետ: Մենք պետք է յուրաքանչյուր կոճակին հատկացնենք ստեղնաշարի արժեք, և arduino- ն կընկնի ՝ ստուգելու համար, թե ինչ կոճակներ են սեղմված և ուղարկելու այդ տեղեկատվությունը մեր հեռախոսին:

Հետաքրքրվողների համար ես օգտագործում եմ retroArch ծրագիրը `իմ ռետրո խաղերը խաղալու համար: Իմ օգտագործած ստեղները դրված են retroArch- ի համար օգտագործվող ստեղնաշարի կանխադրված դասավորության վրա:

#ներառել #ներառել «Ստեղնաշար.հ» #սահմանել 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'}; Ounատկում * կոճակներ = նոր ounատկում [NUM_BUTTONS]; void setup () {for (int i = 0; i <NUM_BUTTONS; i ++) {buttons .attach (BUTTON_PINS , INPUT_PULLUP); կոճակներ .միջանկ (25); } // ստեղնաշարի նկատմամբ սկզբնական վերահսկողություն. Keyboard.begin (); } void loop () {// ստուգեք, արդյոք արժեքը փոխվել է (int i = 0; i <NUM_BUTTONS; i ++) {կոճակների . արդիականացման (); if (կոճակներ .fell ()) {Keyboard.press (BUTTON_KEYS ); } if (կոճակներ .rose ()) {Keyboard.release (BUTTON_KEYS ); }}}

Քայլ 7: Խաղացեք ձեր խաղերը:

Խաղացեք ձեր խաղերը
Խաղացեք ձեր խաղերը

Այլապես, այս վերահսկիչը կարող է օգտագործվել համակարգչի հետ առանց OTG մալուխի ՝ առանցքային սեղմումներ կամ մակրոներ ուղարկելու համար: Ես նաև ունեի մի ընկեր, ով ասաց, որ նման վերահսկիչը կարող է նաև օգտակար լինել պլանշետներ նկարելու համար, չնայած որ ես նախկինում երբեք չեմ շփոթել դրանց հետ:

Հուսով եմ, որ այս հրահանգը օգտակար է ձեզ համար: Ստորև բերված է դասեր քաղված հատված այն հետաքրքրվողների համար, թե ինչ եմ սովորել ընթացքում և ինչ կուզենայի այլ կերպ վարվել:

Քայլ 8: Սովորած դասեր

CAD:

Նախկինում ես երբեք շատ չեմ խառնվել CAD ծրագրային ապահովման հետ և ստիպված էի սովորել այս դիզայնի ընթացքում: Ի սկզբանե ես գնացի ավելի ուղիղ ձևով, որը ձեր ձեռքերում կհամապատասխաներ Wii Nunchuk- ի նման: Օրգանական ձևերով դիզայնի իմ սահմանափակ գիտելիքները իմ անկումն էին: Միգուցե ես պետք է Intructables- ին մասնակցեմ CAD դիզայնի դասին:

Կոճակներ:

Իմ օգտագործած կոճակները ավելի բարձր էին, քան ես կցանկանայի (հատկապես, երբ փորձում էիր ինչ -որ մեկին զերծ պահել արթնանալուց): Ես կցանկանայի ավելի հանգիստ կոճակներ գտնել: Կոճակների և կոճակների կափարիչների միջև զսպանակներ ներգրավելը երկար ճանապարհ կտա, որպեսզի կառուցվածքն ավելի հղկված լինի: Կոճակները չափազանց շատ թուլացել են իմ ճաշակի համար:

Sոդման:

Soldոդման սկսնակ եմ և շատ կայուն ձեռքեր չունեմ: Այդ բոլոր մանր լարերը ամենուրեք կպցնելը տևեց ավելի երկար, քան ես ենթադրում էի: Եթե ես ստիպված լինեի նորից դա անել, ես անպայման կտեղեկացնեի, թե ուր են անցնելու իմ լարերը ՝ երկաթը բռնելուց առաջ: Դա կթեթևացներ arduino- ն նախատիպի տախտակին փակցնելուց հետո հայտնաբերածս սխալները և ինձ ժամանակ կխնայեր:

Խորհուրդ ենք տալիս: