El Led RGB no son mas que 3 leds juntos , normalmente de alta luminosidad que tienen el ánodo o el cátodo común (normalmente comparten la masa). EL efecto es que se puede reproducir cualquier color, pero la verdad es que el rojo brilla bastante menos (al menos en este que yo he probado ), por lo que los colores son siembre verde-azulados.
Ejemplo con variación de colores
El programa y esquema es de http://arduino-guay.blogspot.com.es/2012/08/led-rainbow-con-arduino.html
/*
* RGB Rainbow
* Ejemplo de como hacer un led 'Rainbow' con un led RGB de
* ánodo común Se utilizan tres salidas con la instrucción
* 'analogWrite' que produce una salida PWM para controlar
* el brillo de cada led.
*/
// Retardo que determina la velocidad de la transicion entre
// colores
#define RETARDO 10
#define MAXBRILLO 50
// Salidas para cada color (tiene que permitir PWM).
int rojo = 6 ;
int verde = 5;
int azul = 3;
/*
* Funcion para variar el valor de PWM
* Para dir =1 aumenta para dir = -1 disminuye
*/
void fade(int pin, int dir)
{
if ( dir != 1 )
{
for (int i = MAXBRILLO; i >= 0; i--)
{
analogWrite(pin, i);
delay(RETARDO);
}
}
else
{
for (int i = 0; i <= MAXBRILLO; i++)
{
analogWrite(pin, i);
delay(RETARDO);
}
}
}
/*
* Ponemos los pines como salidas , y
*/
void setup()
{
pinMode(rojo, OUTPUT);
pinMode(verde, OUTPUT);
pinMode(azul, OUTPUT);
//Partimos del amarillo
analogWrite(rojo, MAXBRILLO);
analogWrite(verde, MAXBRILLO);
analogWrite(azul, 0);
}
/*
* Vamos cambiando los tres colores de modo que se produce
* Un paso por todos los colores RGB y sus mezclas 2 a 2
*/
void loop()
{
fade(verde,-1); // amarillo -> rojo
fade(azul,1); // rojo -> violeta
fade(rojo,-1); // violeta -> azul
fade(verde,1); // azul -> cian
fade(azul,-1); // cian -> verde
fade(rojo,1); // verde -> amarillo
}
No hay comentarios:
Publicar un comentario