Paso 4: El código
/*
Basado en Adafruit Arduino - Lección 3. RGB LED
https://Learn.Adafruit.com/Adafruit-Arduino-Lesson-3-RGB-LEDs/Arduino-Sketch
Programa para variar colores en RGB LED usando sinewaves
Por Ray Houghton
No dude en utilizar este software o de la suciedad con
como usted por favor.
*/
redPin int = 11;
int greenPin = 10;
bluePin int = 9;
flotador t;
/ * Pines de salida para LEDs (son todas salidas PWM * /
descomentar esta línea si usa un LED de ánodo común
#define COMMON_ANODE
void setup()
{
pinMode (redPin, salida);
pinMode (greenPin, salida);
pinMode (bluePin, salida);
Set de pines para la salida
}
void loop()
{
para (t = 0; t < 1000; t = t + 0.001)
establece el elemento instantáneo tiempo de funciones seno.
{
/ * Funciones seno variar las salidas PWM son de la forma
desplazamiento + amplitud * pecado (2 * pi * F * t)
Donde desplazamiento asegura la onda senoidal no van menor que cero y
donde F es la frecuencia deseada
Nota: Rojo verde y azul son diferentes brillos con LEDs RGB,
para que offset y amplitud se ajustan para compensar.
*/
redsat int = 126 + 126*sin(2*3.141592654*0.03*t);
int greensat = 64 + 64*sin(2*3.141592654*0.027*t);
bluesat int = 32 + 32*sin(2*3.141592654*0.025*t);
Llamada función colores
Colores (redsat, greensat, bluesat);
Delay(1);
}
}
void colores (int rojo, int verde, int azul)
{
#ifdef COMMON_ANODE
rojo = 255 - rojo;
verde = 255 - verde;
azul = 255 - azul;
#endif
analogWrite (redPin, rojo);
analogWrite (greenPin, verde);
analogWrite (bluePin, azul);
}