top of page

LA LED RGB

La led RGB (comme Red, Green et Blue) renferme dans le même boîtier trois led de couleur. Son fonctionnement et sa mise en oeuvre sont identiques à une led classique. Il faut cependant dimensionner les trois résistances de protection (Attention, pour les puristes, la tension de seuil n'est pas la même pour chaque couleur donc les résistances ne seront pas égales). Pour obtenir toutes les couleurs, il faut faire varier la luminosité de chaque led. Par exemple, pour obtenir la couleur blanche, il faut mélanger dans les mêmes proportions du rouge, du vert et du bleu.

Dans l'univers Arduino, la led RGB est principalement utilisée pour faire des effets lumineux.

Exemple :

Nous souhaitons faire varier la couleur d'une led RGB en faisant varier les rapports cycliques des signaux de commande de la façon suivante :

Liste du matériel :

  • 1 Arduino Uno

  • 1 plaquette d'essai

  • 1 led RGB

  • 3 résistances de 330 Ω

Câblage :​

Les leds doivent être reliées à des sorties PWM car nous devons faire varier le rapport cyclique de chaque signal de commande pour faire varier la luminosité de chaque led.

Programme :

/* Led_RGB est un programme qui fait varier l'intensité lumineuse dans une led RGB */


#define LED_R 3                 // affectation des broches
#define LED_G 5               
#define LED_B 6               


int red;
int green;
int blue;
int tempo=5;

void setup() 
{
pinMode(LED_R,OUTPUT) ;
pinMode(LED_G,OUTPUT) ;
pinMode(LED_B,OUTPUT) ;
}


void loop() 
{
 for (int i=0; i <= 255; i++)           // variation par pas de 1
 {
 analogWrite(LED_R, 255-i);      // le rouge diminue
 analogWrite(LED_G, i);              // le vert augmente
 analogWrite(LED_B, 0);             // le bleu est éteint
 delay(tempo);
 } 
 for (int i=0; i <= 255; i++)         // variation par pas de 1
 {
 analogWrite(LED_R, 0);           // le rouge est éteint
 analogWrite(LED_G, 255-i);    // le vert diminue
 analogWrite(LED_B, i);            // le bleu augmente
 delay(tempo);
 }
 for (int i=0; i <= 255; i++)        // variation par pas de 1
 {
 analogWrite(LED_R, i);            // le rouge augmente
 analogWrite(LED_G, 0);           // le vert est étaint
 analogWrite(LED_B, 255-i);    // le bleu diminue
 delay(tempo);
 }

bottom of page