Le problème de delay()
Jusqu'ici, on a utilisé delay() pour créer des pauses. C'est simple et ça marche... mais delay() bloque TOUT le programme. Pendant qu'il attend, l'Arduino ne peut rien faire d'autre : pas lire un bouton, pas mettre à jour un afficheur, pas faire clignoter une seconde LED.
Analogie : delay() c'est comme bloquer une route entière pour faire un demi-tour. millis() c'est un rond-point : tout le monde continue à circuler.
void loop() {
digitalWrite(8, HIGH);
delay(500); // ⏸ TOUT est bloqué 500ms
digitalWrite(8, LOW);
delay(500); // ⏸ Encore bloqué
// La LED B ne peut PAS clignoter
// à son propre rythme !
}