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 moinsPlace 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.
Défi
FacileFais clignoter de plus en plus vite la LED sur la broche 13 :
- en haut, ajoute
int waitTime = 1000; - dans
loop(), fais clignoter avecdelay(waitTime)pour les deux attentes - à la fin de
loop(), réduiswaitTimede 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
}
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
3Les maths au tableau
Constantes nomméesOpérateurs arithmétiquesDivision entièreNombres décimaux avec floatUn clignotement qui accélèreEntraînez-vous par vous-même : Playground Arduino