Arduino - LED RVB

Dans ce tutoriel, nous allons apprendre :

Préparation du matériel

1×Arduino Uno
1×USB 2.0 cable type A/B
1×RGB LED
1×(Alternative) RGB LED Module
1×Breadboard
1×Jumper Wires
1×(Optional) 9V Power Adapter for Arduino
1×(Recommended) Screw Terminal Block Shield for Arduino Uno
1×(Optional) Transparent Acrylic Enclosure For Arduino Uno

Or you can buy the following sensor kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.

À propos des LED RVB

La LED RVB peut émettre n'importe quelle couleur en mélangeant les 3 couleurs de base que sont le rouge, le vert et le bleu. En réalité, elle est composée de 3 LEDs distinctes - rouge, verte et bleue - regroupées dans un seul boîtier.

Brochage

La LED RVB inclut quatre broches :

  • Broche commune (cathode-) : doit être connectée à GND (0V)
  • R (rouge) : la broche est utilisée pour contrôler le rouge
  • G (vert) : la broche est utilisée pour contrôler le vert
  • B (bleu) : la broche est utilisée pour contrôler le bleu
Brochage LED RVB

Pour connecter une LED RGB à Arduino, nous devons utiliser des résistances de limitation de courant. Cela peut rendre le câblage complexe. Heureusement, nous pouvons utiliser le module LED RGB, qui possède déjà des résistances de limitation de courant intégrées.

Le module LED RVB comprend également quatre broches :

  • Broche commune (cathode-) : doit être connectée à GND (0V)
  • R (rouge) : la broche est utilisée pour contrôler le rouge
  • G (vert) : la broche est utilisée pour contrôler le vert
  • B (bleu) : la broche est utilisée pour contrôler le bleu
Schéma des broches du module LED RVB

※ NOTE THAT:

La broche commune peut être une cathode ou une anode, selon le type de LED RGB. Ce tutoriel utilise une à cathode commune.

Comment ça fonctionne

Dans la nature de la physique, une couleur est composée de trois valeurs de couleur : Rouge (R), Vert (G) et Bleu (B). Chaque valeur de couleur varie de 0 à 255.

Le mélange de trois valeurs crée au total 256 x 256 x 256 couleurs.

Si nous fournissons des signaux PWM (avec un rapport cyclique de 0 à 255) aux broches R, G, B, nous pouvons faire afficher n'importe quelle couleur par les LED RGB.

Le cycle de travail des signaux PWM vers les broches R, G et B correspond aux valeurs de couleur Rouge (R), Vert (G) et Bleu (B).

Diagramme de câblage

  • Schéma de câblage entre Arduino et LED RGB
Schéma de câblage de la LED RGB Arduino

This image is created using Fritzing. Click to enlarge image

  • Schéma de câblage entre Arduino et module LED RVB
Schéma de câblage du module LED RVB Arduino

This image is created using Fritzing. Click to enlarge image

Comment contrôler une LED RGB

Apprenons étape par étape comment contrôler la LED GRB pour afficher n'importe quelle couleur, par exemple #00979D :

  • Déterminez quelle couleur vous souhaitez afficher, obtenez son code couleur. Conseils :
  • Convertissez le code couleur en valeurs R, G, B en utilisant l'outil de w3school. Notez ces valeurs. dans ce cas : R = 0, G = 151, B = 157
Sélecteur de couleur RVB LED
  • Définissez les broches Arduino qui se connectent aux broches R, G et B. Par exemple :
const int PIN_RED = 5; const int PIN_GREEN = 6; const int PIN_BLUE = 9;
  • Configurez ces broches Arduino en mode sortie.
pinMode(PIN_RED, OUTPUT); pinMode(PIN_GREEN, OUTPUT); pinMode(PIN_BLUE, OUTPUT);
  • Contrôlez la LED pour émettre cette couleur (#00979D → R = 0, G = 151, B = 157)
analogWrite(PIN_RED, 0); analogWrite(PIN_GREEN, 151); analogWrite(PIN_BLUE, 157);

Arduino - Exemple de code pour LED RVB

Le code ci-dessous change la couleur de la LED parmi les couleurs suivantes en séquence :

  • #00C9CC (R = 0, G = 201, B = 204)
  • #F7788A (R = 247, G = 120, B = 138)
  • #34A853 (R = 52, G = 168, B = 83)
/* * Ce code Arduino a été développé par newbiely.fr * Ce code Arduino est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/arduino/arduino-rgb-led */ const int PIN_RED = 5; const int PIN_GREEN = 6; const int PIN_BLUE = 9; void setup() { pinMode(PIN_RED, OUTPUT); pinMode(PIN_GREEN, OUTPUT); pinMode(PIN_BLUE, OUTPUT); } void loop() { // code couleur #00C9CC (R = 0, G = 201, B = 204) analogWrite(PIN_RED, 0); analogWrite(PIN_GREEN, 201); analogWrite(PIN_BLUE, 204); delay(1000); // maintenir la couleur pendant 1 seconde // code couleur #F7788A (R = 247, G = 120, B = 138) analogWrite(PIN_RED, 247); analogWrite(PIN_GREEN, 120); analogWrite(PIN_BLUE, 138); delay(1000); // maintenir la couleur pendant 1 seconde // code couleur #34A853 (R = 52, G = 168, B = 83) analogWrite(PIN_RED, 52); analogWrite(PIN_GREEN, 168); analogWrite(PIN_BLUE, 83); delay(1000); // maintenir la couleur pendant 1 seconde }

Lorsque nous utilisons de nombreuses couleurs, nous pourrions raccourcir le code en créant une fonction :

/* * Ce code Arduino a été développé par newbiely.fr * Ce code Arduino est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/arduino/arduino-rgb-led */ const int PIN_RED = 5; const int PIN_GREEN = 6; const int PIN_BLUE = 9; void setup() { pinMode(PIN_RED, OUTPUT); pinMode(PIN_GREEN, OUTPUT); pinMode(PIN_BLUE, OUTPUT); } void loop() { // code couleur #00C9CC (R = 0, G = 201, B = 204) setColor(0, 201, 204); delay(1000); // maintenir la couleur 1 seconde // code couleur #F7788A (R = 247, G = 120, B = 138) setColor(247, 120, 138); delay(1000); // maintenir la couleur 1 seconde // code couleur #34A853 (R = 52, G = 168, B = 83) setColor(52, 168, 83); delay(1000); // maintenir la couleur 1 seconde } void setColor(int R, int G, int B) { analogWrite(PIN_RED, R); analogWrite(PIN_GREEN, G); analogWrite(PIN_BLUE, B); }

Connaissances supplémentaires

  • Pour une LED RGB avec anode commune, vous devez :
    • Connecter la broche commune à 3,3V de l'Arduino.
    • Modifier les valeurs R, G et B dans la fonction analogWrite() en 255 - R, 255 - G et 255 - B, respectivement.
  • Une séquence de LED RCB connectées ensemble crée la bande LED RGB. La bande LED peut être catégorisée en bande LED adressable et bande LED non adressable. Nous allons réaliser des tutoriels pour chaque type de bande LED.

※ NOTE THAT:

Évitez d'utiliser une seule résistance sur la broche commune de la LED RGB au lieu de trois résistances sur les autres broches. Comme nous le savons, les trois LED dans un seul package RGB sont en parallèle. Dans des conditions idéales, il est acceptable d'utiliser une seule résistance sur la broche commune. Cependant, en pratique, ne l'utilisez pas. Cela est dû au fait que les LED du monde réel n'ont pas les mêmes caractéristiques. Les trois LED dans le package RGB NE sont PAS identiques ⇒ Les résistances des LED sont différentes ⇒ Le courant est distribué de manière inégale à chaque LED ⇒ La luminosité n'est pas la même et cela peut détruire une LED, puis détruire les autres LED.

※ OUR MESSAGES

  • Please feel free to share the link of this tutorial. However, Please do not use our content on any other websites. We invested a lot of effort and time to create the content, please respect our work!