Raspberry Pi - LED RVB

Ce didacticiel vous explique comment utiliser le Raspberry Pi pour contrôler une LED RVB. En détail, nous apprendrons :

Préparation du matériel

1×Raspberry Pi 4 Model B
1×RGB LED
3×220 ohm resistor
1×(Alternative) RGB LED Module
1×Breadboard
1×Jumper Wires
1×(Optional) Screw Terminal Block Shield for Raspberry Pi
1×(Optional) USB-C Power Cable with On/Off Switch for Raspberry Pi 4B
1×(Optional) Plastic Case and Cooling Fan for Raspberry Pi 4B
1×(Optional) HDMI Touch Screen Monitor for Raspberry Pi

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 de la DEL 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 et bleue) mais toutes contenues dans un seul boîtier.

Le brochage de la LED RVB

Une LED RVB a quatre broches :

  • Broche commune (Cathode-) qui doit être connectée à la masse (0V)
  • Broche R (rouge) pour contrôler le rouge
  • Broche G (vert) pour contrôler le vert
  • Broche B (bleu) pour contrôler le bleu
Brochage LED RVB

Si nous voulons connecter une LED RVB à un Raspberry Pi, nous devons utiliser des résistances de limitation de courant. Cela peut être un peu compliqué à câbler, mais ne vous inquiétez pas. Nous pouvons utiliser ce module LED RVB, qui a déjà des résistances intégrées.

Le module LED RVB comprend également quatre broches :

  • Broche commune (Cathode-): doit être connectée à la masse (0V)
  • R (rouge) : la broche est utilisée pour contrôler le rouge
  • V (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 RVB

※ Note:

Le type courant de broche pour une LED RGB peut varier ; il peut s'agir d'une cathode ou d'une anode. Ce tutoriel utilisera une broche cathode commune.

Comment ça marche

Dans le domaine de la physique, trois valeurs de couleur - Rouge (R), Vert (G) et Bleu (B) - sont combinées pour former une couleur. Chacune de ces valeurs a une plage de 0 à 255. La combinaison de ces trois valeurs produit un total de 256 x 256 x 256 couleurs.

Nous pouvons créer des affichages LED RVB de n'importe quelle couleur souhaitée en programmant un Raspberry Pi pour générer des signaux PWM (avec un cycle de service allant de 0 à 255) vers les broches R, G et B. Le cycle de service des signaux PWM envoyés aux broches R, G et B est proportionnel aux valeurs de couleur Rouge (R), Vert (G) et Bleu (B) respectivement.

Diagramme de câblage

  • Schéma de câblage entre Raspberry Pi et LED RVB
Schéma de câblage LED RVB Raspberry Pi

This image is created using Fritzing. Click to enlarge image

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

This image is created using Fritzing. Click to enlarge image

Pour simplifier et organiser votre câblage, nous vous recommandons d'utiliser un Screw Terminal Block Shield pour Raspberry Pi. Ce shield garantit des connexions plus sûres et plus faciles à gérer, comme illustré ci-dessous :

Raspberry Pi Screw Terminal Block Shield

Comment contrôler une LED RVB

Apprenons à contrôler la LED GRB 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 :
    • Vous pouvez utiliser le sélecteur de couleur pour sélectionner le code couleur que vous souhaitez
    • Si vous voulez utiliser une couleur d'une image, vous pouvez utiliser l'outil en ligne Couleurs d'une image
  • Ensuite, convertissez le code couleur en valeurs R, G, B en utilisant l'outil de w3school. Assurez-vous de noter ces valeurs. Dans ce cas : R = 0, G = 151, B = 157
Sélecteur de couleur LED RVB
  • Spécifiez les broches du Raspberry Pi qui sont connectées aux broches R, G et B. Par exemple :
LED_R_PIN = 13 LED_G_PIN = 12 LED_B_PIN = 18
  • Réglez les broches du Raspberry Pi en mode sortie :
GPIO.setmode(GPIO.BCM) GPIO.setup([LED_R_PIN, LED_G_PIN, LED_B_PIN], GPIO.OUT)
  • Configurer les broches du Raspberry Pi pour émettre un signal PWM avec une fréquence de 1000Hz :
RED = GPIO.PWM(LED_R_PIN, 1000) # Rouge GREEN = GPIO.PWM(LED_G_PIN, 1000) # Vert BLUE = GPIO.PWM(LED_B_PIN, 1000) # Bleu
  • Contrôler la LED pour allumer la couleur #00979D, qui correspond à R = 0, V = 151, B = 157.
RED.ChangeDutyCycle(_map(0, 0, 255, 0, 100)) GREEN.ChangeDutyCycle(_map(151, 0, 255, 0, 100)) BLUE.ChangeDutyCycle(_map(157, 0, 255, 0, 100))

Raspberry Pi - Exemple de code pour LED RVB

Le code Raspberry Pi ci-dessous change la couleur de la LED dans une séquence des nuances suivantes :

  • #00C9CC (Rouge = 0, Vert = 201, Bleu = 204)
  • #F7788A (Rouge = 247, Vert = 120, Bleu = 138)
  • #34A853 (Rouge = 52, Vert = 168, Bleu = 83)
# Ce code Raspberry Pi a été développé par newbiely.fr # Ce code Raspberry Pi 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/raspberry-pi/raspberry-pi-led-rgb import RPi.GPIO as GPIO from time import sleep LED_R_PIN = 13 LED_G_PIN = 12 LED_B_PIN = 18 GPIO.setmode(GPIO.BCM) GPIO.setup([LED_R_PIN, LED_G_PIN, LED_B_PIN],GPIO.OUT) RED = GPIO.PWM(LED_R_PIN, 1000) GREEN = GPIO.PWM(LED_G_PIN, 1000) BLUE = GPIO.PWM(LED_B_PIN, 1000) def _map(x, in_min, in_max, out_min, out_max): return int((x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min) RED.start(0) GREEN.start(0) BLUE.start(0) try: while True: # color code #00C9CC (R = 0, G = 201, B = 204) RED.ChangeDutyCycle(_map(0, 0, 255, 0, 100)) GREEN.ChangeDutyCycle(_map(201, 0, 255, 0, 100)) BLUE.ChangeDutyCycle(_map(204, 0, 255, 0, 100)) sleep(1) # color code #F7788A (R = 247, G = 120, B = 138) RED.ChangeDutyCycle(_map(247, 0, 255, 0, 100)) GREEN.ChangeDutyCycle(_map(120, 0, 255, 0, 100)) BLUE.ChangeDutyCycle(_map(138, 0, 255, 0, 100)) sleep(1) # color code #34A853 (R = 52, G = 168, B = 83) RED.ChangeDutyCycle(_map(52, 0, 255, 0, 100)) GREEN.ChangeDutyCycle(_map(168, 0, 255, 0, 100)) BLUE.ChangeDutyCycle(_map(83, 0, 255, 0, 100)) sleep(1) finally: RED.stop() GREEN.stop() BLUE.stop() GPIO.cleanup()

Lors de l'utilisation de nombreuses couleurs, nous pourrions raccourcir le code du Raspberry Pi en créant une fonction :

# Ce code Raspberry Pi a été développé par newbiely.fr # Ce code Raspberry Pi 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/raspberry-pi/raspberry-pi-led-rgb import RPi.GPIO as GPIO from time import sleep LED_R_PIN = 13 LED_G_PIN = 12 LED_B_PIN = 18 GPIO.setmode(GPIO.BCM) GPIO.setup([LED_R_PIN, LED_G_PIN, LED_B_PIN],GPIO.OUT) RED = GPIO.PWM(LED_R_PIN, 1000) GREEN = GPIO.PWM(LED_G_PIN, 1000) BLUE = GPIO.PWM(LED_B_PIN, 1000) def _map(x, in_min, in_max, out_min, out_max): return int((x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min) def setColor(r,g,b): RED.ChangeDutyCycle(_map(r, 0, 255, 0, 100)) GREEN.ChangeDutyCycle(_map(g, 0, 255, 0, 100)) BLUE.ChangeDutyCycle(_map(b, 0, 255, 0, 100)) RED.start(0) GREEN.start(0) BLUE.start(0) try: while True: # color code #00C9CC (R = 0, G = 201, B = 204) setColor(0, 201, 204); sleep(1) # color code #F7788A (R = 247, G = 120, B = 138) setColor(247, 120, 138); sleep(1) # color code #34A853 (R = 52, G = 168, B = 83) setColor(52, 168, 83); sleep(1) finally: RED.stop() GREEN.stop() BLUE.stop() GPIO.cleanup()

Connaissances supplémentaires

Pour une LED RVB avec une anode commune, vous devez :

  • Connectez la broche commune au 3,3 V d'un Raspberry Pi.
  • Utilisez la fonction analogWrite() et définissez les valeurs R, G et B sur 255 - R, 255 - G et 255 - B, respectivement.

Un ruban à LED RGB est composé d'une séquence de LED RGB connectées ensemble. Les bandes LED peuvent être divisées en variétés adressables et non-adressables. Nous réaliserons des tutoriels pour chaque type de bande LED.

※ Note:

N'utilisez pas une seule résistance sur la broche commune d'une LED RVB à la place de trois résistances sur les autres broches. Il est vrai que les trois LED dans un seul boîtier RVB sont en parallèle. En théorie, il est acceptable d'utiliser une seule résistance sur la broche commune. Cependant, en réalité, cela n'est pas recommandé. En effet, les LED du monde réel n'ont pas les mêmes caractéristiques. Les trois LED du boîtier RVB ne sont PAS identiques ⇒ Les résistances des LED sont différentes ⇒ Le courant n'est pas réparti uniformément sur chaque LED ⇒ La luminosité n'est pas uniforme et cela pourrait conduire à la destruction d'une LED, et finalement 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!