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.
Défi
MoyenFais 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 dansblinksLefts’il est supérieur à 0 - si
blinksLeftest 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
}
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
3Entrée série
Lire un caractère sérieCommandes par motsVitesse de clignotement depuis le port sérieClignoter sur commandeEntraînez-vous par vous-même : Playground Arduino