Exercice : A vous de jouer !
Question
Que se passe-t-il si vous remplacez la ligne for(compteur=0 ; compteur<10 ; compteur++) par for(compteur=0 ; compteur<20 ; compteur++) ?
Solution
La LED clignote 20 fois (car on compte de 0 à 19).
Question
Que se passe-t-il si vous remplacez la ligne for(compteur=0 ; compteur<10 ; compteur++) par for(compteur=15 ; compteur<20 ; compteur++) ?
Solution
La LED clignote 5 fois (car on compte de 15 à 19).
Faire clignoter deux LED 20 fois
Réaliser le montage suivant :
Question
Modifier le code pour que les deux LEDs clignotent en même temps vingt fois.
Solution
/*
Objectif: faire clignoter 20 fois en alternance les LED montées sur le port 10 et 12
*/
byte compteur; //On définit la variable "compteur
void setup() {
// Initialise la patte 10 comme sortie
pinMode(10, OUTPUT);
// Initialise la patte 12 comme sortie
pinMode(12, OUTPUT);
// Ouvre le port série à 9600 bauds
Serial.begin(9600);
// Exécute le programme entre accolades en partant de zéro et en incrémentant à chaque fois la valeur de +1: 0+1/2+1/3+1... jusqu'à ce que la variable “compteur“ soit égale à 20.
for(compteur=0 ; compteur<20 ; compteur++) {
digitalWrite(10, HIGH); // allume la LED 10
digitalWrite(12, HIGH); // allume la LED 12
delay(500); // attend 500ms
digitalWrite(10, LOW); // éteint la LED 10
digitalWrite(12, LOW); // éteint la LED 12
delay(500); // attend 500ms
}
}
void loop() {
}
Question
Modifier maintenant le programme pour que les LED clignotent en alternance vingt fois.
Solution
/*
Objectif: faire clignoter 20 fois en alternance les LED montées sur le port 10 et 12
*/
byte compteur; //On définit la variable "compteur
void setup() {
// Initialise la patte 10 comme sortie
pinMode(10, OUTPUT);
// Initialise la patte 12 comme sortie
pinMode(12, OUTPUT);
// Ouvre le port série à 9600 bauds
Serial.begin(9600);
// Exécute le programme entre accolades en partant de zéro et en incrémentant à chaque fois la valeur de +1: 0+1/2+1/3+1... jusqu'à ce que la variable “compteur“ soit égale à 20.
for(compteur=0 ; compteur<20 ; compteur++) {
digitalWrite(10, HIGH); // allume la LED 10
digitalWrite(12, LOW); // éteint la LED 12
delay(500); // attend 500ms
digitalWrite(10, LOW); // éteint la LED 10
digitalWrite(12, HIGH); // allume la LED 12
delay(500); // attend 500ms
}
digitalWrite(12, LOW); // éteint la LED 12, qui sinon, resterait allumée
}
void loop() {
}
Question
Comment faire pour augmenter la fréquence du clignotement ?