Menu
CoddyTech

Un clignotement qui accélère

Fait partie de la section Premiers circuits du Journey Arduino de Coddy. Leçon 17 sur 22.

delay(waitTime) attend la valeur contenue dans waitTime à ce moment-là. Modifie la variable pendant l’exécution du sketch, et le clignotement change avec elle.

waitTime = waitTime - 100;   // le prochain clignotement dure 100 ms de moins

Place cela à la fin de loop(), et chaque clignotement sera plus court que le précédent.

Observe ce qui se passe après un certain temps d’exécution. Le temps d’attente diminue jusqu’à 0, puis passe sous 0. delay() ne peut pas attendre un temps négatif : il interprète -200 comme un nombre énorme, environ 49 jours, et la LED semble alors figée. Un sketch doit décider lui-même quand arrêter de réduire cette valeur, et c’est le sujet de la prochaine leçon.

challenge icon

Défi

Facile

Fais clignoter de plus en plus vite la LED sur la broche 13 :

  • en haut, ajoute int waitTime = 1000;
  • dans loop(), fais clignoter avec delay(waitTime) pour les deux attentes
  • à la fin de loop(), réduis waitTime de 200

Appuie sur Run et regarde jusqu'à ce que ça se fige, puis clique sur Check.

Essayez vous-même

// définir waitTime ici

void setup() {
  pinMode(13, OUTPUT);
}

void loop() {
  digitalWrite(13, HIGH);
  delay(1000);
  digitalWrite(13, LOW);
  delay(1000);
  // réduire waitTime
}
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Premiers circuits

Entraînez-vous par vous-même : Playground Arduino