Arrêter une boucle Arduino

Ammar Ali 12 octobre 2023
  1. Arrêter la void loop() en utilisant la bibliothèque Sleep_n0m1
  2. Arrêtez la void loop() en utilisant exit(0)
  3. Arrêter la void loop() en utilisant une boucle infinie
Arrêter une boucle Arduino

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.

Auteur: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook