Mettre en œuvre une LED RGB

De Wiki L.A.B
Aller à : navigation, rechercher
Matériel
  • Arduino Uno
  • Plaque d'essai (breadbord)
  • LED RGB Cathodes communes
  • 3 Résistances 1/4W 270Ω ( 220Ω ou 330Ω peuvent également convenir)
  • Straps ou fils de liaison
Montage

Montage LED RGB Montage LED RGB

Programme


Voici le programme qu'il faut éditer dans l'IDE Arduino, puis compiler et charger dans la carte Arduino

/*
  Ce programme allume progressivement une LED RGB cathodes communes branchée sur les broches 3,5 et 6
*/

int ledR = 3; // broche de la LED Rouge
int ledG = 5; // broche de la LED Verte
int ledB = 6; // broche de la LED Bleue

int i = 0; // variable de la boucle for

void setup() // setup est déroulé une seule fois après la remise à zéro
{                
  pinMode(ledR, OUTPUT); // la broche led (3) est initialisée en sortie    
  pinMode(ledG, OUTPUT); // la broche led (5) est initialisée en sortie 
  pinMode(ledB, OUTPUT); // la broche led (6) est initialisée en sortie      
}
void loop() // loop est déroulé indéfiniment
{
for (i=0; i<=255;i++) // i varie de 1 à 255
  {
  analogWrite(ledR,i); // génère une impulsion sur la broche de largeur i => la luminosité R augmente
  delay(20); // pause de 20 ms entre chaque pas
  }
  digitalWrite (ledR,LOW);
  for (i=0; i<=255;i++) // i varie de 1 à 255
  {
  analogWrite(ledG,i); // génère une impulsion sur la broche de largeur i => la luminosité G augmente
  delay(20); // pause de 20 ms entre chaque pas
  }
  digitalWrite (ledG,LOW);
  for (i=0; i<=255;i++) // i varie de 1 à 255
  {
  analogWrite(ledB,i); // génère une impulsion sur la broche de largeur i => la luminosité B augmente
  delay(20); // pause de 20 ms entre chaque pas
  }
  digitalWrite (ledB,LOW); 
  for (i=0; i<=255;i++) // i varie de 1 à 255
  {
  analogWrite(ledR,i); // génère une impulsion sur la broche de largeur i => la luminosité R augmente
  analogWrite(ledG,i); // génère une impulsion sur la broche de largeur i => la luminosité G augmente
  analogWrite(ledB,i); // génère une impulsion sur la broche de largeur i => la luminosité B augmente
  delay(20); // pause de 20 ms entre chaque pas
  }
  digitalWrite (ledR,LOW);
  digitalWrite (ledG,LOW);
  digitalWrite (ledB,LOW);
}