Tuttavia, alcuni problemi, in particolare le soluzioni a problemi non comuni, sono difficili da trovare. Quindi, se hai bisogno di fermare un programma Arduino ma non sei in grado di farlo, questa guida sarà utile per te poiché ho spiegato diversi modi per fermare un programma Arduino.
In quali situazioni deve essere fermato il programma Arduino?
Il motivo per fermare il programma Arduino può variare, alcuni di essi sono:
Metodi che fermano un programma Arduino
Esistono diversi modi per fermare un programma Arduino e dipende da quale motivo era necessario fermare l'esecuzione:
Utilizzo di loop o dichiarazioni condizionali
I loop e le dichiarazioni condizionali sono uno dei modi per impedire al codice Arduino di funzionare per un periodo di tempo infinito. Se si desidera interrompere il codice Arduino una volta raggiunto il risultato desiderato.
Scollegare la fornitura di Arduino
Un altro modo per fermare il programma Arduino è scollegare la scheda Arduino dalla fornitura, non appena la fornitura sarà disconnessa, il consiglio si spegne e quindi l'esecuzione del consiglio di Arduino si fermerà. Tuttavia, se il codice è già caricato nella scheda, inizierà nuovamente a eseguire una volta che la scheda sarà nuovamente collegata alla fornitura. Questo metodo è consigliato solo quando la scheda non risponde durante l'esecuzione del codice.
Ripristina l'Arduino utilizzando il pulsante di ripristino o il pin di ripristino
Tutte le schede Arduino sono fornite con il pulsante di ripristino e con il pin di ripristino, utilizzando il pin di resto è possibile effettuare un pulsante di ripristino esterno. Quindi, per interrompere l'esecuzione del programma Arduino, premere il pulsante di ripristino che fermerà l'esecuzione per pochi secondi fino a quando la scheda non viene nuovamente riavviata.
Usando la modalità di sospensione di Arduino
Se è necessario eseguire il programma Arduino per un po 'di tempo, è possibile utilizzare la modalità di sospensione di Arduino. E ci sono 6 modalità di sonno disponibili per Arduino:
I sei ci sono tre modalità principali che vengono utilizzate principalmente che sono:
Come usare la modalità di sospensione di Arduino?
Per l'uso della modalità Sleep è una libreria specifica che può essere scaricata da qui, oppure puoi installarla dal gestore della libreria di Arduino IDE cercando la modalità Sleep nella sua barra di ricerca.
Per illustrare come utilizzare la modalità Sleep per Arduino ho usato la modalità di accensione il cui codice è indicato di seguito:
#include // libreria per la modalità sleep
int sec = 0; /* dichiarando la variabile per la memorizzazione del conteggio*/
Dormi dormi;
Duratazione del sonno lunga non firmata; /*durata per la quale l'Arduino deve essere in modalità sospensione*/
void setup ()
Seriale.Inizia (9600);
SleepDuration = 5000; // Impostazione della durata in millisecondi
void loop ()
ritardo (100);
Seriale.stampa ("Waking For");
Seriale.stampa (sec); / *Stampa i secondi per i quali l'Arduino rimarrà su */
Seriale.println ("sec");
Sec ++; // aggiungendo i secondi
ritardo (1000);
if (sec> = 10) // mantenendo l'Arduino per 10 secondi
sec = 0;
Seriale.stampa ("andare a dormire per");
Seriale.stampare (sleepDuration); // Stampa la durata del sonno per Arduino
Seriale.println ("millisecondi");
ritardo (100); /* Dare ritardo per consentire a serial stampare i dati prima di andare a dormire*/
sonno.pwrdownMode (); // Dare la modalità di sospensione ad Arduino
sonno.SleepDelay (SleepDuration); // dormendo l'Arduino per la durata
Nel codice sopra, Arduino funziona per dieci secondi e poi va alla modalità di accensione per 5000 millisecondi (5 secondi) fermando così il codice Arduino. Dopo 5000 millisecondi (5 secondi) la funzione Loop viene nuovamente eseguita, è così che è possibile fermare il programma Arduino. Di seguito è riportato l'output del codice Arduino:
Nota: Gli interrupt possono anche essere utilizzati per Arduino per spostarlo dentro e fuori dalla modalità di sospensione
Qual è la differenza tra ritardo e modalità di sospensione?
Il ritardo interrompe solo l'esecuzione del programma Arduino per un po 'di tempo, mentre la modalità di sospensione non solo interrompe l'esecuzione del programma Arduino, ma conserva anche la potenza benefica nel caso in cui le batterie vengano utilizzate per potenziare la scheda Arduino.
Utilizzando ritardi nel codice Arduino
L'aggiunta di ritardi nel codice Arduino può anche essere l'unico modo per fermare il codice Arduino. Ancora una volta, l'uso di questo metodo fermerà solo l'esecuzione del programma Arduino solo per alcuni per un po 'di tempo specificato. Quindi, se stai cercando di fermare il codice Arduino per un breve periodo, allora questo metodo può essere utilizzato.
Nota importante: Tutti i metodi di cui sopra, tranne l'uso dei loop, le istruzioni condizionali, la modalità di sospensione e la disconnessione di Arduino dalla fornitura, possono fermare il programma Arduino su base temporanea.
Conclusione
A volte potrebbe essere necessario fermare un codice Arduino e ci sono molti modi per farlo. I codici Arduino possono essere interrotti utilizzando loop, dichiarazioni condizionali. Puoi anche ripristinare l'Arduino ma questi metodi fermano temporaneamente il codice Arduino. Per fermare il codice durante l'esecuzione è necessario una libreria di terze parti chiamata sleep_n0m1.