LED RGB

Les LED RGB (Red – Green – Blue) sont des LED polychromatiques : elles permettent de proposer une vaste gamme de couleurs.

On les nomme RGB car elles disposent de 3 connecteurs (en plus de la masse), un pour chaque couleur primaire : le rouge, le vert et le bleu.

Câblage

Pour connecter une LED RGB à l’Arduino, il faut donc procéder comme si on avait 3 LEDs :

Remarque : pour pouvoir obtenir des niveaux de couleur variables, il faudra utiliser le mode « sortie analogique PWM » des ports numériques, et par conséquent, utiliser des ports qui en sont capables, c’est à dire ceux qui ont le symbole « ~ ».

Programmation

Initialisation

int redpin = 9;
int bluepin =10;
int greenpin = 11;

void setup() {
  pinMode(redpin, OUTPUT);
  pinMode(bluepin, OUTPUT);
  pinMode(greenpin, OUTPUT);
}

Mode binaire

En mode binaire, pour allumer/éteindre une couleur, il faut utiliser la fonction digitalWrite()  :

digitalWrite(redpin, HIGH); // allumage de la couleur rouge
digitalWrite(redpin, LOW);  // extinction de la couleur rouge

 

Mode analogique

En mode analogique, on utilisera la fonction analogWrite()  :

analogWrite(redpin, 127); // allumage de la couleur rouge à 50% (127 étant la moitié de 255)

 

 

Allumer les différentes couleurs primaires

Pour allumer tour à tour les 3 couleurs primaires de la LED, il suffit de passer le port numérique de cette couleur à l’état HAUT, et les ports des autres couleurs à l’état BAS :

void loop() {
  digitalWrite(redpin, HIGH);
  digitalWrite(bluepin, LOW);
  digitalWrite(greenpin, LOW);
  delay(1000);
  digitalWrite(redpin, LOW);
  digitalWrite(bluepin, HIGH);
  digitalWrite(greenpin, LOW);
  delay(1000);
  digitalWrite(redpin, LOW);
  digitalWrite(bluepin, LOW);
  digitalWrite(greenpin, HIGH);
  delay(1000);
}

 

Faire varier l’intensité d’une couleur

Pour faire varier l’intensité d’une couleur, il faut utiliser une boucle for afin de faire passer l’intensité de la couleur par toutes les valeurs de 0 à 255 :

  for (int r = 0; r < 256; r++) {
  analogWrite(greenpin, r);
  delay(10);
  }

 

Modifier le programme précédent pour que l’intensité diminue après avoir augmenté.

Modifier le programme pour que la LED changer de couleur progressivement selon le cercle chromatique :

 

 

Vous aimerez aussi...

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *