Controlar un LED RGB con un microcontrolador Raspberry Pi
¿Qué es un LED RGB?
Un LED RGB es la combinación de tres LED de distintos colores en una misma carcasa. El término RGB hace referencia a los colores "rojo", "verde" y "azul". Los LED respectivos pueden controlarse mediante modulación por ancho de pulsos (PWM). Esto hace posibles multitud de combinaciones de colores.
Un LED RGB tiene cuatro patas, una para cada color y una común para los tres colores. Según la versión, la más larga de las cuatro patas es el ánodo común (+) o el cátodo (-). La única pata junto a esta más larga es la conexión para el componente rojo. Los componentes verde y azul se controlan mediante las patas del otro lado.
Qué tipo de LED RGB tienes, ánodo común o cátodo común, no es visible desde el exterior. Afortunadamente, no se puede dañar nada por ensayo y error. El LED RGB no se ilumina en la dirección de bloqueo. Importante: Los tres LEDs implementados también necesitan resistencias en serie. Si quieres hacerlo de forma académica, puedes calcular distintas resistencias en serie a partir de las respectivas tensiones de flujo. En aras de la simplicidad, también puedes utilizar las mismas resistencias entre 100 y 330 Ω (Ohm).
Versión a: "Cátodo común" - La pata más larga del LED es "-" y las tres patas más cortas se controlan en los GPIOs con "+" (tensión).
Versión b) "Ánodo común" - La pata más larga del LED es "+" y las tres patas más cortas se controlan con "-" (GND) en los GPIOs.
Mezclando los colores, se pueden crear muchos más colores. Por ejemplo, controlando los colores "azul" y "verde" se produce el color "turquesa", rojo y verde producen amarillo, rojo y azul producen magenta, y los tres colores con cantidades iguales producen blanco.
El esquema del circuito: LED RGB en la Raspberry Pi
El código del programa: LED RGB en la Raspberry Pi
Programa de ejemplo para un LED RGB con cátodo común:
from gpiozero import RGBLED
from tiempo import dormir
led = RGBLED(rojo=14, verde=15, azul=18)
duración = 2
# aumenta lentamente la intensidad de todos los colores (5seg)
para n en rango(100)
led.azul = n/100
led. rojo = n/100
led. verde = n/100
dormir(0.05)
led.color =(0, 0, 0) # apagado
dormir(duración)
led.rojo = 1 # rojo completo
dormir(duración)
led.rojo = 0 , 5 # mediorojo
dormir(duración)
led.color =(1, 1, 0) # amarillo
dormir(duración)
led. color =(0, 1, 0) # verde completo
dormir(duración)
color. led =(0, 1, 1) # cian
dormir(duración)
color. led =(0, 0, 1) # azulcompleto
dormir(duración)
color. led = (1, 0, 1) # magenta
dormir(duración)
led. color = (1, 1, 1) # blanco
dormir(duración)
color. led =(0, 0, 0) # apagado
dormir(duración)
Más adelante veremos cómo utilizar tres potenciómetros para ajustar los componentes de color. Sin embargo, para ello necesitamos un conversor analógico-digital externo, porque la Raspberry Pi sólo conoce las señales digitales: ALTO o BAJO.