Thinking about it a little more, maybe the better approach would be for you to do something like:
void loop()
{
do
{
R1 = random (2); //generate random value of 0 or 1
R2 = random (2);
R3 = random (2);
while (R1 == 0 && R2 == 0 && R3 == 0);
// === Red LED ===
if (R1 == 0)
{
digitalWrite(L1, LOW);
}
else
{
digitalWrite(L1, HIGH);
}
// === Blue LED ===
if (R2 == 0)
{
digitalWrite(L2, LOW);
}
else
{
digitalWrite(L2, HIGH);
}
// === Green LED ===
if (R3 == 0)
{
digitalWrite(L3, LOW);
}
else
{
digitalWrite(L3, HIGH);
}
// === Delay ===
//generate random delay time -between .25 and 1 second
D = random (250,1001);
delay(D);
}
This way your code never even makes the LED completely dark. It'd still be interesting to see why your previous code didn't work quite right, though.
- Ben