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

Անլար համակարգչի ջոյստիկ/անիվի կոճակներ. 4 քայլ (նկարներով)
Անլար համակարգչի ջոյստիկ/անիվի կոճակներ. 4 քայլ (նկարներով)

Video: Անլար համակարգչի ջոյստիկ/անիվի կոճակներ. 4 քայլ (նկարներով)

Video: Անլար համակարգչի ջոյստիկ/անիվի կոճակներ. 4 քայլ (նկարներով)
Video: Специальный гость TimKandyGAMES @TiTiguyM #поговорим #livestream 2024, Հուլիսի
Anonim
Անլար համակարգչի Joystick/Անիվի կոճակներ
Անլար համակարգչի Joystick/Անիվի կոճակներ

Վերջին մի քանի տարիների ընթացքում ես կառուցում էի նոր մրցարշավային SIM և որոշեցի գնալ DIY Direct Drive ղեկով: Թեև միայն այդ նախագիծը կարող էր ինքնին մի քանի ուսանելի լինել, բայց սա ուսանելի է անիվի բոլոր կոճակները անլար դարձնելու վերաբերյալ:

Ինչո՞ւ:

  • DD անիվն ունի անսահմանափակ պտույտներ, ուստի լարեր ունենալը նրան անհանգստացնող կլինի:
  • Առևտրային անիվների նման մալուխների անիվի լիսեռով անցնելու ունակություն չկա
  • Ես ուզում էի, որ կարողանայի հեշտությամբ փոխել անիվները կոճակների տարբեր կազմաձևերով
  • Որովհետև կարող էի:)

Անլար կոճակների նպատակին հասնելու համար մենք պետք է հաշվի առնենք.

  • Էլեկտրաէներգիայի մատակարարում
  • Անլար կապ
  • Արձագանքման ժամանակը/ուշացում
  • Հուսալիություն

Այս չափանիշներին համապատասխանելու համար ընտրվեցին հետևյալ բաղադրիչները. ընդհանուր 18650 մարտկոցի բանկը պետք է աշխատի: Սա կտևի մոտ 20 ժամ: Կարող եք ստուգել, արդյոք այն կարող է միաժամանակ լիցքավորել և մատակարարել էներգիա: Սա հարմար է, եթե այն հարթ է աշխատում, և ցանկանում եք լիցքավորել և օգտագործել միևնույն ժամանակ:

Բացի այդ, ձեզ հարկավոր են ձեր ընտրած կոճակները և հոսանքի անջատիչը, մի քանի մետաղալար և, հնարավոր է, ջերմության նվազեցման խողովակ:

Սա կարող է օգտագործվել նաև «կոճակի տուփի» մեջ ՝ անիվի փոխարեն, բայց ես մտածեցի, որ դրա համար ավելի քիչ պահանջարկ կլինի, քանի որ այն մեծ առավելություն չունի, եթե այն չշարժվի:

Անհրաժեշտ գործիքներ.

Տաք սոսինձ ատրճանակը հարմար է նաև մասերը ամրացնելու համար: Arduino IDE- ն տեղադրված է ձեր համակարգչի վրա:

Քայլ 1: Հաղորդիչի լարերի միացում

Հաղորդիչի լարերը
Հաղորդիչի լարերը
Հաղորդիչի լարերը
Հաղորդիչի լարերը
Հաղորդիչի լարերը
Հաղորդիչի լարերը

Սկսեք ձեր անիվի վրա տեղադրելով այնքան անջատիչ, որքան անհրաժեշտ է և հաշվի առեք Arduino- ի գտնվելու վայրը: Միացրեք բոլոր լարերը անջատիչներին, ըստ սխեմայի: Յուրաքանչյուր կոճակ մի կողմից միացված կլինի GND- ին, իսկ մյուսը ՝ համապատասխան arduino քորոցին: Կոդը թույլ է տալիս 14 անջատիչ/կոճակ, որը պետք է բավարար լինի անիվների մեծ մասի համար:

Եթե դուք օգտագործում եք Nano- ն ներկառուցված NRF մոդուլով, ապա ակնհայտ է, որ դրա համար անհրաժեշտ չէ ավելացնել դրա հետ կապված լարերը, պարզապես լարերը կոճակները լարել:

Կոճակները այս կարգի են (1-14) ՝ RX, TX, D2, D3, D4, D5, D6, D7, A0, A1, A2, A3, A4, A5

Բայց ինչու՞ ընդամենը 14 կոճակ: Դրա պատճառն այն է, որ մենք կարող ենք արագ կարդալ ամբողջ կապոցը և միայն 2 բայթ տվյալների փոխանցումը երկար սպասեցնել չի տա: Այսպիսով, չնայած այն կարող է փոփոխվել ՝ ներառելով ավելի շատ կոճակներ (մատրիցայի միջոցով) և/ կամ անալոգային մուտքեր, սա մի փոքր կդանդաղեցնի գործերը: Մատրիցայի ընթերցումը և անալոգային ընթերցումները/փոխարկումները պահանջում են պրոցեսորի ժամանակ: Ինձ ընդամենը 12 կոճակ էր պետք անիվիս վրա, այնպես որ ես գնացի դրանով, բայց կքննարկեի ավելին ավելացնելը:

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

Եթե նախընտրում եք ավելի հարմարեցված լուծում, գուցե անհրաժեշտ լինի բացել մարտկոցի բանկը և ներքինը վերաուղղորդել ձեր անհատական կազմաձևին:

Ես անիվիս սենյակը չունեի, որ այն նրբանկատորեն թողնեի, ուստի այն հանվեց: Ես հանեցի ստանդարտ USB միակցիչը լիցքավորման տախտակից և անջատիչի միջոցով սոսնձեցի +5 և Gnd լարերը USB պորտի բարձիկներից դեպի Arduino: Սա մի փոքր դժվար է մանրամասնել, քանի որ առկա են բազմաթիվ տարբերակներ…

Շղթան այնուհետև տեղադրվեց անիվի ներսում ՝ մերկացնելով միկրո USB լիցքավորման միակցիչը:

Լիցքավորման տախտակը կունենա մեկ կամ մի քանի LED ՝ լիցքավորման կարգավիճակը ցուցադրելու համար. Ձեռնտու է դրանք ինչ -որ կերպ տեսանելի դարձնել կամ պլաստմասսայի միջոցով դրանք տեսանելի տեղ հասցնել, որպեսզի իմանաք, թե երբ է ավարտվել լիցքավորումը:

Ի՞նչ անիվ է դա: Հետաքրքրվողների համար իմ անիվի դիզայնը Amstudio- ն է. Նրանցից մատչելի են որոշ DIY մրցարշավի SIM մասերի մոդելներ `մատչելի գներով:

Քայլ 2: Ստացողը

Առաքողը
Առաքողը
The Reciver
The Reciver
Առաքողը
Առաքողը

Պարզապես հետևեք միացման սխեմային, ինչպես կցված է: Եթե դուք չեք օգտագործում Լեոնարդո, ապա ձեզ անհրաժեշտ կլինի արտաքին 3.3 վ կարգավորիչ, ինչպիսին է AMS1117- ը: Pro Micro կարգավորիչը չի կարող բավարար հոսանք ապահովել NRF24 մոդուլի համար, իսկ բզեզն ընդհանրապես չունի:

NRF մոդուլի միացումները գունավոր ծածկագրել եմ նույնը ՝ Pro Micro- ի և բզեզի համար:

Arduino- ի «Բզեզ» -ը, որը բավականին հեշտ է գտնել ընդհանուր վայրերում, բայց ևս մեկ անգամ, 3.3v կարգավորիչը պետք է օգտագործվի, քանի որ այն ընդհանրապես չունի: Ես փորձարկել եմ սա և այն նույնպես լավ է աշխատում: Կապերը նույնն են

Քայլ 3: Սարքերի ծրագրավորում

Սարքերի ծրագրավորում
Սարքերի ծրագրավորում
Սարքերի ծրագրավորում
Սարքերի ծրագրավորում
Սարքերի ծրագրավորում
Սարքերի ծրագրավորում

Եթե դուք արդեն չունեք Arduino IDE- ն տեղադրված, անցեք https://www.arduino.cc և ներբեռնեք ձեր օպերացիոն համակարգին համապատասխան տարբերակը այս օրինակի համար, ես Windows- ում եմ:

Ստեղծվելուց հետո ձեզ հարկավոր կլինեն երկու տարբեր գրադարաններ. Առաջինը հեշտ է Sketch -> Include Library -> Manage Libraries (կամ CTRL+SHIFT+I) միջոցով

NRFLite ՝ Դեյվ Փարսոնի կողմից (հրապարակման 2.2.2 տարբերակ)

Երկրորդը պետք է ձեռքով տեղադրվի

Կտտացրեք «Կլոնավորել կամ ներբեռնել», այնուհետև «Ներբեռնեք ZIP և բացեք ներբեռնված ֆայլը: Այնուհետև ստիպված կլինեք սեղմել թղթապանակների վրա մինչև տեսնեք «oyոյսթիք» թղթապանակ -պատճենեք այն ձեր Arduino գրադարանների թղթապանակում (պատուհանների վրա, սա սովորաբար գտնվում է «Փաստաթղթեր» բաժնում -> Arduino -> գրադարաններ:

Վերագործարկեք Arduino IDE- ն

Եթե դուք օգտագործում եք Pro Micro- ն ընդունիչի համար, ապա ձեզ նույնպես պետք է ավելացնել այդ տախտակը IDE- ին: Ֆայլ -> Նախապատվություններ -> Լրացուցիչ խորհուրդների մենեջերի URL- ներ.

մուտքագրեք ՝

Այնուհետև գնացեք Գործիքներ -> Տախտակների կառավարիչ, որոնեք Sparkfun և տեղադրեք «Sparkfun AVR տախտակներ»

Հիմա մենք պատրաստ ենք! Սկսենք հաղորդիչից - միացրեք այն ձեր համակարգչին

Գործիքներ -> Տախտակ ընտրեք «Arduino Nano» (կամ որևէ տարբերակ, որը որոշեցիք օգտագործել): Նաև հաստատեք COM նավահանգիստը գործիքների ցանկի ներքո:

Բացեք կցված Wireless_Wheel_Tx ֆայլը:

Կա միայն մեկ տող, որը գուցե ցանկանաք փոխել այս ծածկագրում, և դա.

int nrfChannel = 22;

Դուք ունեք մինչև 126 ալիք, որոնք կարող եք օգտագործել 2.4 ԳՀց սպեկտրով: Լավ կլինի թողնել այնպես, ինչպես կա, բայց եթե գտնում եք, որ հուսալիության հետ կապված խնդիրներ ունեք, գուցե սա փոխեք այլ թվերի:

Այնուհետև պարզապես սեղմեք «վերբեռնում» կոճակը և սպասեք, որ այն ավարտվի:

Նույնը վերաբերում է Leonardo/Pro Micro/Beetle- ին - Ընտրեք ձեր ուզած տախտակը - Leonardo- ի և Beetle- ի համար ընտրեք Arduino leonardo տախտակը: Pro Micro- ի համար ընտրեք այն և ընտրեք տարբերակ/պրոցեսոր Atmega32u4 (5v, 16Mhz), բացեք Wireless_Wheel_Rx ֆայլը, փոխեք nrfChannel- ի կարգավորումը (եթե այն փոխեցիք Tx- ում) և հեռացրեք ծրագիրը:

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

Հետաքրքիր պատահական առանձնահատկությունն այն է, որ դուք կստանաք կարգավիճակի լույս Leonardo և Pro Micro- ի վրա: USB TX լամպը կլուսավորվի, երբ այն միանա կոճակներին: Այնուամենայնիվ, դա բզեզի վրա չկա:

ԹԱՐՄԱՎԱ 13/2/2021 թ

Ես ավելացրել եմ 2 լրացուցիչ ֆայլ (Tx և Rx) այստեղ ուսուցանվող 4 անալոգային մուտքերով տարբերակի, ինչպես նաև 3X8 կոճակների մատրիցով տարբերակի համար: Հիմնականում չփորձարկված, կարող է ուշացում ունենալ: Խնդրում ենք փորձել և մեկնաբանել:

Քայլ 4: Բարելավումներ

Բարելավումներ
Բարելավումներ

Այս լուծումը որոշ ժամանակ օգտագործելուց հետո ես սովորություն ունեի անիվը պատահաբար թողնել: Սրան հակազդելու համար ես LED- ն ավելացրի առջևի մասում, որպեսզի տեսնեմ, որ ղեկը միացված է: Սա ընդամենը պարզ 3 մմ լուսադիոդ է, որն անցնում է 5v- ից arduino- ով `դիմադրության միջոցով: Վերին հատվածը մանրացված է ՝ լույսը մի փոքր ցրելու և շողալը կանխելու համար:

Մարտկոցի մակարդակի հաշվիչ Ես գնել եմ BG- ից կամ Ali- ից մարտկոցի մակարդակի հաշվիչներ, բայց երբ նրանք ժամանեցին, դրանք շատ ավելի մեծ էին, քան ես սպասում էի, բայց սա այն է, ինչ դեռ ուզում եմ ավելացնել: Դրա համար կան բազմաթիվ տարբերակներ, բայց քանի որ մարտկոցը շատ երկար է տևում, ես հակված եմ պարզապես լիցքավորվել մի քանի ժամ օգտագործելուց հետո:

Լրացուցիչ կոճակներ/կոդավորիչներ/անալոգային մուտքերԴեռևս մտածեք այս մեկի մասին: Ինձ համար դա այնքան էլ կարևոր չէ այն մրցարշավների համար, որոնք ես անում եմ, բայց F1- ի նման բաների համար դա, հավանաբար, ավելի օգտակար է: Ես կքննարկեմ երկու տարբերակ կամ սա ավելացնել, եթե կա բավարար պահանջարկ, բայց դա կարող է ազդել կոճակների վրա արձագանքման ժամանակի վրա:

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