// RGB and R, G, B LED demo
#include <LibPrintf.h>
#define debug 1
#if debug == 1
#define debug(...) printf(__VA_ARGS__);
#else
#define debug(...)
#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 = %i blauw = %i groen = %i\n",rood,blauw,groen);
}