Մարդուց տեղեկատվությունը միկրոկառավարիչին կամ համակարգչին փոխանցելու ձևերի բազմազանություն կա, և դրանցից մեկը ջոյսթիքն է օգտագործում: Եկեք տեսնենք, թե ինչպես կարելի է միացնել անալոգային ջոյստիկսը երկու առանցքով և կոճակով Arduino- ին:
Դա անհրաժեշտ է
- - Arduino;
- - երկու առանցքի ջոյսթիք
- - 3 դիմադրություն 220 Օմ անվանական արժեքով;
- - 1 RGB կամ 3 պայմանական LED:
Հրահանգներ
Քայլ 1
Theոյսթիքսը հարմարավետ և օգտագործման համար հեշտ գործիք է տեղեկատվություն փոխանցելու համար: Ազատության աստիճանի քանակի, ցուցումները կարդալու սկզբունքի և օգտագործված տեխնոլոգիաների առումով կան մեծ թվով ջոյսթիքների տեսակներ: Oyոյստիքներն առավել հաճախ օգտագործվում են ցանկացած մեխանիզմների, վերահսկվող մոդելների, ռոբոտների շարժը վերահսկելու համար: Անալոգային ջոյսթիքսը, որին մենք այսօր կանդրադառնանք, երկու փոխադարձ ուղղահայաց առանցքներով գնդիկավոր հոդին կցված բռնակ է: Երբ գլխիկը թեքվում է, առանցքը պտտեցնում է պոտենցիոմետրի շարժական շփումը, որի պատճառով նրա ելքի լարումը փոխվում է: Բացի այդ, անալոգային ջոյստիկն ունի տակտ կոճակ, որը գործարկվում է բռնակը ուղղահայաց սեղմելիս:
Քայլ 2
Միացրեք ջոյսթիքը ՝ համաձայն ստորև բերված գծապատկերի: Միացրեք ջոյսթիքթի X և Y անալոգային ելքերը Arduino- ի A1 և A2 անալոգային մուտքերին, SW կոճակի ելքը թվային մուտքին: 8. joyոյստիկն աշխատում է +5 Վ լարման միջոցով:
Քայլ 3
Որպեսզի հստակ տեսնենք, թե ինչպես է աշխատում ջոյստիկը, եկեք գրենք այսպիսի ուրվագիծ: Եկեք հայտարարենք քորոցները, սահմանենք դրանց համար գործող ռեժիմները: Նկատենք, որ տեղադրման () կարգով մենք switchPin- ի մուտքը դնում ենք բարձր մակարդակի: Սա հնարավորություն է տալիս ներկառուցված քաշովի դիմադրին այս նավահանգստի վրա: Եթե այն չմիացնեք, ապա երբ ջոյստիկ կոճակը չսեղմվի, Արդուինոյի 8-րդ պորտը կախված կլինի օդից և կբռնի պիկապների: Դա կհանգեցնի անցանկալի, քաոսային կեղծ պոզիտիվների:
Օղակի () կարգով մենք անընդհատ հարցում ենք կոճակի վիճակը և ցուցադրում այն ՝ օգտագործելով LED- ը ելքի 13-րդ մասի շնորհիվ: SwitchPin մուտքի քաշման պատճառով LED- ը անընդհատ միացված է, և երբ կոճակը սեղմվում է, այն մարվում է, և ոչ հակառակը:
Հաջորդը, մենք կարդում ենք ջոյստիկի երկու պոտենցիոմետրերի ընթերցումները ՝ X և Y առանցքների ելքը: Arduino- ն ունի 10 բիթային ADC, ուստի ջոյսթիքից կարդացված արժեքները տատանվում են 0-ից 1023-ի սահմաններում: Theոյստիկի միջին դիրքում, ինչպես տեսնում եք նկարում, 500 տարածաշրջանում արժեքները մոտավորապես միջակայքի միջնամաս են:
Քայլ 4
Սովորաբար էլեկտրական շարժիչները կառավարելու համար օգտագործվում է ջոյսթիք: Բայց ինչու՞ չօգտագործել այն, օրինակ, LED- ի պայծառությունը վերահսկելու համար: Եկեք միացնենք RGB LED (կամ երեք սովորական LED) Arduino- ի 9, 10 և 11 թվային նավահանգիստներին `ըստ վերոնշյալ գծապատկերի, իհարկե չմոռանալով դիմադրիչների մասին:
Քայլ 5
Մենք կփոխենք համապատասխան գույների պայծառությունը առանցքների երկայնքով ջոյսթիքի դիրքը փոխելիս, ինչպես ցույց է տրված նկարում: Հաշվի առնելով այն փաստը, որ joystick- ը չի կարող ճշգրիտ կենտրոնացած լինել արտադրողի կողմից և ունենալ սանդղակի միջին մասը ոչ թե 512-ի սահմաններում, այլ 490-ից 525-ը, LED- ը կարող է մի փոքր վառվել նույնիսկ այն դեպքում, երբ joystick- ը չեզոք դիրքում է: Եթե ցանկանում եք, որ այն ամբողջությամբ անջատվի, ապա համապատասխան փոփոխություններ կատարեք ծրագրում:
Քայլ 6
Ելնելով վերոնշյալ գծապատկերից ՝ մենք կգրենք ջրաթափի միջոցով Arduino- ի կառավարման RGB լուսադիոդի պայծառության ուրվագիծը:
Նախ, մենք կհայտարարենք քորոցների և երկու փոփոխականների `ledOn և prevSw- ի համապատասխանությունը կոճակի հետ աշխատելու համար: Կարգավորման () կարգով գործառույթները նշանակեք քորոցներին և digitalWrite (swPin, HIGH) հրահանգով միացրեք ձգվող դիմադրությունը կոճակի քորոցին:
Օղակում () մենք սահմանում ենք ջոյստիկ կոճակի սեղմումը: Երբ կոճակը սեղմում եք, մենք գործառնական ռեժիմները փոխում ենք «լապտեր» ռեժիմի և «գունավոր երաժշտություն» ռեժիմի միջև:
FreeMode () ռեժիմում LED- ների պայծառությունը վերահսկվում է `տարբեր ուղղություններով թեքելով ջոյսթիքսը. Որքան ուժեղ է թեքությունը առանցքի երկայնքով, այնքան պայծառ է համապատասխան գույնը: Ավելին, արժեքների վերափոխումը ստանձնում է քարտեզի ֆունկցիան (արժեք, ցածր, վերևից, ներքև, վերև): Քարտեզի () գործառույթը չափված արժեքները (ցածրից բարձրից բարձր) փոխանցում է ջոյսթիքի առանցքների երկայնքով ցանկալի պայծառության տիրույթին (ցածր, բարձր):Նույնը կարող եք անել սովորական թվաբանական գործողությունների դեպքում, բայց այս նշումը շատ ավելի կարճ է:
DiscoMode () ռեժիմում երեք գույները հերթով ստանում են պայծառություն և մարում: Որպեսզի կոճակը սեղմելիս հնարավոր լինի դուրս գալ օղակից, մենք ստուգում ենք յուրաքանչյուր կրկնություն ՝ ստուգելու համար արդյոք կոճակը սեղմված է:
Քայլ 7
Արդյունքում ստացվում է եռագույն RGB LED- ից պատրաստված լապտեր, որի յուրաքանչյուր գույնի պայծառությունը դրվում է ջոյսթիքի միջոցով: Եվ կոճակը սեղմելիս ակտիվանում է «գունավոր երաժշտություն» ռեժիմը: Չնայած ես այն օգտագործում եմ, ընդհակառակը, որպես գիշերային լույս:
Այսպիսով, մենք սովորեցինք, թե ինչպես մի կոճակով մի անալոգային երկու առանցք ունեցող ջոյսթիքը միացնել Arduino- ին և կարդալ դրանից ընթերցումները: Դուք կարող եք մտածել և իրականացնել ջոյսթիմի ավելի հետաքրքիր օգտագործում, քան մեր օրինակը: