5.2 delay() millis() faire clignoter une LED
- L C
- 3 nov. 2024
- 1 min de lecture
Dernière mise à jour : 12 déc. 2024
Matériel
1 carte Arduino Uno
1 breadboard
1 Led
1 resistance 220 Ω
Fils de connexion
Montage

Sketch avec delay()
const int Led = 8;
void setup() {
pinMode(Led, OUTPUT);
}
void loop() {
digitalWrite(Led, HIGH);
delay(1000);
digitalWrite(Led, LOW);
delay(1000);
}
Sketch avec millis()
const int Led = 8;
int Etat = LOW;
unsigned long previousMillis = 0;
const int interval = 1000;
void setup() {
pinMode(Led, OUTPUT);
}
void loop() {
unsigned long currentMillis = millis();
if (currentMillis - previousMillis >= interval) {
previousMillis = currentMillis;
if (Etat == LOW) {
Etat = HIGH;
} else {
Etat = LOW;
}
digitalWrite(Led, Etat);
}
}
Rappel
Pour temporiser, on peut utiliser la fonction delay().
Cette fonction a ses limites car elle met en pause la suite du code.
Pour palier à ce problème, on peut utiliser la fonction millis().
millis() est un compteur qui est mis à jour en permanence et qui renvoie une valeur qui va représenter le nombre de millisecondes écoulées depuis la mise sous tension de la carte.