Kazalo:
- 1. korak: Kaj je ta časovnik za nadzor?
- 2. korak: Kako omogočiti časovni nadzornik?
- 3. korak: Naj vaš program deluje
- 4. korak: Primer uporabe
- 5. korak: Težave s časovnikom nadzornika
- 6. korak: Uživajte
Video: Arduino Hang Guardian - Arduino Watchdog Timer Tutorial: 6 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:04
Zdravo vsi, To se dogaja vsem nam. Zgradite projekt, navdušeno povežete vse senzorje in nenadoma Arduino visi in vhod se ne obdela.
»Kaj se dogaja?«, Boste vprašali in začeli kopati po svoji kodi, šele potem spoznali, da ste se zataknili v neskončno zanko. Hvala bogu, da je bil Arduino na vaši klopi in ne na oddaljeni lokaciji.
Danes bomo pogledali, kako lahko s časovnikom nadzornika na Arduinu preprečimo to.
1. korak: Kaj je ta časovnik za nadzor?
Časovnik nadzornika Arduino, kot že ime pove, je časovnik, ki deluje ločeno od glavnega procesorja na plošči. Ta časovnik lahko uporabite za občasno preverjanje stanja plošče in v okoliščinah, ko se je plošča zataknila v programski zanki ali se je zataknila zaradi okvare strojne opreme, lahko časovnik nadzornika ponastavi Arduino in ga znova zažene.
Ta časovnik je privzeto, ko ni v uporabi, onemogočen pri vseh projektih in šele, ko ga omogočimo, ga moramo občasno obvestiti, naj ne ponastavi naše plošče, če še vedno deluje po pričakovanjih.
Če želimo uporabljati časomer za nadzor, moramo najprej v skico Arduino vključiti datoteko avr/wdt.h. To je standardna knjižnica, ki vsebuje dejanja nadzornika.
2. korak: Kako omogočiti časovni nadzornik?
Za omogočanje časovnika uporabljamo funkcijo “wdt_enable”, kjer moramo vstopiti v pražni interval, pri katerem se plošča ponastavi. Glede na naš primer uporabe je to lahko od 15 milisekund do 8 sekund v vnaprej določenih nastavitvah, ki jih vsebuje knjižnica nadzornikov.
PRAG - STALNO IME
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. korak: Naj vaš program deluje
Zdaj, ko je časovnik omogočen, moramo za preprečitev ponastavitve našega Arduina občasno klicati funkcijo »wdt_reset«, da ponastavimo časovnik nadzornika, preden poteče interval praga.
Pri izbiri intervala ponastavitve je ključnega pomena, da upoštevamo vsako dolgotrajno operacijo, na primer branje ali pošiljanje podatkov ali povezavo z zunanjimi senzorji. Prag ponastavitve mora biti vsaj enkrat in pol večji od teh časov, da se prepreči nenamerna ponastavitev.
4. korak: Primer uporabe
V vzorčnem programu, ki ga lahko prenesete tukaj, smo najprej nastavili časovnik nadzornika z intervalom za ponastavitev 4 sekunde. Potem, da vemo, da smo v nastavitveni funkciji, 3 -krat hitro utripamo LED, nato pa v glavni zanki najprej ponastavimo časovnik, prižgemo LED s postopno daljšimi intervali in ga nato ugasnemo. Naslednja zanka ponastavi časovnik, dokler čas osvetlitve ni daljši od 4 sekund.
Ko se to zgodi, časovnik nadzornika ponastavi ploščo in nastavitev se znova izvede.
5. korak: Težave s časovnikom nadzornika
Ena od možnih težav s časovnikom nadzornika, odvisno od zagonskega nalagalnika vašega Arduina, je, da če je vrednost časovnika nadzornega psa prenizka in zagonski nalagalnik pri nalaganju nove kode ne ponastavi časovnika, lahko poškodujete ploščo Arduino tako, da vedno bo obtičal v zagonski fazi. Bootloader se bo poskušal zagnati, vendar bo časovnik še naprej ponastavil ploščo in ji nikoli ne bo omogočil pravilnega zagona. Da bi preprečili takšne težave, vedno uporabite pragovne intervale 2 sekundi ali več.
6. korak: Uživajte
Če imate primer, kjer ste časovnik časovnika uporabili v resničnem projektu, mi to sporočite v komentarjih, video vam bo všeč in se ne pozabite naročiti.
Na zdravje in hvala za branje/ogled!
Priporočena:
Tabla za uporabo 555 Timer IC: 11 korakov
Tabla za uporabo 555 Timer IC: Uvod: IC 555 timer je ena izmed najbolj uporabnih in najbolj znanih IC za vsakogar od nas. Moj profesionalni vgrajeni nosilec strojne opreme se je začel dve leti nazaj, leta 2019 pa je ena od mojih odločitev, da pripravim 45 različnih vezij s 555 časovnim vmesnikom za
Steampunked Dream Guardian Night Light: 9 korakov (s slikami)
Steampunked Dream Guardian Night Light: Pozdravljeni vsi, moj bližnji prijatelj me je pred nekaj tedni prosil, naj ustvarim zaročno darilo (seveda poleg prstana!) Za njegovo dekle. Oba sta kot jaz, prostovoljna gasilca in obožujeta Steampunk predmete. Moj prijatelj je pomislil na
Eye Guardian: Zvok sprožen Zaščita oči: 9 korakov (s slikami)
Eye Guardian: Sound Triggered Eye Guardian: Eye Guardian je zaščita za oči z neprekinjenim zvokom, ki jo poganja Arduino. Zazna zvok težke opreme in med uporabo opreme zniža zaščitna očala. Oris V prvem koraku bom razložil Inspirati
Guardian V1.0 --- Nadgradnja kamere na vrata z Arduinom (snemanje zaznavanja gibanja in funkcije električnega udara): 5 korakov
Guardian V1.0 ||| Nadgrajevanje vratne kamere z Arduinom (snemanje z zaznavanjem gibanja in funkcije električnega udara): Naročil sem kamero z očmi, a ko sem jo uporabil, sem spoznal, da ni funkcije samodejnega snemanja (aktivira se z zaznavanjem gibanja). Nato sem začel raziskovati, kako deluje. Če želite posneti video, morate 1- pritisniti gumb za vklop skoraj 2 sekundi
Pi Guardian: 6 korakov (s slikami)
Pi Guardian: Ste si kdaj želeli ujeti tisto osebo, ki vam nenehno krade sladkarije za noč čarovnic? Kaj pa tisti nadležni sostanovalec, ki ne pusti hladilnika pri miru? Z uporabo Raspberry Pi 3, Pi kamere in senzorja PIR je vse to zdaj mogoče. Simpl