Arduino Nano - LED RVB

Ce tutoriel vous explique comment utiliser un Arduino Nano pour contrôler une LED RGB. Plus précisément, nous apprendrons :

Préparation du matériel

1×Arduino Nano
1×USB A to Mini-B USB cable
1×RGB LED
3×220 ohm resistor
1×Breadboard
1×Jumper Wires
1×(Optional) 9V Power Adapter for Arduino Nano
1×(Recommended) Screw Terminal Adapter for Arduino Nano

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 est capable de produire n'importe quelle couleur en combinant les trois couleurs primaires : rouge, vert et bleu. Elle est constituée de trois LED distinctes (rouge, verte ou bleue) qui sont logées dans un seul boîtier.

Brochage de la LED RVB

Une LED RVB possède quatre broches :

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

Pour faire fonctionner une LED RVB avec un Arduino Nano, nous devons avoir des résistances de limitation de courant. Cela peut devenir assez compliqué de tout câbler. Mais, heureusement, nous pouvons simplement utiliser ce module LED RVB RGB LED module qui a déjà ces résistances 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
Module LED RVB Brochage

※ NOTE THAT:

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

Comment ça fonctionne

En physique, une couleur est constituée de trois composants : Rouge (R), Vert (G) et Bleu (B). La plage de chaque valeur de couleur va de 0 à 255. La combinaison des trois valeurs crée un total de 256 x 256 x 256 couleurs.

Nous pouvons utiliser l'Arduino Nano pour créer n'importe quelle couleur désirée en fournissant des signaux PWM (avec un cycle de travail variant de 0 à 255) aux broches R, G et B d'une LED RGB.

Le rapport cyclique des signaux PWM envoyés aux broches R, G et B est proportionnel aux valeurs des couleurs Rouge (R), Vert (G) et Bleu (B) respectivement.

Diagramme de câblage

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

This image is created using Fritzing. Click to enlarge image

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

This image is created using Fritzing. Click to enlarge image

Comment contrôler une LED RGB

Apprenons comment contrôler la LED RGB pour obtenir 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. Notez ces valeurs. Dans ce cas : R = 0, G = 151, B = 157
Sélecteur de couleur LED RVB
  • Précisez les broches de l'Arduino Nano qui sont connectées aux broches R, G et B. Par exemple :
const int PIN_RED = 11; const int PIN_GREEN = 10; const int PIN_BLUE = 9;
  • Définissez les broches de l'Arduino Nano en mode sortie :
pinMode(PIN_RED, OUTPUT); pinMode(PIN_GREEN, OUTPUT); pinMode(PIN_BLUE, OUTPUT);
  • Contrôlez la LED pour qu'elle émette 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);

Arduino Nano - Exemple de Code pour LED RGB

Le code Arduino Nano ci-dessous change la couleur de la LED dans un ordre spécifique :

  • #00C9CC (Rouge = 0, Vert = 201, Bleu = 204)
  • #F7788A (Rouge = 247, Vert = 120, Bleu = 138)
  • #34A853 (Rouge = 52, Vert = 168, Bleu = 83)
/* * Ce code Arduino Nano a été développé par newbiely.fr * Ce code Arduino Nano 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-nano/arduino-nano-led-rgb */ const int PIN_RED = 11; const int PIN_GREEN = 10; 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 de l'Arduino Nano en créant une fonction :

/* * Ce code Arduino Nano a été développé par newbiely.fr * Ce code Arduino Nano 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-nano/arduino-nano-led-rgb */ const int PIN_RED = 11; const int PIN_GREEN = 10; 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 RVB avec anode commune, vous devez :

  • Connectez la broche commune au 3,3V de l'Arduino Nano.
  • Utilisez la fonction analogWrite() avec les valeurs R, G et B comme 255 moins la valeur souhaitée pour chaque couleur, respectivement.

Une séquence de LED RGB connectées ensemble constitue la bande LED RGB. 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 dans la broche commune d'une LED RGB au lieu de trois résistances dans les autres broches. C'est parce que, bien qu'en théorie il soit acceptable d'utiliser une seule résistance dans la broche commune, en réalité ce n'est pas le cas. Les LED dans un package RGB ne sont pas identiques, ce qui signifie que les résistances pour chaque LED seront différentes. Cela provoquera une distribution inégale du courant, résultant en différents niveaux de luminosité et pouvant endommager une ou plusieurs des LED, et finalement 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!