Obsah:
- Krok 1: Co je to časovač hlídacího psa?
- Krok 2: Jak povolit časovač Watchdog?
- Krok 3: Udržujte svůj program spuštěný
- Krok 4: Příklad použití
- Krok 5: Problémy s časovačem hlídacího psa
- Krok 6: Užijte si to
Video: The Arduino Hang Guardian - Arduino Watchdog Timer Tutorial: 6 Steps
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:21
Ahoj všichni, Stává se to nám všem. Postavíte projekt, nadšeně připojíte všechny senzory a najednou Arduino visí a není zpracován žádný vstup.
"Co se děje?" Zeptejte se a začněte kopat kód, abyste si uvědomili, že jste uvízli v nekonečné smyčce. Díky bohu byl Arduino na vaší lavičce a ne na odlehlém místě.
Dnes se podíváme na to, jak můžeme použít časovač hlídání na Arduinu, abychom tomu zabránili.
Krok 1: Co je to časovač hlídacího psa?
Arduino hlídací časovač, jak název napovídá, je časovač, který běží odděleně od hlavního CPU na desce. Tento časovač lze použít k pravidelné kontrole stavu desky a za okolností, kdy se deska zasekla v softwarové smyčce nebo se zasekla kvůli selhání hardwaru, může hlídací časovač resetovat Arduino a nechat ho začít znovu.
Ve výchozím nastavení, když se nepoužívá, je tento časovač deaktivován u všech projektů a pouze když jej povolíme, musíme se ujistit, že ho budeme pravidelně informovat, aby neresetoval naši desku, pokud stále funguje podle očekávání.
Abychom mohli používat hlídací časovač, musíme nejprve do skici Arduina zahrnout soubor avr/wdt.h. Toto je standardní knihovna, která uchovává akce hlídacího psa.
Krok 2: Jak povolit časovač Watchdog?
K aktivaci časovače používáme funkci „wdt_enable“, kde potřebujeme projít prahovým intervalem, ve kterém bude deska resetována. V závislosti na našem případě použití to může být kdekoli od 15 milisekund až po 8 sekund v předdefinovaných nastaveních, která jsou obsažena v knihovně hlídacího psa.
THRESHOLD - KONSTANTNÍ NÁZEV
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
Krok 3: Udržujte svůj program spuštěný
Nyní, když je povolený časovač, abychom zabránili resetování našeho Arduina, musíme pravidelně volat funkci „wdt_reset“, abychom resetovali časovač hlídacího psa před vypršením intervalu prahové hodnoty.
Při výběru intervalu resetování je důležité vzít v úvahu jakoukoli zdlouhavou operaci, jako je čtení nebo odesílání dat nebo připojení k externím senzorům. Prah resetování by měl být alespoň jeden a půlkrát větší než tyto časy, aby se zabránilo náhodnému resetu.
Krok 4: Příklad použití
V ukázkovém programu, který si můžete stáhnout zde, jsme nejprve nastavili časovač hlídacího psa s resetovacím intervalem 4 sekundy. Poté, abychom věděli, že jsme ve funkci nastavení, třikrát rychle zablikáme LED a poté v hlavní smyčce nejprve resetujeme časovač, rozsvítíme LED s postupně delšími intervaly a poté ji vypneme. Další smyčka resetuje časovač znovu, dokud doba rozsvícení není delší než 4 sekundy.
Když k tomu dojde, hlídací časovač resetuje desku a nastavení se provede znovu.
Krok 5: Problémy s časovačem hlídacího psa
V závislosti na zavaděči vašeho Arduina je jedním z možných problémů s hlídacím časovačem, že pokud je hodnota časovače hlídacího psa příliš nízká a zavaděč neresetuje časovač při nahrávání nového kódu, může dojít k poškození desky Arduino způsobem, který bude vždy zaseknutý ve fázi spouštění. Zavaděč se pokusí spustit, ale časovač bude pokračovat v resetování desky a nikdy nedovolí, aby se správně spustila. Abyste předešli takovým problémům, vždy používejte prahové intervaly 2 sekundy nebo více.
Krok 6: Užijte si to
Pokud máte příklad, kde jste použili hlídací časovač ve skutečném projektu, dejte mi vědět dolů v komentářích, nezapomeňte video olajkovat a nezapomeňte se přihlásit k odběru.
Na zdraví a díky za čtení/sledování!
Doporučuje:
Steampunked Dream Guardian Night Light: 9 kroků (s obrázky)
Steampunked Dream Guardian Night Light: Ahoj všichni Můj blízký přítel mě před několika týdny požádal o vytvoření zásnubního dárku (samozřejmě kromě prstenu!) Pro jeho přítelkyni. Oba jsou jako já, dobrovolní hasiči a milují Steampunk Objects. Můj přítel myslel na sv
Light Theremin in a NES Controller - 555 Timer: 19 Steps (with Pictures)
Light Theremin v ovladači NES - časovač 555: Hrál jsem si s 555 IC a nikdy se mi nepodařilo dosáhnout toho, aby něco dělalo až dosud. Když jsem slyšel, jak ožívá a začíná na mě oscilovat, byl jsem se sebou zatraceně šťastný. Pokud dokážu dosáhnout zvuku, pak by měl kdokoli
Eye Guardian: Zvukově aktivovaná ochrana očí: 9 kroků (s obrázky)
Eye Guardian: Zvukově spouštěná ochrana očí: Eye Guardian je Arduino napájené, vysoce decibilní nepřetržité zvukové spouštění ochrany očí. Detekuje zvuk těžkého vybavení a během používání zařízení snižuje ochranné brýle. Osnova V prvním kroku vysvětlím Inspirati
Bomb-like Timer (v1): 4 Steps
Bomb-like Timer (v1): Toto je jen krátké představení projektu časovače podobného bombě, na kterém pracuji.Všechno jsem vložil do akrylové trubice s číslicí LED s velkým červeným LED, aby to vypadalo, že to vypadá, když to odpočítává . (čas běží …) většina hardwy
Pi Guardian: 6 kroků (s obrázky)
Pi Guardian: Chtěli jste někdy chytit jednu osobu, která stále krade vaše halloweenské cukroví? Nebo co ten otravný spolubydlící, který nenechá vaši ledničku samotnou? Díky použití Raspberry Pi 3, Pi kamery a PIR senzoru je nyní vše možné. Jednoduché