// RGB and R, G, B LED demo
#define debug 1
#if debug == 1
#define debug(x) Serial.print(x);
#define debugln(x) Serial.println(x);
#else
#define debug(x)
#define debugln(x)
#endif
const int pinR = 3;
const int pinG = 5;
const int pinB = 6;
int teller = 0;
int i;
int rood, blauw, groen;
void setup() {
Serial.begin(115200);
pinMode(pinR, OUTPUT);
pinMode(pinG, OUTPUT);
pinMode(pinB, OUTPUT);
}
void loop() {
i = teller % 628; //628 is 2 x pi
rood = (sin((i + 000) / 100.0) + 1) * 128; // +1 = 1 verschuiven van de onderste lijn -1 naar 0
analogWrite(pinR, rood);
blauw = (sin((i + 209) / 100.0) + 1) * 128; // 209 = 1/3 van 628 (* 128 = verschuiven van de as)
analogWrite(pinG, blauw);
groen = (sin((i + 418) / 100.0) + 1) * 128; // 418 = 2/3 van 628
analogWrite(pinB, groen);
delay(10);
teller ++;
debug(" rood = ");
debug(rood);
debug(" blauw = ");
debug(blauw);
debug(" groen = ");
debugln(groen);
}