Gérer le temps via fonction delay et millis

Les fonctions Arduino delay() et delayMicroseconds() jouent un rôle important et il est presque impossible d’écrire la plupart des programmes sans ces commandes. Sur notre site web, vous trouverez de nombreux tutoriels et projets où vous devez contrôler le temps avec delay(), par exemple, pour éviter que le contact ne bavarde au bouton. Examinons l’objectif et l’application des commandes de temporisation dans la programmation Arduino Uno / Nano.


Pour cette activité, nous aurons besoin:

  • Arduino Uno / Arduino Nano / Arduino Mega
  • LED et résistance
  • breadboard
  • fils de connexion

Matériel supplémentaire sur ce sujet:

  1. Comment utiliser fonction millis() Arduino
  2. Allumage et extinction LED à la suite Arduino
  3. Comment faire clignoter une LED Arduino

Description de la fonction delay Arduino

Fonction delay arrête l’exécution du programme pendant un nombre de millisecondes spécifié (1 seconde correspond à 1 000 millisecondes). Pendant que le programme est retardé avec delay(), les capteurs connectés à la carte ne peuvent pas être interrogés ou d’autres opérations, par exemple l’écriture de données dans l’EEPROM de l’Arduino, peuvent être effectuées. Il est également possible d’utiliser la fonction millis(). Voir l’exemple ci-dessous.

Fonction delayMicroseconds arrête l’exécution du programme pendant un nombre spécifié de microsecondes (1 seconde compte 1 000 000 de microsecondes). Si un délai de plus de quelques milliers de microsecondes est nécessaire dans un code, nous recommandons d’utiliser fonction delay(). Démontrons avec un exemple simple l’utilisation de la fonction dans le croquis pour faire clignoter la LED intégrée sur la microcontrôleur Arduino.

Gérer le temps via la fonction delay Arduino

Le programme Arduino pour une LED clignotante
Le programme Arduino pour une LED clignotante

Arduino delay peuvent souvent être trouvés dans les programmes. Si vous souhaitez savoir comment remplacer delay par millis dans le langage de programmation Arduino, nous nous sommes penchés sur cette question. Nous allons maintenant décomposer l’objectif de base de la fonction delay avec l’exemple d’une LED clignotante. Vous n’aurez besoin que de la carte Arduino elle-même, mais vous pouvez connecter la LED à la broche 13 Arduino.

Comment utiliser le fonction delay() Arduino

void setup() {
   pinMode(13, OUTPUT);
}
 
void loop() {
   digitalWrite(13, HIGH);
   delayMicroseconds(1000); // fait une pause de de 1000 microsecondes
   digitalWrite(13, LOW);
   delayMicroseconds(1000); // fait une pause de de 1000 microsecondes

   digitalWrite(13, HIGH);
   delay(1000);             // fait une pause de 1 seconde (= 1000ms)
   digitalWrite(13, LOW);
   delay(1000);             // fait une pause de 1 seconde (= 1000ms)
}

Explication du code pour utiliser le fonction delay:

  1. delayMicroseconds() stoppe le programme pendant la durée spécifiées en paramètres. Il y a 1000 microsecondes dans une milliseconde, et un million de microsecondes dans un seconde.


Conclusion. La fonction Arduino millis n’arrête pas l’exécution du programme, mais lance le compte à rebours à partir du début du compteur en millisecondes. En revanche, delay et delay Microseconds arrêtent l’exécution du programme pendant un nombre spécifié de millisecondes ou de microsecondes respectivement. L’application d’un délai particulier dans un programme de microcontrôleur Arduino dépend de la tâche à accomplir.





Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. Découvrez comment les données de vos commentaires sont traitées.