Piloter une LED RGB avec un microcontrôleur Raspberry Pi
Qu'est-ce qu'une LED RGB au juste ?
Une LED RGB est la réunion de trois LED de couleurs différentes dans un même boîtier. Derrière le terme RGB se cachent les couleurs "rouge", "vert" et "bleu". Les LED respectives peuvent être activées par modulation de largeur d'impulsion (PWM). Ainsi, une multitude de combinaisons de couleurs est possible.
Une LED RGB a quatre pattes, une pour chaque couleur et une commune pour les trois couleurs. La plus longue des quatre pattes est, selon la version, l'anode (+) ou la cathode (-) commune. La petite jambe à côté de la plus longue est la connexion pour la partie rouge. Les parties vertes et bleues sont commandées par les pattes situées de l'autre côté.
Le type de LED RGB que tu as, anode commune ou cathode commune, n'est pas reconnaissable à l'œil nu. Heureusement, tu ne peux rien endommager en essayant. La LED RGB ne s'allume pas dans le sens du blocage. Important : les trois LED implémentées ont également besoin de résistances. Si tu veux faire une étude académique, tu peux calculer différentes résistances à partir des tensions de flux respectives. Pour plus de simplicité, tu peux aussi prendre des résistances identiques entre 100 et 330 Ω (ohms).
Version a : "Common cathode" - la patte la plus longue de la LED est "-" et les trois pattes les plus courtes sont commandées sur les GPIO avec "+" (tension).
Version b) "Anode commune" - La plus longue patte de la LED est "+" et les trois pattes les plus courtes sont commandées par "-" (GND) sur les GPIO.
En mélangeant les couleurs, il est possible de créer de nombreuses autres couleurs. Par exemple, en activant les couleurs "bleu" et "vert", on obtient la couleur "turquoise", le rouge et le vert donnent le jaune, le rouge et le bleu donnent le magenta, et les trois couleurs avec la même proportion donnent le blanc.
Le schéma de câblage : LED RGB sur Raspberry Pi
Le code du programme : LED RGB sur Raspberry Pi
Exemple de programme pour une LED RGB avec une cathode commune :
from gpiozero import RGBLED
from time import sleep
led = RGBLED(red=14, green=15, blue=18)
durée = 2
# augmenter lentement l'intensité de toutes les couleurs (5sec)
for n in range(100) :
led.blue = n/100
led.red = n/100
led.green = n/100
sleep(0.05)
led.color =(0, 0, 0) # off
sleep(durée)
led.red = 1 # full red
sleep(durée)
led.red = 0.5 # moitié du rouge
sleep(durée)
led.color =(1, 1, 0) # jaune
sleep(duration)
led.color =(0, 1, 0) # full green
sleep(durée)
led.color =(0, 1, 1) # cyan
sleep(durée)
led.color =(0, 0, 1) # full blue
sleep(durée)
led.color =(1, 0, 1) # magenta
sleep(durée)
led.color =(1, 1, 1) # blanc
sleep(durée)
led.color =(0, 0, 0) # off
sleep(duration)
Plus tard, nous verrons comment définir les parts de couleur à l'aide de trois potentiomètres. Mais pour cela, nous avons besoin d'un convertisseur analogique-numérique externe, car le Raspberry Pi ne connaît que les signaux numériques - HIGH ou LOW.