Módulo – LED RGB
LOS DIODOS RGB
Hasta ahora hemos usado varias combinaciones de LEDS, pero siempre de un color definido.
Habitualmente los rojos y amarillos son los más fáciles de conseguir, pero se pueden comprar también
en tonos azules, verdes y hasta blancos. No suele haber grandes diferencias entre ellos excepto en el
color.
Pero a veces es interesante disponer de una luz piloto que cambie de color según las condiciones. Por
ejemplo, todos identificamos el verde como una señal de OK,
mientras que el rojo indica problemas y el amarillo… bueno pues
algo intermedio.
Poner varios diodos para hacer esto es engorroso y complica el
diseño, así que estaría bien disponer de un diodo al que podamos
indicar que color queremos que muestre. Esto es un LED RGB.
Para quien este acostumbrado al diseño por ordenador ya está
familiarizado con la idea de que podemos generar cualquier color
en la pantalla con la mezcla, en diferentes grados de tres colores
básicos:
Red : Rojo
Green: Verde
Blue: Azul
Es decir RGB, uno de esos acrónimos que surgen continuamente en imagen, TV, etc.
Un LED RGB es en realidad la unión de tres
LEDs de los colores básicos, en un
encapsulado común, compartiendo el Ground
(cátodo es otro nombre más para el negativo).
En función de la tensión que pongamos en
cada pin podemos conseguir la mezcla de
color que deseemos con relativa sencillez
Conexión Eléctrica Conexión al Arduino
ÁNODO COMÚN
CÓDIGO DE EJEMPLO
#define RGB_GREEN 3
#define RGB_BLUE 5
#define RGB_RED 6
#define espera 300
void setup() {
pinMode (RGB_RED, OUTPUT);
pinMode (RGB_GREEN, OUTPUT);
pinMode (RGB_BLUE, OUTPUT);
}
void loop() {
digitalWrite(RGB_GREEN, HIGH);
digitalWrite(RGB_BLUE, LOW);
digitalWrite(RGB_RED, LOW);
delay (espera);
digitalWrite(RGB_GREEN, LOW);
digitalWrite(RGB_BLUE, HIGH);
digitalWrite(RGB_RED, LOW);
delay (espera);
digitalWrite(RGB_GREEN, LOW);
digitalWrite(RGB_BLUE, LOW);
digitalWrite(RGB_RED, HIGH);
delay(espera);
}
CÓDIGO DE EJEMPLO
#define RGB_GREEN 3
#define RGB_BLUE 5
#define RGB_RED 6
#define espera 300
void setup() {
pinMode (RGB_RED, OUTPUT);
pinMode (RGB_GREEN, OUTPUT);
pinMode (RGB_BLUE, OUTPUT);
}
void loop() {
analogWrite(RGB_GREEN, 1);
analogWrite(RGB_BLUE, 200);
analogWrite(RGB_RED, 200);
delay(500);
analogWrite(RGB_GREEN, 0);
analogWrite(RGB_BLUE, 0);
analogWrite(RGB_RED, 0);
delay(500);
PRACTICA.
• Hacer la programación de un semáforo con el led RGB
• Hacer un juego de luces con el led RGB