Menu
CoddyTech

Clignoter sur commande

Fait partie de la section Entrées du Journey Arduino de Coddy. Leçon 18 sur 22.

Saisis 3 et la LED devrait clignoter trois fois, puis s’arrêter. loop() se répète déjà, alors laisse-la compter : conserve dans une variable le nombre de clignotements qu’il reste à effectuer. Chaque fois que loop() s’exécute, s’il reste des clignotements, fais clignoter la LED une fois et décrémente ce nombre.

int blinksLeft = 0;

void loop() {
  // un nombre provenant du moniteur série définit blinksLeft
  if (blinksLeft > 0) {
    // un clignotement
    blinksLeft = blinksLeft - 1;
  }
}

Lorsque blinksLeft atteint 0, le test if est faux et la LED reste éteinte jusqu’au prochain nombre.

Le retour à la ligne après le nombre fait toujours que parseInt() renvoie 0 une seconde plus tard. Ignore le 0 comme précédemment, sinon il effacerait les clignotements qu’il reste à effectuer.

challenge icon

Défi

Moyen

Fais clignoter la LED sur la broche 13 autant de fois que le nombre saisi dans le moniteur série :

  • lorsque des caractères sont en attente, lis un nombre avec parseInt() et stocke-le dans blinksLeft s’il est supérieur à 0
  • si blinksLeft est supérieur à 0, fais-la clignoter une fois (allumée pendant 200 ms, éteinte pendant 200 ms) et décrémente sa valeur de 1

Appuie sur Run, envoie 3 depuis le moniteur série, puis appuie sur Check.

Essayez vous-même

const int ledPin = 13;

int blinksLeft = 0;

void setup() {
  pinMode(ledPin, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  // un nombre provenant du moniteur série définit blinksLeft
  // tant que blinksLeft est supérieur à 0, fais clignoter la LED une fois et soustrais 1
}
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 Entrées

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