Comment fonctionnent les LED RVB ?

Rédigé par sazaki Aucun commentaire
Classé dans : Non classé Mots clés : aucun

Comment fonctionnent les LED RVB ?

Avec une LED RVB, vous pouvez produire presque toutes les couleurs. Comment est-ce possible avec une seule LED ? Dans cet article, vous apprendrez :

  • Fonctionnement des LED RVB
  • Contrôlez une LED RVB avec un Arduino

Comment fonctionnent les LED RVB ?

Une LED RVB est une combinaison de 3 LED dans un seul emballage :

  • 1x LED Red
  • 1x GLED verte
  • 1x BLED bleue

Vous pouvez produire presque n'importe quelle couleur en combinant ces trois couleurs. Une LED RVB est illustrée dans la figure suivante :

Comment créer différentes couleurs ?

Avec une LED RVB, vous pouvez bien sûr produire de la lumière rouge, verte et bleue, et en configurant l'intensité de chaque LED, vous pouvez également produire d'autres couleurs.

Par exemple, pour produire une lumière purement bleue, vous devez régler la LED bleue sur l'intensité la plus élevée et les LED verte et rouge sur l'intensité la plus faible. Pour une lumière blanche, vous régleriez les trois LED sur l'intensité la plus élevée.

Mélanger les couleurs

Pour produire d'autres couleurs, vous pouvez combiner les trois couleurs dans différentes intensités. Pour régler l'intensité de chaque LED, vous pouvez utiliser un signal PWM.

Parce que les LED sont très proches les unes des autres, nos yeux voient le résultat de la combinaison de couleurs, plutôt que les trois couleurs individuellement.

Pour avoir une idée sur la façon de combiner les couleurs, jetez un œil au tableau suivant. Il s'agit du tableau de mélange de couleurs le plus simple, mais il vous donne une idée de son fonctionnement et de la manière de produire différentes couleurs.

color mixing

LED RVB à anode commune et cathode commune

Il existe deux types de LED RVB : les LED à anode commune et les LED à cathode commune. La figure ci-dessous illustre une anode commune et une LED à cathode commune.

rgb led

Dans une LED RVB à cathode commune, les trois LED partagent une connexion négative (cathode). Dans une LED RVB à anode commune, les trois LED partagent une connexion positive (anode).

Il en résulte une LED qui a 4 broches, une pour chaque LED, et une cathode commune ou une anode commune.

Broches LED RVB

Les LED RVB ont quatre fils : un pour chaque LED et un autre pour l'anode ou la cathode commune. Vous pouvez identifier chaque dérivation par sa longueur, comme illustré dans la figure suivante.

rgb led pin

Avec la LED face à vous de sorte que l'anode ou la cathode (le fil le plus long) soit la deuxième à partir de la gauche, les fils doivent être dans l'ordre suivant : rouge, anode ou cathode, vert et bleu.

Distinguer l'anode commune de la LED RVB et la cathode commune

La meilleure façon de distinguer les LED RVB à cathode commune et à anode commune consiste à utiliser un multimètre.

Mettez votre multimètre en mode continuité.

Placez la pointe rouge du multimètre sur le câble LED le plus long. Ensuite, placez la pointe noire sur l'un des autres fils.

Si la LED s'allume, cela signifie que vous avez une LED d'anode commune.

identifier l'anode commune rgb led

D'autre part, si vous avez une LED RVB à cathode commune, vous devez placer la pointe noire sur le fil le plus long et la pointe rouge sur l'un des autres fils (voir la figure ci-dessous).

identifier la led RVB à cathode commune

Donc, pour faire la distinction entre les LED RVB à cathode commune et à anode commune :

  • Utiliser un multimètre en mode continuité
  • Si la LED s'allume avec la pointe rouge sur le fil le plus long et la pointe noire sur l'un des autres fils, vous avez une LED RVB à anode commune
  • Si la LED s'allume avec la pointe noire sur le fil le plus long et la pointe rouge sur l'un des autres fils, vous avez une LED RVB à cathode commune.

Contrôlez une LED RVB avec l'Arduino

Dans cet exemple, nous vous montrons comment contrôler la couleur d'une LED RVB à l'aide d'un Arduino.

Le projet que nous allons construire utilise trois potentiomètres pour contrôler l'intensité lumineuse de chaque broche (LED) de la LED RVB pour produire la couleur que vous voulez.

DSC08404

Pièces requises

Pour cet exemple, vous avez besoin des pièces suivantes :

Remarque : nous utiliserons une LED d'anode commune pour ce projet, mais si vous avez déjà une LED de cathode commune, vous pouvez l'utiliser ; faites juste attention aux différences notées dans le câblage et le code du circuit.

  • Arduino UNO
  • Anode commune LED RVB
  • 3 × Trimpot 1k Ω
  • Breadboard 
  • 3 × Résistance 220 Ω
  • Câbles cavaliers

DSC08413

Schéma

Suivez le diagramme schématique suivant pour câbler le circuit :

rgb led_potentiometer

Important: si vous utilisez une LED RVB à cathode commune, vous devez connecter le câble le plus long à GND au lieu de 5 V.

Code

Téléchargez le sketch suivant sur votre carte Arduino :

/*
 
Toutes les ressources pour ce projet:

 
*/

int redPin = 3;     // Red RGB pin -> D3
int greenPin = 5;   // Green RGB pin -> D5
int bluePin = 6;    // Blue RGB pin -> D6

int potRed = A0;     // Potentiometer controls Red pin -> A0
int potGreen = A1;   // Potentiometer controls Green pin -> A1
int potBlue = A2;    // Potentiometer controls Blue pin -> A2

void setup() {
  pinMode(redPin,OUTPUT);
  pinMode(bluePin,OUTPUT);
  pinMode(greenPin, OUTPUT);
  
  pinMode(potRed, INPUT); 
  pinMode(potGreen, INPUT); 
  pinMode(potBlue, INPUT); 
}
loop() {
   // Lit la position actuelle du potentiomètre et convertit
   // à une valeur entre 0 et 255 pour contrôler la broche RVB correspondante avec PWM
   // ANODE COMMUNE LED RVB
   analogWrite(redPin, 255-(255./1023.)*analogRead(potRed));
   analogWrite(greenPin, 255-(255./1023.)*analogRead(potGreen));
   analogWrite(bluePin, 255-(255./1023.)*analogRead(potBlue));
 
   // Décommenter pour RGB LED COMMON CATHODE
   /*
   analogWrite(redPin, (255./1023.)*analogRead(potRed));
   analogWrite(greenPin, (255./1023.)*analogRead(potGreen));
   analogWrite(bluePin, (255./1023.)*analogRead(potBlue));
   */
  
   retard(10);
}

Important : si vous utilisez une cathode commune LED RVB, vous devez commenter et décommenter du code dans loop()

Fonctionnement du code

Le code pour contrôler une LED RVB est très simple. Dans notre croquis, nous commençons par définir trois variables entières appelées redPin, greenPin et bluePin qui fait référence aux broches auxquelles les fils LED sont connectés :

int redPin = 3 ; // Broche RVB rouge -> D3
int greenPin = 5 ; // Broche RVB verte -> D5
int bluePin = 6; // Broche RVB bleue -> D6

Ensuite, nous déclarons également des variables pour faire référence aux potentiomètres. Le potRed contrôlera le fil rouge, et ainsi de suite.

int potRed = A0 ; // Le potentiomètre contrôle la broche rouge -> A0
int potVert = A1; // Le potentiomètre contrôle la broche verte -> A1
int potBleu = A2 ; // Le potentiomètre contrôle la broche bleue -> A2

Les potentiomètres doivent être connectés aux broches analogiques Arduino, car nous voulons lire une valeur analogique à partir des pots.

Dans la fonction setup(), vous définissez les broches LED comme sorties :

pinMode(redPin, OUTPUT);
pinMode(bluePin, OUTPUT);
pinMode(greenPin, OUTPUT);

Et les potentiomètres en entrée :

pinMode(potRed, INPUT);
pinMode(potGreen, INPUT);
pinMode(potBlue, INPUT);

Dans la loop(), nous lisons la valeur des potentiomètres et contrôlons chaque LED de la LED RVB en conséquence.

Pour lire la valeur d'un potentiomètre, nous devons utiliser la fonction analogRead(). Par exemple, pour lire la valeur de potRed :

analogRead(potRed)

La fonction analogRead() renvoie une valeur comprise entre 0 et 1023.

Pour envoyer un signal PWM aux LED, nous utilisons la fonction analogWrite(). La fonction analogWrite() accepte comme arguments la broche que nous voulons contrôler et une valeur comprise entre 0 et 255, où 0 correspond à une luminosité nulle et 255 à une luminosité maximale. Cependant, une LED RVB à anode commune fonctionne dans l'autre sens. L'envoi de 0 règle la LED sur la luminosité maximale et 255 sur la luminosité la plus faible (éteint). Nous devons donc soustraire le résultat à 255.

Parce que nous lisons une valeur entre 0 et 1023, et que nous devons sortir une valeur entre 0 et 255, nous devons multiplier la valeur lue par (255/1023).

analogWrite(redPin,255-(255./1023.)*analogRead(potRed));
analogWrite(greenPin,255-(255./1023.)*analogRead(potGreen));
analogWrite(bluePin,255-(255./1023.)*analogRead(potBlue));

Pour contrôler la LED RVB à cathode commune, commentez les lignes précédentes et décommentez les suivantes.

analogWrite(redPin,(255./1023.)*analogRead(potRed));
analogWrite(greenPin,(255./1023.)*analogRead(potGreen));
analogWrite(bluePin,(255./1023.)*analogRead(potBlue));

L'envoi de 255 définit les LED sur la luminosité maximale et 0 sur la luminosité la plus faible.

Conclusion

En résumé :

  • une LED RVB est une combinaison de trois LED dans un seul boîtier : rouge, vert et bleu ;
  • il existe deux types de LED RVB : les LED RVB à cathode commune et à anode commune ;
  • vous générez différentes couleurs en ajustant la luminosité de chacune des trois LED de la LED RVB ;
  • pour régler la luminosité de chaque LED, vous utilisez un signal PWM.

Rendez-vous sur notre site pour des blogs aussi intéressants les uns que les autres!

Écrire un commentaire

Quelle est le deuxième caractère du mot srujvm5f ?