Commander plusieurs LED (Chenillard)

De Wiki L.A.B
Révision de 3 janvier 2016 à 12:42 par Nedseb (discussion | contributions)

(diff) ← Version précédente | Voir la version courante (diff) | Version suivante → (diff)
Aller à : navigation, rechercher
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

Montage Chenillard LED Montage Chenillard LED

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);
}