Een zakje RGB leds gekocht. Hardstikke leuk speelgoed. Een beetje spartaans maar werkende sketch vind je hier onder.
Elke kleur wordt getoond.
De langste poot is de min. Elke andere poot moet een weerstandje hebben.
voor 5 volt ca 500 ohm en 12 volt ca 1 k.ohm.

int wacht= 50;
// aansluiten op
int rood= 5;
int geel= 6;
int blauw= 9;

// felheid
int roodint;
int geelint;
int blauwint;

// omhoog of omlaag
int roodrichting;
int geelrichting;
int blauwrichting;


void setup()
{
Serial.begin(9600);
pinMode(rood, OUTPUT); // sets the pins as output
pinMode(geel, OUTPUT);
pinMode(blauw, OUTPUT);

roodint=1;
geelint=1;
blauwint=1;

roodrichting=0;
geelrichting=0;
blauwrichting=0;
}
void loop()
{
// eerst rood naar 255 R

for (roodint=1;roodint<127;roodint++){analogWrite(rood, roodint);Serial.print("Rood ");Serial.println(roodint);}
// daarna geel erbij R + G
delay(wacht);
for (geelint=1;geelint<127;geelint++){analogWrite(geel, geelint);Serial.print("geel ");Serial.println(geelint);}
// dan rood verwijderen G
delay(wacht);
for (roodint=127;roodint>1;roodint--){analogWrite(rood, roodint);Serial.print("Rood ");Serial.println(roodint);}
// daarna blauw erbij G + B
delay(wacht);
for (blauwint=1;blauwint<127;blauwint++){analogWrite(blauw, blauwint);Serial.print("blauw ");Serial.println(blauwint);}
// geel laten verdwijnen B
delay(wacht);
for (geelint=127;geelint>1;geelint--){analogWrite(geel, geelint);Serial.print("geel ");Serial.println(geelint);}
// nu weer rood er bij B + R
delay(wacht);
for (roodint=1;roodint<127;roodint++){analogWrite(rood, roodint);Serial.print("Rood ");Serial.println(roodint);}
// En dan de gele erbij B + R + G
delay(wacht);
for (geelint=1;geelint<127;geelint++){analogWrite(geel, geelint);Serial.print("geel ");Serial.println(geelint);}
// daarna alles uit
delay(wacht);
for (roodint=127;roodint>1;roodint--){geelint--;blauwint--;analogWrite(geel, geelint);analogWrite(rood, roodint);analogWrite(blauw, blauwint);}
delay(2000);
analogWrite(rood,255);
delay(2000);
analogWrite(geel,255);
delay(2000);
analogWrite(blauw,255);
delay(2000);
analogWrite(rood,0);
delay(2000);
analogWrite(geel,0);
delay(2000);
analogWrite(blauw,0);
analogWrite(geel,255);
delay(2000);
analogWrite(geel,0);

}