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 ?