Arrêter une boucle Arduino
-
Arrêter la
void loop()
en utilisant la bibliothèqueSleep_n0m1
-
Arrêtez la
void loop()
en utilisantexit(0)
-
Arrêter la
void loop()
en utilisant une boucle infinie
Ce tutoriel abordera les méthodes pour arrêter une boucle dans Arduino. Il existe deux types de boucles dans Arduino; l’un est le void loop()
qui est fourni par défaut et l’autre que l’utilisateur crée lui-même. Les boucles créées par l’utilisateur peuvent être terminées facilement en utilisant la méthode break
. Pour mettre fin à la void loop()
d’Arduino, vous pouvez utiliser les méthodes suivantes.
Arrêter la void loop()
en utilisant la bibliothèque Sleep_n0m1
La méthode ci-dessus peut fonctionner pour toutes les cartes Arduino, mais l’Arduino continuera à utiliser de l’énergie. En utilisant la librairie Sleep_n0m1
, vous pouvez mettre votre CPU Arduino en veille permanente jusqu’à ce que vous le réinitialisiez manuellement ou en utilisant une minuterie. Veuillez noter que cela peut ne pas fonctionner pour toutes les cartes Arduino.
#include <Sleep_n0m1.h>
Sleep sleep;
unsigned long sleepTime; // how long you want the Arduino to sleep
void setup() {
sleepTime = 50000; // set sleep time in ms, max sleep time is 49.7 days
}
void loop() {
// Your Code
sleep.pwrDownMode(); // set sleep mode
sleep.sleepDelay(sleepTime); // sleep for: sleepTime
}
Veuillez vous assurer d’utiliser la bibliothèque Sleep_n0m1
après avoir fini avec votre code. Cette méthode ne consommera qu’un peu de puissance. Utilisez ce lien pour plus de détails.
Arrêtez la void loop()
en utilisant exit(0)
La void loop()
d’Arduino peut être terminée en utilisant la méthode exit(0)
après votre code, mais notez que Arduino.cc
ne fournit aucune méthode pour terminer cette boucle, de sorte que cette méthode peut ne pas fonctionner pour toutes les cartes Arduino.
void loop() {
// All of your code here
// exit the loop
exit(0); // 0 is required to prevent error.
}
Veuillez noter qu’après exit(0)
, votre Arduino cessera de fonctionner jusqu’à ce que vous le réinitialisiez manuellement. Assurez-vous donc d’utiliser cette méthode une fois que le code a terminé sa tâche.
Arrêter la void loop()
en utilisant une boucle infinie
La méthode ci-dessus peut ne pas fonctionner pour toutes les cartes Arduino, nous devons donc utiliser une autre méthode. La méthode de la boucle infinie fonctionnera pour toutes les cartes Arduino, mais l’Arduino restera éveillé et continuera à consommer de l’énergie. Dans cette méthode, vous pouvez insérer une boucle infinie après votre code. Arduino traitera votre code, entrera dans une boucle infinie et y restera jusqu’à ce que vous le réinitialisiez manuellement.
void loop() {
// All of your code
while (1) { // infinite loop
}
}
Si Arduino entre dans la boucle infinie, il ne reviendra pas tant que vous ne l’aurez pas réinitialisé, assurez-vous donc d’utiliser la boucle infinie
après avoir fini avec votre code.