Sommario:
- Passaggio 1: cos'è questo timer per cani da guardia?
- Passaggio 2: come abilitare il timer del watchdog?
- Passaggio 3: mantieni attivo il tuo programma
- Passaggio 4: esempio di utilizzo
- Passaggio 5: problemi con il timer di sorveglianza
- Passaggio 6: divertiti
Video: L'Arduino Hang Guardian - Tutorial Arduino Watchdog Timer: 6 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:01
Ciao a tutti, Succede a tutti noi. Costruisci un progetto, connetti con entusiasmo tutti i sensori e, all'improvviso, Arduino si blocca e nessun input viene elaborato.
"Cosa sta succedendo?", chiederai e inizierai a scavare nel tuo codice, solo per realizzare che sei bloccato in un ciclo infinito. Grazie a Dio l'Arduino era sul tuo banco e non in un luogo remoto.
Oggi vedremo come possiamo usare il timer watchdog su Arduino per evitare che ciò accada.
Passaggio 1: cos'è questo timer per cani da guardia?
Il timer watchdog Arduino, come suggerisce il nome, è un timer che funziona separatamente dalla CPU principale sulla scheda. Questo timer può essere utilizzato per controllare periodicamente lo stato della scheda e in circostanze in cui la scheda è rimasta bloccata in un loop software o si è bloccata a causa di un guasto hardware, il timer watchdog può ripristinare Arduino e farlo ricominciare da capo.
Per impostazione predefinita, quando non è in uso, questo timer è disabilitato su tutti i progetti e solo quando lo abilitiamo, dobbiamo assicurarci di dirgli periodicamente di non ripristinare la nostra scheda se funziona ancora come previsto.
Per poter utilizzare il timer watchdog, dobbiamo prima includere il file avr/wdt.h nel nostro sketch Arduino. Questa è la libreria standard che contiene le azioni del watchdog.
Passaggio 2: come abilitare il timer del watchdog?
Per abilitare il timer utilizziamo la funzione “wdt_enable” dove dobbiamo passare nell'intervallo di soglia al quale la scheda verrà resettata. A seconda del nostro caso d'uso, questo può variare da 15 millisecondi a un massimo di 8 secondi nelle impostazioni predefinite contenute nella libreria watchdog.
SOGLIA - NOME COSTANTE
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
Passaggio 3: mantieni attivo il tuo programma
Ora, con il timer abilitato, per evitare che resetti il nostro Arduino dobbiamo chiamare periodicamente la funzione "wdt_reset" per ripristinare il timer del watchdog prima che scada l'intervallo di soglia.
Quando si sceglie un intervallo di ripristino, è fondamentale prendere in considerazione qualsiasi operazione lunga come la lettura o l'invio di dati o il collegamento a sensori esterni. La soglia di ripristino deve essere almeno una volta e mezza maggiore di questi tempi per evitare ripristini accidentali.
Passaggio 4: esempio di utilizzo
Nel programma di esempio che puoi scaricare qui, abbiamo prima impostato il timer di watchdog con un intervallo di ripristino di 4 secondi. Poi per sapere che siamo nella funzione setup facciamo lampeggiare un led per 3 volte velocemente e poi nel loop principale prima resettiamo il timer, accendiamo un led con intervalli progressivamente più lunghi e poi lo spegniamo. Il ciclo successivo ripristina nuovamente il timer fino a quando il tempo di accensione non supera i 4 secondi.
Quando ciò accade, il timer di watchdog ripristina la scheda e l'impostazione viene eseguita di nuovo.
Passaggio 5: problemi con il timer di sorveglianza
Un possibile problema con il timer del watchdog, a seconda del bootloader del tuo Arduino, è che se il valore del timer del watchdog è troppo basso e il bootloader non ripristina il timer durante il caricamento di nuovo codice, potresti finire per danneggiare la tua scheda Arduino in un modo che sarà sempre bloccato nella fase di avvio. Il bootloader tenterà di avviarsi, ma il timer continuerà a reimpostare la scheda, senza mai avviarla correttamente. Per evitare problemi come questo, assicurati di utilizzare sempre intervalli di soglia di 2 secondi o più.
Passaggio 6: divertiti
Se hai un esempio di dove hai utilizzato il timer del watchdog in un progetto reale, fammelo sapere nei commenti, assicurati di mettere mi piace al video e non dimenticare di iscriverti.
Saluti e grazie per aver letto/guardato!
Consigliato:
Luce notturna Steampunked Dream Guardian: 9 passaggi (con immagini)
Steampunked Dream Guardian Night Light: Ciao a tutti Un mio caro amico mi ha chiesto di creare un regalo di fidanzamento (ovviamente oltre all'anello!) per la sua ragazza qualche settimana fa. Entrambi sono come me, vigili del fuoco volontari e adorano gli oggetti Steampunk. Il mio amico ha pensato a una st
Motore passo-passo con infradito D e timer 555; la prima parte del circuito il timer 555: 3 passaggi
Motore passo-passo con infradito D e timer 555; la prima parte del circuito il timer 555: il motore passo-passo è un motore a corrente continua che si muove a passi discreti. Viene spesso utilizzato nelle stampanti e persino nella robotica. Spiegherò questo circuito in passaggi. La prima parte del circuito è un 555 Timer. È la prima immagine (vedi sopra) con un chip 555 con
Eye Guardian: protezione degli occhi attivata dal suono: 9 passaggi (con immagini)
Eye Guardian: protezione degli occhi attivata dal suono: Eye Guardian è un dispositivo di protezione degli occhi attivato da un suono continuo ad alta decibel alimentato da Arduino. Rileva il rumore dell'attrezzatura pesante e abbassa gli occhiali protettivi mentre l'attrezzatura è in uso. SchemaNel primo passaggio, spiegherò gli Inspirati
Microcontrollore AVR. LED lampeggiatore utilizzando il timer. Interruzioni timer. Modalità CTC timer: 6 passaggi
Microcontrollore AVR. LED lampeggiatore utilizzando il timer. Interruzioni timer. Timer CTC Mode: Ciao a tutti! I timer sono un concetto importante nel campo dell'elettronica. Ogni componente elettronico funziona in base ai tempi. Questa base dei tempi aiuta a mantenere tutto il lavoro sincronizzato. Tutti i microcontrollori funzionano a una frequenza di clock predefinita, il
NE555 Timer - Configurazione del timer NE555 in una configurazione astabile: 7 passaggi
NE555 Timer | Configurazione del timer NE555 in una configurazione astabile: il timer NE555 è uno dei circuiti integrati più comunemente utilizzati nel mondo dell'elettronica. È sotto forma di DIP 8, il che significa che dispone di 8 pin