Ինչպես միացնել ջոյսթիքը Arduino- ին

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

Ինչպես միացնել ջոյսթիքը Arduino- ին
Ինչպես միացնել ջոյսթիքը Arduino- ին

Video: Ինչպես միացնել ջոյսթիքը Arduino- ին

Video: Ինչպես միացնել ջոյսթիքը Arduino- ին
Video: Arduino ide для начинающих. Скороговорка о приложении Arduino ide))) первые шаги 2024, Ապրիլ
Anonim

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

Oyոյստիկ ՝ երկու առանցքով և կոճակով
Oyոյստիկ ՝ երկու առանցքով և կոճակով

Դա անհրաժեշտ է

  • - Arduino;
  • - երկու առանցքի ջոյսթիք
  • - 3 դիմադրություն 220 Օմ անվանական արժեքով;
  • - 1 RGB կամ 3 պայմանական LED:

Հրահանգներ

Քայլ 1

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

Oyոյստիկի սխեմատիկ դիագրամ
Oyոյստիկի սխեմատիկ դիագրամ

Քայլ 2

Միացրեք ջոյսթիքը ՝ համաձայն ստորև բերված գծապատկերի: Միացրեք ջոյսթիքթի X և Y անալոգային ելքերը Arduino- ի A1 և A2 անալոգային մուտքերին, SW կոճակի ելքը թվային մուտքին: 8. joyոյստիկն աշխատում է +5 Վ լարման միջոցով:

Oyոյստիկի լարերի դիագրամ Arduino- ի համար
Oyոյստիկի լարերի դիագրամ Arduino- ի համար

Քայլ 3

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

Օղակի () կարգով մենք անընդհատ հարցում ենք կոճակի վիճակը և ցուցադրում այն ՝ օգտագործելով LED- ը ելքի 13-րդ մասի շնորհիվ: SwitchPin մուտքի քաշման պատճառով LED- ը անընդհատ միացված է, և երբ կոճակը սեղմվում է, այն մարվում է, և ոչ հակառակը:

Հաջորդը, մենք կարդում ենք ջոյստիկի երկու պոտենցիոմետրերի ընթերցումները ՝ X և Y առանցքների ելքը: Arduino- ն ունի 10 բիթային ADC, ուստի ջոյսթիքից կարդացված արժեքները տատանվում են 0-ից 1023-ի սահմաններում: Theոյստիկի միջին դիրքում, ինչպես տեսնում եք նկարում, 500 տարածաշրջանում արժեքները մոտավորապես միջակայքի միջնամաս են:

Theոյսթիքի գործողությունը ցուցադրելու ուրվագիծ
Theոյսթիքի գործողությունը ցուցադրելու ուրվագիծ

Քայլ 4

Սովորաբար էլեկտրական շարժիչները կառավարելու համար օգտագործվում է ջոյսթիք: Բայց ինչու՞ չօգտագործել այն, օրինակ, LED- ի պայծառությունը վերահսկելու համար: Եկեք միացնենք RGB LED (կամ երեք սովորական LED) Arduino- ի 9, 10 և 11 թվային նավահանգիստներին `ըստ վերոնշյալ գծապատկերի, իհարկե չմոռանալով դիմադրիչների մասին:

Joystick և RGB LED էլեկտրագծերի դիագրամ Arduino- ին
Joystick և RGB LED էլեկտրագծերի դիագրամ Arduino- ին

Քայլ 5

Մենք կփոխենք համապատասխան գույների պայծառությունը առանցքների երկայնքով ջոյսթիքի դիրքը փոխելիս, ինչպես ցույց է տրված նկարում: Հաշվի առնելով այն փաստը, որ joystick- ը չի կարող ճշգրիտ կենտրոնացած լինել արտադրողի կողմից և ունենալ սանդղակի միջին մասը ոչ թե 512-ի սահմաններում, այլ 490-ից 525-ը, LED- ը կարող է մի փոքր վառվել նույնիսկ այն դեպքում, երբ joystick- ը չեզոք դիրքում է: Եթե ցանկանում եք, որ այն ամբողջությամբ անջատվի, ապա համապատասխան փոփոխություններ կատարեք ծրագրում:

X, Y առանցքների երկայնքով R, G, B ալիքների պայծառության բաշխման դիագրամ
X, Y առանցքների երկայնքով R, G, B ալիքների պայծառության բաշխման դիագրամ

Քայլ 6

Ելնելով վերոնշյալ գծապատկերից ՝ մենք կգրենք ջրաթափի միջոցով Arduino- ի կառավարման RGB լուսադիոդի պայծառության ուրվագիծը:

Նախ, մենք կհայտարարենք քորոցների և երկու փոփոխականների `ledOn և prevSw- ի համապատասխանությունը կոճակի հետ աշխատելու համար: Կարգավորման () կարգով գործառույթները նշանակեք քորոցներին և digitalWrite (swPin, HIGH) հրահանգով միացրեք ձգվող դիմադրությունը կոճակի քորոցին:

Օղակում () մենք սահմանում ենք ջոյստիկ կոճակի սեղմումը: Երբ կոճակը սեղմում եք, մենք գործառնական ռեժիմները փոխում ենք «լապտեր» ռեժիմի և «գունավոր երաժշտություն» ռեժիմի միջև:

FreeMode () ռեժիմում LED- ների պայծառությունը վերահսկվում է `տարբեր ուղղություններով թեքելով ջոյսթիքսը. Որքան ուժեղ է թեքությունը առանցքի երկայնքով, այնքան պայծառ է համապատասխան գույնը: Ավելին, արժեքների վերափոխումը ստանձնում է քարտեզի ֆունկցիան (արժեք, ցածր, վերևից, ներքև, վերև): Քարտեզի () գործառույթը չափված արժեքները (ցածրից բարձրից բարձր) փոխանցում է ջոյսթիքի առանցքների երկայնքով ցանկալի պայծառության տիրույթին (ցածր, բարձր):Նույնը կարող եք անել սովորական թվաբանական գործողությունների դեպքում, բայց այս նշումը շատ ավելի կարճ է:

DiscoMode () ռեժիմում երեք գույները հերթով ստանում են պայծառություն և մարում: Որպեսզի կոճակը սեղմելիս հնարավոր լինի դուրս գալ օղակից, մենք ստուգում ենք յուրաքանչյուր կրկնություն ՝ ստուգելու համար արդյոք կոճակը սեղմված է:

LED- ի պայծառությունը վերահսկելու ուրվագիծ `օգտագործելով անալոգային ջոյսթիք
LED- ի պայծառությունը վերահսկելու ուրվագիծ `օգտագործելով անալոգային ջոյսթիք

Քայլ 7

Արդյունքում ստացվում է եռագույն RGB LED- ից պատրաստված լապտեր, որի յուրաքանչյուր գույնի պայծառությունը դրվում է ջոյսթիքի միջոցով: Եվ կոճակը սեղմելիս ակտիվանում է «գունավոր երաժշտություն» ռեժիմը: Չնայած ես այն օգտագործում եմ, ընդհակառակը, որպես գիշերային լույս:

Այսպիսով, մենք սովորեցինք, թե ինչպես մի կոճակով մի անալոգային երկու առանցք ունեցող ջոյսթիքը միացնել Arduino- ին և կարդալ դրանից ընթերցումները: Դուք կարող եք մտածել և իրականացնել ջոյսթիմի ավելի հետաքրքիր օգտագործում, քան մեր օրինակը:

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