Arduino - LED RVB

Dans ce tutoriel, nous allons apprendre :

Préparation du matériel

1×Arduino Uno R3
1×Câble USB 2.0 type A/B (pour PC USB-A)
1×Câble USB 2.0 type C/B (pour PC USB-C)
1×RGB LED
1×Alternativement: Module LED RGB
1×Plaque d'essai
1×Fils de connexion
1×Optionnel: 9V Power Adapter for Arduino
1×Recommandé: Shield à bornier à vis pour Arduino Uno
1×Recommandé: Shield plaque d'essai pour Arduino Uno
1×Recommandé: Boîtier pour Arduino Uno
1×Recommandé: Kit plaque de base prototypage et plaque d'essai pour Arduino Uno

Ou vous pouvez acheter les kits suivants:

1×Kit de Démarrage DIYables STEM V3 (Arduino inclus)
1×Kit de Capteurs DIYables (30 capteurs/écrans)
1×Kit de Capteurs DIYables (18 capteurs/écrans)
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:

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

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

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

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'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:

É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.

※ NOS MESSAGES

  • N'hésitez pas à partager le lien de ce tutoriel. Cependant, veuillez ne pas utiliser notre contenu sur d'autres sites web. Nous avons investi beaucoup d'efforts et de temps pour créer ce contenu, veuillez respecter notre travail !