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