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 5
1×RGB LED
3×220 ohm Resistor
1×Alternativement: Module LED RGB
1×Plaque d'essai
1×Fils de connexion
1×Recommandé: Shield à bornier à vis pour Raspberry Pi
1×Recommandé: Kit plaque de base prototypage et plaque d'essai pour Raspberry Pi
1×Recommandé: Écran tactile HDMI pour Raspberry Pi

Ou vous pouvez acheter les kits suivants:

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

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

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

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

Pour simplifier et organiser votre montage de câblage, nous recommandons l'utilisation d'un shield à bornier à vis pour Raspberry Pi. Ce shield assure des connexions plus sûres et mieux gérées, comme illustré ci-dessous :

Shield à bornier à vis pour Raspberry Pi

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.

※ 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 !