Commander plusieurs LED (Chenillard)
De Wiki L.A.B
Matériel
- Arduino Uno
- Plaque d'essai (breadbord)
- 4 LED
- 4 Résistances 1/4W 270Ω ( 220Ω ou 330Ω peuvent également convenir)
- Straps ou fils de liaison
Montage
Programme
Voici le programme qu'il faut éditer dans l'IDE Arduino, puis compiler et charger dans la carte Arduino
/*
Ce programme met en oeuvre un chenillard de 4 LED
*/
#define led1 2 // led1 branchée sur la broche 2
#define led2 3 // led2 branchée sur la broche 3
#define led3 4 // led3 branchée sur la broche 4
#define led4 5 // led4 branchée sur la broche 5
void setup() // setup est déroulé une seule fois après la remise à zéro
{
pinMode(led1, OUTPUT); // la broche led1 (2) est initialisée en sortie
pinMode(led2, OUTPUT); // la broche led2 (3) est initialisée en sortie
pinMode(led3, OUTPUT); // la broche led3 (4) est initialisée en sortie
pinMode(led4, OUTPUT); // la broche led4 (5) est initialisée en sortie
}
void loop() // loop est déroulé indéfiniment
{
digitalWrite(led1, HIGH); // allume la LED1 on aurait aussi pu écrire 1 à la place de HIGH
digitalWrite(led2, LOW); // éteint la LED2 on aurait aussi pu écrire 0 à la place de LOW
digitalWrite(led3, LOW); // éteint la LED3
digitalWrite(led4, LOW); // éteint la LED4
delay(500); // attente de 1/2 seconde
digitalWrite(led1, LOW); // éteint la LED1
digitalWrite(led2, HIGH); // allume la LED2
digitalWrite(led3, LOW); // éteint la LED3
digitalWrite(led4, LOW); // éteint la LED4
delay(500); // attente de 1/2 seconde
digitalWrite(led1, LOW); // éteint la LED1
digitalWrite(led2, LOW); // éteint la LED2
digitalWrite(led3, HIGH); // allume la LED3
digitalWrite(led4, LOW); // éteint la LED4
delay(500); // attente de 1/2 seconde
digitalWrite(led1, LOW); // éteint la LED1
digitalWrite(led2, LOW); // éteint la LED2
digitalWrite(led3, LOW); // éteint la LED3
digitalWrite(led4, HIGH); // allume la LED4
delay(500); // attente de 1/2 seconde
}
Une autre manière de faire la même chose en utilisant une fonction
/*
Ce programme met en oeuvre un chenillard de 4 LED
*/
#define led1 2 // led1 branchée sur la broche 2
#define led2 3 // led2 branchée sur la broche 3
#define led3 4 // led3 branchée sur la broche 4
#define led4 5 // led4 branchée sur la broche 5
/*
La fonction LED permet de commander les 4 LED :
HIGH ou 1 = LED allumée
LOW ou 0 = LED éteinte
Pendant une certaine durée, les 5 paramètres passés sont :
état de la led1, état de la led2, état de la led3, état de la led4, durée
*/
void LED(int L1,int L2,int L3,int L4,int duree)
{
digitalWrite(led1, L1); // écriture du niveau L1 sur la broche led1
digitalWrite(led2, L2); // écriture du niveau L2 sur la broche led2
digitalWrite(led3, L3); // écriture du niveau L3 sur la broche led3
digitalWrite(led4, L4); // écriture du niveau L4 sur la broche led4
delay(duree); // attente de (duree) milli secondes
}
void setup() // setup est déroulé une seule fois après la remise à zéro
{
pinMode(led1, OUTPUT); // la broche led1 (2) est initialisée en sortie
pinMode(led2, OUTPUT); // la broche led2 (3) est initialisée en sortie
pinMode(led3, OUTPUT); // la broche led3 (4) est initialisée en sortie
pinMode(led4, OUTPUT); // la broche led4 (5) est initialisée en sortie
}
void loop() // loop est déroulé indéfiniment
{
LED (1,0,0,0,500);
LED (0,1,0,0,500);
LED (0,0,1,0,500);
LED (0,0,0,1,500);
}