Բովանդակություն:
- Քայլ 1. Ի՞նչ է սա Watchdog Timer- ը:
- Քայլ 2. Ինչպե՞ս միացնել Watchdog Timer- ը:
- Քայլ 3: Գործարկեք ձեր ծրագիրը
- Քայլ 4: Օգտագործման օրինակ
- Քայլ 5. Watchdog Timer- ի խնդիրներ
- Քայլ 6: Վայելեք
Video: The Arduino Hang Guardian - Arduino Watchdog Timer Tutorial: 6 Steps
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:46
Բարեւ բոլորին, Դա տեղի է ունենում բոլորիս հետ: Դուք կառուցում եք նախագիծ, ոգևորությամբ միացնում բոլոր սենսորները, և հանկարծ Arduino- ն կախվում է, և ոչ մի մուտք չի մշակվում:
«Ի՞նչ է կատարվում», - կհարցնեք և կսկսեք փորփրել ձեր ծածկագիրը ՝ միայն հասկանալով, որ դուք խրվել եք անսահման հանգույցի մեջ: Փառք Աստծո, Արդուինոն ձեր նստարանին էր և ոչ հեռավոր վայրում:
Այսօր մենք կանդրադառնանք, թե ինչպես կարող ենք օգտագործել Arduino- ի ժամացույցի ժամաչափը ՝ դա կանխելու համար:
Քայլ 1. Ի՞նչ է սա Watchdog Timer- ը:
Arduino դիտորդի ժամաչափը, ինչպես նշանակում է անունը, ժմչփ է, որը առանձին աշխատում է տախտակի վրա գտնվող հիմնական պրոցեսորից: Այս ժամաչափը կարող է օգտագործվել տախտակի վիճակը պարբերաբար ստուգելու համար, և այն դեպքերում, երբ խորհուրդը խրված է ծրագրային ապահովման օղակում կամ խրված է ապարատային անսարքության պատճառով, դիտորդի ժամաչափը կարող է վերականգնել Arduino- ն և նորից սկսել այն:
Լռելյայն, երբ այն չի օգտագործվում, այս ժամաչափը անջատված է բոլոր նախագծերում և միայն այն ժամանակ, երբ մենք միացնում ենք այն, մենք պետք է համոզվենք, որ պարբերաբար ասենք, որ այն չվերագործարկի մեր խորհուրդը, եթե այն դեռ գործում է ինչպես և սպասվում էր:
Որպեսզի կարողանանք օգտագործել դիտորդի ժամաչափը, մենք նախ պետք է ներառենք avr/wdt.h ֆայլը մեր Arduino էսքիզում: Սա ստանդարտ գրադարանն է, որն իրականացնում է պահակախմբի գործողությունները:
Քայլ 2. Ինչպե՞ս միացնել Watchdog Timer- ը:
Theամաչափը միացնելու համար մենք օգտագործում ենք «wdt_enable» գործառույթը, որտեղ մենք պետք է անցնենք այն շեմի միջակայքում, որի ընթացքում կվերակայվի տախտակը: Կախված մեր օգտագործման դեպքից, այն կարող է լինել 15 միլիվայրկյանից մինչև 8 վայրկյան ՝ նախապես սահմանված պարամետրերում, որոնք պարունակվում են հսկիչի գրադարանում:
ՇՐRԱՆ - ՇԱՐՈՆԱԿԱՆ ԱՆՈՆ
15 ms WDTO_15MS 30 ms WDTO_30MS 60 ms WDTO_60MS 120 ms WDTO_120MS 250 ms WDTO_250MS 500 ms WDTO_500MS 1s WDTO_1S 2s WDTO_2S 4s WDTO_4S 8s WDTO_8S
Քայլ 3: Գործարկեք ձեր ծրագիրը
Այժմ, երբ ժամաչափը միացված է, որպեսզի այն չվերագործարկվի մեր Arduino- ի համար, մենք պետք է պարբերաբար կանչենք «wdt_reset» գործառույթը ՝ պահակակետի ժամաչափը վերականգնելու համար ՝ մինչև շեմի միջակայքի ավարտը:
Վերականգնման միջակայք ընտրելիս շատ կարևոր է հաշվի առնել ցանկացած երկարատև գործողություն, ինչպիսին է տվյալների կարդալը կամ ուղարկելը կամ արտաքին սենսորներին միանալը: Վերականգնման շեմը պետք է լինի առնվազն մեկուկես անգամ ավելի, քան այս անգամները ՝ պատահական վերագործարկումները կանխելու համար:
Քայլ 4: Օգտագործման օրինակ
Օրինակելի ծրագրում, որը կարող եք ներբեռնել այստեղ, մենք նախ կարգաբերեցինք ժամացույցի ժամաչափը `4 վայրկյան զրոյական ընդմիջումով: Այնուհետև իմանալու համար, որ մենք գտնվում ենք կարգաբերման գործառույթում, մենք 3 անգամ արագ լուսավորում ենք LED- ը, այնուհետև հիմնական հանգույցում մենք նախ զրոյացնում ենք ժմչփը, լուսավորում լուսադիոդը աստիճանաբար ավելի երկար ընդմիջումներով, այնուհետև անջատում: Հաջորդ հանգույցը նորից զրոյացնում է ժմչփը, մինչև լուսավորման ժամանակը 4 վայրկյանից երկար լինի:
Երբ դա տեղի ունենա, դիտորդի ժամաչափը վերականգնում է խորհուրդը, և կարգավորումը նորից կատարվում է:
Քայլ 5. Watchdog Timer- ի խնդիրներ
Arամացույցի ժամաչափի հետ կապված հնարավոր խնդիրներից մեկը ՝ կախված ձեր Arduino- ի բեռնիչից, այն է, որ եթե դիտորդի ժամաչափի արժեքը չափազանց ցածր է, և նոր կոդ վերբեռնելիս բեռնախցիկը չի զրոյացնում ժամաչափը, կարող եք վնասել ձեր Arduino տախտակին այնպես, այն միշտ խրված կլինի բեռնախցիկի փուլում: Բեռնախցիկը կփորձի սկսել, բայց ժամաչափը կշարունակի վերականգնել տախտակը ՝ երբեք թույլ չտալով, որ այն ճիշտ գործի: Նման խնդիրները կանխելու համար համոզվեք, որ միշտ օգտագործեք 2 վայրկյան կամ ավելի շեմային ընդմիջումներ:
Քայլ 6: Վայելեք
Եթե ունեք օրինակ, թե որտեղ եք օգտագործել դիտորդի ժամաչափը իրական նախագծում, նշեք ինձ մեկնաբանություններում, համոզվեք, որ ձեզ դուր կգա տեսանյութը և մի մոռացեք բաժանորդագրվել:
Ողջույն և շնորհակալություն կարդալու/դիտելու համար:
Խորհուրդ ենք տալիս:
Node Mcu Indian Car Central Lock With Rfid and Blynk Timer Unlock: 9 Steps
Node Mcu Indian Car Central Lock With Rfid and Blynk Timer Unlock: Ես այսօր ձեզ ցույց եմ տալիս հնդկական ոճի մեքենա, որը լիովին ավտոմատացված կենտրոնական կողպեք է ՝ rfid պիտակով blynk wifi հսկողության և ժամանակի ապակողպման միջոցով: այն ունի նաև սովորական կենտրոնական կողպեքի բոլոր հնարավորությունները: այս մեքենան կենտրոնական կողպեքը ԱՇԽԱՏԱՆՔԱՅԻՆ ԱԿՏԻՎԱՈԹՅՈՆԸ ՊԱՀԱՆՈՄ Է ETԱՆWԱՓՈՓՈՅՆԵՐ
Steampunked Dream Guardian Night Light: 9 քայլ (նկարներով)
Steampunked Dream Guardian Night Light. Բարև բոլորին Իմ մտերիմ ընկերը մի քանի շաբաթ առաջ խնդրեց իր ընկերուհու համար նշանադրության նվեր ստեղծել (իհարկե մատանիից բացի): Նրանք երկուսն էլ նման են ինձ, կամավոր հրշեջներ և սիրում են Steampunk օբյեկտները: Ընկերս մտածեց մի փողոցի մասին
555 Timer TV Remote Jammer: 3 Steps
555 Timer TV Remote Jammer. Ինչպե՞ս է աշխատում հեռուստացույցի խցիկը: Հեռուստատեսության հեռակառավարման վահանակը լույսն օգտագործում է հեռակառավարումից ազդանշաններ հեռուստացույց փոխանցելու համար: Հեռակառավարվող լուսարձակը թողարկում է անտեսանելի ինֆրակարմիր լույս, որը համապատասխանում է կոնկրետ երկուական կոդերին: Այս երկուական կոդերը պարունակում են այնպիսի հրամաններ, ինչպիսիք են
Eye Guardian: Sound Triggered Eye Protection: 9 քայլ (նկարներով)
Eye Guardian: Sound Triggered Eye Protection. Այն հայտնաբերում է ծանր սարքավորումների ձայնը և իջեցնում պաշտպանիչ ակնոցները, մինչ սարքավորումն օգտագործվում է: Ուրվագիծ Առաջին քայլում ես կբացատրեմ Inspirati
Pi Guardian: 6 քայլ (նկարներով)
Pi Guardian. Երբևէ ցանկացե՞լ եք բռնել այն մեկին, ով շարունակում է գողանալ ձեր Հելոուինի քաղցրավենիքը: Կամ ինչ կասեք այդ նյարդայնացնող սենյակակցի մասին, ով ձեր սառնարանը մենակ չի թողնի: Օգտագործելով Raspberry Pi 3, Pi Camera և PIR տվիչ ՝ այդ ամենն այժմ հնարավոր է: Պարզ