Unexpected behavior ? what am I missing?
good day,
i posting here because stumped.
i have created sketch generates random, 0 or 1. if 1, light red led. if 0, turn off red led. do green , blue led well.
then delay random amount of time, between .25 , 1 second.
but, here confused. towards end of sketch, checks if random numbers 0, if true set delay variable 0, no delay.
i want check done, there @ least 1 color of led lit.
but once while, led dark.
any ideas on missing?
thanks in advance help.
dave
here code
===========
/*
* random rgb
*
*
*/
int l1 = 9; // red led connected pin 9
int l2 = 10; // blue led connected pin 10
int l3 = 11; // green led connected pin 11
int r1 = 0; // random number 1
int r2 = 0; // random number 2
int r3 = 0; // random number 3
int d = 0; // delay value
void setup() // run once, when program starts
{
pinmode(l1, output); // sets digital pin output
pinmode(l2, output); // sets digital pin output
pinmode(l3, output); // sets digital pin output
randomseed (analogread (0)); // random seed
}
void loop()
{
//generate random delay time -between .25 , 1 second
d = random (250,1001);
// === red led ===
r1 = random (2); //generate random value of 0 or 1
if (r1 == 1) // if 1, led on, if 0 led off
{
digitalwrite(l1, high);
}
if (r1 == 0)
{
digitalwrite(l1, low);
}
// === blue led ===
r2 = random (2); // generate random value of 0 or 1
if (r2 == 1) // if 1 led on, if 0 led off
{
digitalwrite(l2, high); // led on
}
if (r1 == 0)
{
digitalwrite(l2, low); // led off
}
// === green led ===
r3 = random (2); // generate random value of 0 or 1
if (r3 == 1) // if 1 led on, if 0 led off
{
digitalwrite(l3, high); // led on
}
if (r1 == 0)
{
digitalwrite(l3, low); // led off
}
// check if random numbers 0
// if true, set delay 0
if (r1 == 0 && r2 == 0 && r3 == 0)
{
d = 0;
}
// === delay ===
delay(d);
}
i posting here because stumped.
i have created sketch generates random, 0 or 1. if 1, light red led. if 0, turn off red led. do green , blue led well.
then delay random amount of time, between .25 , 1 second.
but, here confused. towards end of sketch, checks if random numbers 0, if true set delay variable 0, no delay.
i want check done, there @ least 1 color of led lit.
but once while, led dark.
any ideas on missing?
thanks in advance help.
dave
here code
===========
/*
* random rgb
*
*
*/
int l1 = 9; // red led connected pin 9
int l2 = 10; // blue led connected pin 10
int l3 = 11; // green led connected pin 11
int r1 = 0; // random number 1
int r2 = 0; // random number 2
int r3 = 0; // random number 3
int d = 0; // delay value
void setup() // run once, when program starts
{
pinmode(l1, output); // sets digital pin output
pinmode(l2, output); // sets digital pin output
pinmode(l3, output); // sets digital pin output
randomseed (analogread (0)); // random seed
}
void loop()
{
//generate random delay time -between .25 , 1 second
d = random (250,1001);
// === red led ===
r1 = random (2); //generate random value of 0 or 1
if (r1 == 1) // if 1, led on, if 0 led off
{
digitalwrite(l1, high);
}
if (r1 == 0)
{
digitalwrite(l1, low);
}
// === blue led ===
r2 = random (2); // generate random value of 0 or 1
if (r2 == 1) // if 1 led on, if 0 led off
{
digitalwrite(l2, high); // led on
}
if (r1 == 0)
{
digitalwrite(l2, low); // led off
}
// === green led ===
r3 = random (2); // generate random value of 0 or 1
if (r3 == 1) // if 1 led on, if 0 led off
{
digitalwrite(l3, high); // led on
}
if (r1 == 0)
{
digitalwrite(l3, low); // led off
}
// check if random numbers 0
// if true, set delay 0
if (r1 == 0 && r2 == 0 && r3 == 0)
{
d = 0;
}
// === delay ===
delay(d);
}
do still experience problem if change end of loop() like:
i don't know how arduino delay function works, in libraries (e.g. <util/delay.h>) delay(0) equivalent delaying maximum amount of time function can achieve.
- ben
code: [select]
// check if random numbers 0
// if true, set delay 0
if (!(r1 == 0 && r2 == 0 && r3 == 0))
delay(d);
i don't know how arduino delay function works, in libraries (e.g. <util/delay.h>) delay(0) equivalent delaying maximum amount of time function can achieve.
- ben
Arduino Forum > Forum 2005-2010 (read only) > Software > Syntax & Programs > Unexpected behavior ? what am I missing?
arduino
Comments
Post a Comment