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

Arduino Hall Effect Sensor ընդհատումներով `4 քայլ
Arduino Hall Effect Sensor ընդհատումներով `4 քայլ

Video: Arduino Hall Effect Sensor ընդհատումներով `4 քայլ

Video: Arduino Hall Effect Sensor ընդհատումներով `4 քայլ
Video: Arduino Tutorial: Hall Effect Sensor with Arduino Uno. 2024, Նոյեմբեր
Anonim
Image
Image
Ի՞նչ է Հոլի էֆեկտի ցուցիչը
Ի՞նչ է Հոլի էֆեկտի ցուցիչը

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

Տեսանյութում օգտագործված գործիքներ և նյութեր (գործընկերային հղումներ). Arduino Uno ՝

Հոլի էֆեկտի տվիչներ ՝

Դիմադրության տեսականի ՝

Քայլ 1. Ի՞նչ է սրահի էֆեկտի սենսորը:

Ի՞նչ է Հոլի էֆեկտի սենսորը
Ի՞նչ է Հոլի էֆեկտի սենսորը
Ի՞նչ է Հոլի էֆեկտի ցուցիչը
Ի՞նչ է Հոլի էֆեկտի ցուցիչը
Ի՞նչ է Հոլի էֆեկտի ցուցիչը
Ի՞նչ է Հոլի էֆեկտի ցուցիչը

Հոլի էֆեկտի սենսորը սարք է, որն օգտագործվում է մագնիսական դաշտի մեծությունը չափելու համար: Դրա ելքային լարումը ուղիղ համեմատական է դրա միջով մագնիսական դաշտի ուժին:

Հոլի էֆեկտների սենսորներն օգտագործվում են հարևանության, տեղորոշման, արագության հայտնաբերման և ընթացիկ զգայարանների համար:

Այն, որի հետ ես այսօր կաշխատեմ, պիտակավորված է որպես 3144, որը հանդիսանում է դահլիճի էֆեկտի անջատիչ, որն առաջին հերթին օգտագործվում է բարձր ջերմաստիճանի և ավտոմեքենաների կիրառման համար: Դրա ելքը լռելյայնորեն բարձր է և մեկ անգամ ցածր է մագնիսական դաշտի առկայության դեպքում:

Սենսորն ունի 3 կապ, VCC, հող և ելք: Դուք կարող եք դրանք նույնականացնել ըստ հերթականության, եթե ձեր պիտակներով ցուցիչը պահեք ձեր կողմը: VCC- ն ձախ կողմում է, իսկ ելքը `աջ կողմում: Լարման ցանկացած շեղում կանխելու համար VCC- ի և ելքի միջև 10k ռեզիստոր է օգտագործվում քաշման կարգով:

Քայլ 2: Ի՞նչ է ընդհատումը:

Ի՞նչ է ընդհատումը
Ի՞նչ է ընդհատումը
Ի՞նչ է ընդհատումը
Ի՞նչ է ընդհատումը

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

Այս ամենի հիանալին այն է, որ այն կառուցում է ձեր համակարգը `արագ և արդյունավետ արձագանքելու կարևոր իրադարձություններին, որոնց ծրագրավորումը հեշտ չէ կանխատեսել: Ամենալավն այն է, որ այն ազատում է ձեր պրոցեսորին այլ աշխատանքներ կատարելու համար, մինչ սպասում է որևէ իրադարձության հայտնվելուն:

Arduino Uno- ն ունի երկու կապում, որոնք մենք կարող ենք օգտագործել որպես ընդհատումներ, 2 -րդ և 3 -րդ ֆունկցիան: Այն գործառույթը, որով մենք օգտագործում ենք քորոցը որպես ընդհատում գրանցելու համար, կոչվում է attachInterrupt, որտեղ որպես առաջին պարամետր մենք ուղարկում ենք օգտագործվող քորոցը: այն գործառույթի անվանումը, որը մենք ցանկանում ենք կանչել ընդհատումը հայտնաբերելուց հետո, և որպես երրորդ պարամետր մենք ուղարկում ենք այն ռեժիմով, որով ցանկանում ենք, որ ընդհատումը գործի: Տեսանյութի նկարագրության մեջ կա այս գործառույթի ամբողջական հղման հղում:

Քայլ 3: Կապեր և ծածկագիր

Կապեր և ծածկագիր
Կապեր և ծածկագիր
Կապեր և ծածկագիր
Կապեր և ծածկագիր
Կապեր և ծածկագիր
Կապեր և ծածկագիր

Մեր օրինակում մենք սրահի էֆեկտների սենսորը միացնում ենք Arduino- ի 2 -րդ կապին: Էսքիզի սկզբում մենք սահմանում ենք LED- ի ներկառուցված PIN- ի համարի փոփոխականները, ընդհատման քորոցը, ինչպես նաև բայթ փոփոխականը, որը մենք կօգտագործենք փոփոխելու ընդհատման միջոցով: Շատ կարևոր է, որ մենք այս մեկը նշենք որպես անկայուն, որպեսզի կազմողը կարողանա իմանալ, որ այն փոփոխվում է ընդհատման միջոցով հիմնական ծրագրի հոսքից դուրս:

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

Հիմնական մեթոդում մենք պարզապես LED փոփոխիչի վրա գրում ենք պետական փոփոխականը և ավելացնում ենք շատ փոքր ուշացում, որպեսզի պրոցեսորը ժամանակ ունենա ճիշտ աշխատելու համար:

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

AttachIntertupt գործառույթի երրորդ պարամետրը այն ռեժիմն է, որով այն գործում է: Երբ այն ունենանք որպես ՓՈՓՈԽՈ theԹՅՈՆ, թարթման գործառույթը կկատարվի ամեն անգամ, երբ ընդհատման վիճակը փոխվում է, այն մեկ անգամ կկոչվի, երբ մագնիսը մոտենանք սենսորին և նորից միացվի, երբ այն հեռացնենք: Այս կերպ, LED- ը միացված է, մինչ մենք մագնիսը սենսորին մոտ ենք պահում:

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

Վերջնական ռեժիմը, որը մենք փորձելու ենք, LԱOWՐ է: Նրա հետ, երբ մագնիսը մոտ է, թարթման գործառույթը անընդհատ կաշխատեցվի, և LED- ը կթարթվի ՝ անընդհատ շրջված վիճակում: Երբ մենք հեռացնում ենք մագնիսը, իսկապես անկանխատեսելի է, թե ինչպես կավարտվի վիճակը, քանի որ դա կախված է ժամանակից: Այնուամենայնիվ, այս ռեժիմն իսկապես օգտակար է, եթե մենք պետք է իմանանք, թե որքան ժամանակ է սեղմվել կոճակը, քանի որ դա որոշելու համար կարող ենք օգտագործել ժամանակի գործառույթներ:

Քայլ 4: Լրացուցիչ գործողություններ

Լրացուցիչ գործողություններ
Լրացուցիչ գործողություններ

Ընդհատումները պարզ միջոց են ՝ ձեր համակարգը ժամանակին զգայուն առաջադրանքներին ավելի արձագանքող դարձնելու համար: Նրանք նաև ունեն լրացուցիչ օգուտ ՝ ազատելու ձեր հիմնական `loop () - ը` կենտրոնանալու համակարգում որոշ առաջնային խնդիրների վրա: (Ես գտնում եմ, որ դրանք օգտագործելիս մի փոքր ավելի կազմակերպված են դարձնում դրանք, ավելի հեշտ է տեսնել, թե ինչի համար է նախատեսված կոդի հիմնական հատվածը, մինչդեռ ընդհատումները կարգավորում են պարբերական իրադարձություններ): Այստեղ ցուցադրված օրինակը գրեթե ամենից շատն է ընդհատում օգտագործելու հիմնական գործը. դրանք կարող եք օգտագործել I2C սարք կարդալու, անլար տվյալներ ուղարկելու կամ ստանալու կամ նույնիսկ շարժիչը գործարկելու կամ կանգնեցնելու համար:

Եթե դուք օգտագործում եք ընդհատման կամ սրահի էֆեկտների սենսորի հետաքրքիր օգտագործումը, համոզվեք, որ ինձ տեղյակ պահեք մեկնաբանություններում, հավանեք և տարածեք այս Instructable- ը, և մի մոռացեք բաժանորդագրվել իմ YouTube ալիքին ՝ ավելի հիանալի ձեռնարկների և նախագծերի համար: ապագա.

Ողջույն և շնորհակալություն դիտման համար:

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