Cuprins:
- Pasul 1: Ce este acest cronometru de pază?
- Pasul 2: Cum se activează cronometrul câinelui de pază?
- Pasul 3: Mențineți programul în desfășurare
- Pasul 4: Exemplu de utilizare
- Pasul 5: Probleme legate de cronometrul câinelui de supraveghere
- Pasul 6: Bucurați-vă
Video: Arduino Hang Guardian - Tutorial Arduino Watchdog Timer: 6 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:43
Buna tuturor, Ni se întâmplă tuturor. Construiți un proiect, conectați cu entuziasm toți senzorii și dintr-o dată, Arduino se blochează și nu este procesată nicio intrare.
„Ce se întâmplă?”, Veți întreba și veți începe să vă scufundați codul, doar pentru a vă da seama că v-ați blocat într-o buclă infinită. Slavă Domnului că Arduino era pe banca ta și nu într-o locație îndepărtată.
Astăzi, vom analiza modul în care putem folosi cronometrul câinelui de supraveghere de pe Arduino pentru a preveni acest lucru.
Pasul 1: Ce este acest cronometru de pază?
Cronometrul de supraveghere Arduino, după cum sugerează și numele, este un temporizator care rulează separat de CPU-ul principal de pe placă. Acest cronometru poate fi utilizat pentru a verifica periodic starea plăcii și în situațiile în care placa s-a blocat într-o buclă software sau s-a blocat din cauza unei defecțiuni hardware, cronometrul de supraveghere poate reseta Arduino și îl poate porni din nou.
În mod implicit, atunci când nu este utilizat, acest cronometru este dezactivat pentru toate proiectele și numai atunci când îl activăm, trebuie să ne asigurăm că îi spunem periodic să nu reseteze placa noastră, dacă aceasta funcționează în continuare așa cum era de așteptat.
Pentru a putea utiliza cronometrul câinelui de pază, trebuie mai întâi să includem fișierul avr / wdt.h în schița noastră Arduino. Aceasta este biblioteca standard care deține acțiunile câinelui de pază.
Pasul 2: Cum se activează cronometrul câinelui de pază?
Pentru a activa temporizatorul, folosim funcția „wdt_enable” unde trebuie să trecem în intervalul de prag la care placa va fi resetată. În funcție de cazul nostru de utilizare, aceasta poate fi de 15 milisecunde până la 8 secunde în setări predefinite care sunt conținute în biblioteca de câini de supraveghere.
PRAT - NUME CONSTANT
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
Pasul 3: Mențineți programul în desfășurare
Acum, cu cronometrul activat, pentru a preveni resetarea Arduino-ului nostru, trebuie să apelăm periodic funcția „wdt_reset” pentru a reseta cronometrul câinelui de supraveghere înainte de expirarea intervalului de prag.
Atunci când alegeți un interval de resetare, este crucial să luăm în considerare orice operațiune lungă, cum ar fi citirea sau trimiterea datelor sau conectarea la senzori externi. Pragul de resetare ar trebui să fie de cel puțin o dată și jumătate mai mare decât acești timpi pentru a preveni orice resetare accidentală.
Pasul 4: Exemplu de utilizare
În exemplul de program pe care îl puteți descărca aici, am configurat mai întâi cronometrul câinelui de pază cu un interval de resetare de 4 secunde. Apoi, pentru a ști că suntem în funcția de configurare, aprindem rapid un LED de 3 ori și apoi în bucla principală resetăm mai întâi cronometrul, aprindem un LED cu intervale progresiv mai lungi și apoi îl oprim. Următoarea buclă resetează din nou cronometrul până când timpul de aprindere este mai lung de 4 secunde.
Când se întâmplă acest lucru, cronometrul câinelui de pază resetează placa și configurarea este executată din nou.
Pasul 5: Probleme legate de cronometrul câinelui de supraveghere
O posibilă problemă cu cronometrul câinelui de supraveghere, în funcție de bootloader-ul Arduino, este că, dacă valoarea temporizatorului de câine de supraveghere este prea mică și bootloaderul nu resetează cronometrul atunci când încărcați un cod nou, puteți ajunge să vă deteriorați placa Arduino într-un mod care va fi întotdeauna blocat în faza de boot. Bootloader-ul va încerca să pornească, dar temporizatorul va continua să reseteze placa, fără a permite niciodată pornirea corectă a acesteia. Pentru a preveni astfel de probleme, asigurați-vă că utilizați întotdeauna intervale de prag de 2 secunde sau mai mult.
Pasul 6: Bucurați-vă
Dacă aveți un exemplu în care ați folosit cronometrul câinelui de pază într-un proiect real, anunțați-mă în comentarii, asigurați-vă că vă place videoclipul și nu uitați să vă abonați.
Noroc și mulțumesc pentru lectură / vizionare!
Recomandat:
Steampunked Dream Guardian Night Light: 9 pași (cu imagini)
Steampunked Dream Guardian Night Light: Bună tuturor Un prieten apropiat de-al meu mi-a cerut să creez un cadou de logodnă (bineînțeles pe lângă inel!) Pentru prietena lui acum câteva săptămâni. Amândoi sunt ca mine, pompieri voluntari și adoră obiectele Steampunk. Prietenul meu s-a gândit la o st
Ușor de realizat MIDI Hang Drum: 4 pași
Ușor de realizat MIDI Hang Drum: Tamburul de suspendare, numit și manevră, tambur de rezervor sau tambur cu oțel, este un instrument fabricat dintr-un rezervor de propan (gol, desigur), cu niște limbi tăiate în metal. Tonul notelor depinde de dimensiunea și greutatea limbilor. Acest pro
Eye Guardian: Protecția ochilor declanșată de sunet: 9 pași (cu imagini)
Eye Guardian: Protecția ochilor declanșată de sunet: Eye Guardian este un dispozitiv de protecție a ochilor declanșat de sunet continuu cu înaltă decibelie, alimentat de Arduino. Detectează sunetul echipamentului greu și scade ochelarii de protecție în timp ce echipamentul este utilizat. În primul pas, voi explica Inspirația
Guardian V1.0 --- Îmbunătățirea camerei de vizionare a ușii cu Arduino (funcții de înregistrare a detectării mișcării și șocuri electrice): 5 pași
Guardian V1.0 ||| Îmbunătățirea camerei de vizionare a ușii cu Arduino (funcții de înregistrare a detectării mișcării și șocuri electrice): am comandat o cameră de vizionare a ușii, dar când o folosesc, mi-am dat seama că nu există funcție de înregistrare automată (activată prin detectarea mișcării). Apoi am început să investighez cum funcționează. Pentru a înregistra un videoclip, ar trebui să 1 - să țineți apăsat butonul de alimentare aproape 2 secunde
The Guardian: 6 pași (cu imagini)
The Guardian: Ai dorit vreodată să o prinzi pe acea persoană care îți tot fură bomboanele de Halloween? Sau ce zici de acel coleg de cameră enervant care nu îți va lăsa frigiderul în pace? Prin utilizarea unui Raspberry Pi 3, a camerei Pi și a unui senzor PIR, toate acestea sunt acum posibile. Simplu