ESP8266 - LED RVB

Ce tutoriel vous explique comment utiliser l'ESP8266 pour contrôler une LED RGB. En détail, nous allons apprendre :

Préparation du matériel

1×ESP8266 NodeMCU
1×Micro USB Cable
1×RGB LED
3×220 ohm resistor
1×Breadboard
1×Jumper Wires
1×(Optional) 5V Power Adapter for ESP8266
1×(Optional) ESP8266 Screw Terminal Adapter

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 produire n'importe quelle couleur en combinant les trois couleurs primaires que sont le rouge, le vert et le bleu. Elle est composée de trois LED distinctes (rouge, verte et bleue), mais toutes contenues dans un seul boîtier.

Brochage de la LED RVB

Une LED RGB possède quatre broches :

  • La broche commune (cathode) doit être reliée à GND (0V)
  • La broche R (rouge) est utilisée pour réguler le rouge
  • La broche G (verte) est utilisée pour réguler le vert
  • La broche B (bleue) est utilisée pour réguler le bleu
Brochage LED RVB

Pour faire fonctionner une LED RGB avec un ESP8266, nous devons ajouter des résistances limitatrices de courant. Cela peut rendre le câblage un peu compliqué. Mais hé, il y a une solution ! Nous pouvons utiliser un module LED RGB qui a déjà des résistances intégrées. Facile à faire !

Le module LED RGB inclut é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
Brochage du module LED RGB

※ NOTE THAT:

La broche commune qui peut être soit une cathode soit une anode peut varier en fonction du type de LED RGB. Ce tutoriel utilisera une broche de cathode commune.

Comment ça marche

Dans le domaine de la physique, trois valeurs de couleur composent une couleur : Rouge (R), Vert (G) et Bleu (B). Chaque valeur varie de 0 à 255. La combinaison des trois valeurs produit un total de 256 x 256 x 256 couleurs.

Nous pouvons régler la LED RVB sur n'importe quelle couleur désirée en utilisant l'ESP8266 pour générer des signaux MLI (allant de 0 à 255) vers les broches R, G et B. Le rapport cyclique des signaux MLI envoyés aux broches R, G et B est proportionnel aux valeurs de couleur de Rouge, Vert et Bleu respectivement.

Diagramme de câblage

  • Schéma de câblage entre ESP8266 et LED RGB
Schéma de câblage de la LED RVB ESP8266 NodeMCU

This image is created using Fritzing. Click to enlarge image

Voir plus dans l'agencement des broches de l'ESP8266 et comment alimenter l'ESP8266 et d'autres composants.

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

This image is created using Fritzing. Click to enlarge image

Comment contrôler une LED RGB

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

  • Tout d'abord, déterminez quelle couleur vous souhaitez afficher et obtenez son code couleur. Conseils :
  • Ensuite, convertissez le code couleur en valeurs R, G, B en utilisant l'outil de w3school. Prenez note de ces valeurs. Dans ce cas : R = 0, G = 151, B = 157
Sélecteur de couleur LED RVB
  • Spécifiez les broches ESP8266 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 = 7;
  • Définissez les broches suivantes de l'ESP8266 en mode sortie :
pinMode(PIN_RED, OUTPUT); pinMode(PIN_GREEN, OUTPUT); pinMode(PIN_BLUE, OUTPUT);
  • Contrôlez la LED pour émettre la couleur #00979D, qui est composée de Rouge = 0, Vert = 151 et Bleu = 157.
analogWrite(PIN_RED, 0); analogWrite(PIN_GREEN, 151); analogWrite(PIN_BLUE, 157);

ESP8266 - Exemple de Code pour LED RGB

Le code ESP8266 ci-dessous change la couleur de la LED dans une séquence de :

  • #00C9CC (Rouge = 0, Vert = 201, Bleu = 204)
  • #F7788A (Rouge = 247, Vert = 120, Bleu = 138)
  • #34A853 (Rouge = 52, Vert = 168, Bleu = 83)
/* * Ce code ESP8266 NodeMCU a été développé par newbiely.fr * Ce code ESP8266 NodeMCU 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/esp8266/esp8266-led-rgb */ const int PIN_RED = 5; const int PIN_GREEN = 6; const int PIN_BLUE = 7; 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 ESP8266 en créant une fonction :

/* * Ce code ESP8266 NodeMCU a été développé par newbiely.fr * Ce code ESP8266 NodeMCU 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/esp8266/esp8266-led-rgb */ const int PIN_RED = 5; const int PIN_GREEN = 6; const int PIN_BLUE = 7; 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); // gardez la couleur 1 seconde // code couleur #F7788A (R = 247, G = 120, B = 138) setColor(247, 120, 138); delay(1000); // gardez la couleur 1 seconde // code couleur #34A853 (R = 52, G = 168, B = 83) setColor(52, 168, 83); delay(1000); // gardez 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 RVB à anode commune, vous devez :

  • Connectez la broche commune à 3.3V de l'ESP8266.
  • Inversez les valeurs R, G et B dans la fonction analogWrite(), c'est-à-dire utilisez 255 - R, 255 - G et 255 - B, respectivement.

Une séquence de LED RVB connectées ensemble forme une bande LED RVB. Les bandes LED peuvent être divisées en bandes LED adressables et bandes LED non adressables. Nous allons créer des tutoriels pour les deux types de bandes LED.

※ NOTE THAT:

N'utilisez pas une seule résistance sur la broche commune d'une LED RVB au lieu de trois résistances sur les autres broches. Cela est dû au fait que, bien qu'en théorie il soit acceptable d'utiliser une seule résistance sur la broche commune, en réalité ce n'est pas le cas. Les LED dans un emballage RVB ne sont pas identiques, ce qui signifie que leurs résistances sont différentes. En conséquence, le courant est distribué de manière inégale à chaque LED, provoquant une luminosité inégale, ce qui peut entraîner la destruction d'une ou plusieurs des LED, et éventuellement des 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!