Բովանդակություն:
Video: Rotary Encoder - Հասկացեք և օգտագործեք այն (Arduino/այլ ΜController). 3 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:47
Պտտվող կոդավորիչը էլեկտրամեխանիկական սարք է, որը պտտվող շարժումը փոխակերպում է թվային կամ անալոգային տեղեկատվության: Այն կարող է պտտվել ժամացույցի սլաքի կամ հակառակ ուղղությամբ: Գոյություն ունեն պտտվող կոդավորիչների երկու տեսակ ՝ բացարձակ և հարաբերական (աճող) կոդավորիչներ:
Մինչ բացարձակ կոդավորիչը դուրս է բերում ընթացիկ լիսեռի անկյունին համարժեք արժեք, հավելյալ կոդավորիչը դուրս է բերում լիսեռի քայլը և դրա ուղղությունը: (Այս դեպքում մենք ունենք աճող կոդավորիչ)
Պտտվող կոդավորիչները դառնում են ավելի հայտնի, քանի որ դուք կարող եք օգտագործել երկու գործառույթ մեկ էլեկտրական մոդուլում. Գործողությունները հաստատող պարզ անջատիչ և նավարկելու համար պտտվող կոդավորիչ, օրինակ. մենյուի միջոցով:
Լրացուցիչ պտտվող կոդավորիչը առաջացնում է երկու ելքային ազդանշան, երբ նրա լիսեռը պտտվում է: Կախված ուղղությունից, ազդանշաններից մեկը տանում է մյուսին: (տես ներքեւում)
Քայլ 1: Հասկանալ ելքային տվյալները
Ինչպես տեսնում եք, երբ կոդավորիչի լիսեռը սկսում է պտտվել ժամացույցի սլաքի ուղղությամբ, ելքը A- ն առաջինը ընկնում է LOW- ի վրա, իսկ ելքը B- ն հետևում է դրան: Clockամացույցի սլաքի հակառակ ուղղությամբ գործողությունը շրջվում է հակառակ ուղղությամբ:
Այժմ մենք պարզապես պետք է սա ներդնենք մեր μController- ի վրա (ես օգտագործել եմ Arduino Nano):
Քայլ 2: Կառուցեք շրջանը
Ինչպես նկարագրեցի նախկինում, ելքերը ստեղծում են HIGH և LOW եզր: Մաք վերահսկիչի A և B տվյալների կապում մաքուր HIGH ստանալու համար մենք պետք է ավելացնենք ձգվող դիմադրություններ: Սովորական Pin C- ն ուղիղ գետնին է անցնում OWԱOWՐ թևի համար:
Ներքին անջատիչի (սեղմման կոճակի) մասին տեղեկատվություն ստանալու համար մենք կօգտագործենք մյուս երկու կապում: Նրանցից մեկը գնում է VCC, իսկ մյուսը `μC Controller- ի տվյալների Pin: Մենք նաև պետք է տվյալների PIN- ին ավելացնենք Pull-Down Resistor ՝ մաքուր OWԱOWՐ ստանալու համար:
Հնարավոր է նաև օգտագործել ձեր μController- ի ներքին Pull-Up և Pull-Down ռեզիստորները:
Իմ դեպքում քորոցը նման է.
- +3, 3V => +3, 3V (Arduino) (հնարավոր է նաև +5V)
- GND => GND (Arduino)
- A => Pin10
-
B =>
Կապում
11
- C => GND
-
SW =>
Կապում
12
Քայլ 3: Գրեք օրենսգիրքը
int pinA = 10; // ներքին անջատիչ A int pinB = 11; // ներքին անջատիչ B int pinSW = 12; // անջատիչ (սեղմված կոդավորիչ) int encoderPosCount = 0; // սկսվում է զրոյից, փոխեք, եթե ցանկանում եք
int դիրքորոշում;
bool switchval; int mrotateՎերջին; int mrotate;
void setup () {
int mrotateLast = digitalRead (pinA); Serial.begin (9600); ուշացում (50); }
void loop () {readencoder (); if (readwitch () == 1) {Serial.println ("Փոխել = 1"); }}
int readencoder () {
mrotate = digitalRead (pinA); if (mrotate! = mrotateLast) {// գլխիկը պտտվում է if (digitalRead (pinB)! = mrotate) {// switch A առաջինը փոխվել է -> պտտվող ժամացույցի սլաքի ուղղությամբ կոդավորիչPosCount ++; Serial.println («պտտվել ժամացույցի սլաքի ուղղությամբ»); } else {// անջատիչ B- ն նախ փոխվեց-> ժամացույցի սլաքի հակառակ ուղղությամբ պտտվող encoderPosCount--; Serial.println («պտտվել է ժամացույցի սլաքի հակառակ ուղղությամբ»); }
Serial.print ("Կոդավորողի դիրքը."); Serial.println (encoderPosCount); Serial.println (""); } mrotateLast = պտտել; վերադարձնել կոդավորիչըPosCount; } bool readwitch () {
if (digitalRead (pinSW)! = 0) {// անջատիչը սեղմված է
while (digitalRead (pinSW)! = 0) {} // switch այժմ սեղմված է switchval = 1; } else {switchval = 0;} // անջատիչը չճնշված վերադարձի անջատիչ է; }
Այժմ դուք կարող եք շրջել կոդավորիչը, և փոփոխական encoderPosCount- ը կհաշվի, եթե պտտեք ժամացույցի սլաքի ուղղությամբ և հետհաշվարկեք, եթե պտտեք ժամացույցի սլաքի ուղղությամբ:
Վերջ! Պարզ և օգտակար:
Ազատորեն փոխեք և կատարեք ծածկագիրը: Դուք կարող եք այն իրականացնել ձեր նախագծում:
Ես կբեռնեմ նաև LED նախագիծ, որտեղ ես օգտագործել եմ կոդավորիչը `իմ LED- ների պայծառությունը սահմանելու համար:
Խորհուրդ ենք տալիս:
Timամաչափ Arduino- ի և Rotary Encoder- ի հետ ՝ 5 քայլ
Erամաչափ Arduino- ի և Rotary կոդավորիչի հետ. Կան մի քանի ծրագրեր, որոնք գրվել են իմ կողմից ՝ Արդուի համար
Ի՞նչ է պրոցեսորը, ինչ է այն անում և ինչպես լուծել այն: 5 քայլ
Ի՞նչ է պրոցեսորը, ինչ է այն անում և ինչպես լուծել այն. Ամեն օր այստեղ դուք օգտագործում եք «պրոցեսոր» տերմինները: կամ " պրոցեսոր " նետվում եմ շուրջը, բայց իսկապես գիտե՞ս, թե ինչ է դա նշանակում: Ես կանդրադառնամ, թե ինչ է CPU- ն և ինչ է այն անում, այնուհետև կանդրադառնամ պրոցեսորի ընդհանուր խնդիրներին և ինչպես հնարավոր է դրանք շտկել
DIY USB-C- ից MMCX ականջակալների մալուխ (եթե չեք կարող գնել այն, կառուցեք այն). 4 քայլ
DIY USB-C- ից MMCX ականջակալների մալուխ (եթե չես կարող գնել, կառուցիր այն) միասին մալուխ ՝ օգտագործելով վերամշակված USB-C թվային-անալոգային փոխարկիչ և 3.5 մմ-ից MMCX մալուխ
Ինչպես ստանալ երաժշտություն Գրեթե (ԱՆԿԱԱ Ha (Haha) կայքից (քանի դեռ կարող եք լսել, կարող եք այն ձեռք բերել Լավ, եթե այն տեղադրված է ֆլեշում, հնարավոր է ՝ չկարողանաք) Խմբագրված !!!!! Ավելացված տեղեկատվություն. 4 քայլ
Ինչպես ստանալ երաժշտություն Գրեթե (ԱՆԿԱԱ Ha (Haha) կայքից (քանի դեռ կարող եք լսել, կարող եք այն ձեռք բերել … Լավ, եթե այն տեղադրված է ֆլեշում, հնարավոր է, որ չկարողանաք) Խմբագրվել է !!!!! Ավելացված տեղեկատվություն. Եթե երբևէ այցելում եք որևէ կայք և այն նվագում է այն երգը, որը ձեզ դուր է գալիս և ցանկանում եք, ապա այստեղ ձեզ ուսուցանվում է ոչ իմ մեղքը, եթե ինչ -որ բան խառնեք (միակ ճանապարհը դա կլինի, եթե առանց պատճառի սկսեք ջնջել իրերը ) կարողացել եմ երաժշտություն ստանալ
Անջրանցիկ բարձրախոսներ, որոնք լողում են - « Այն լողում է, այն նշում է և նետում գրառումները: ": 7 քայլ (նկարներով)
Անջրանցիկ բարձրախոսներ, որոնք լողում են. ): Մենք լողալու ենք գետով, կամ գծեր ենք ամրացնելու ափին, որպեսզի մեր լողացողները մնան հենց մեր ճամբարի մոտ: Բոլորը հ