We already have a working product
We have started a new project, and are admittedly quite stuck.
Not to be nit picky , but when you read the above statements , don't they seem to contradict each other ?
Either the product is working or it is not . (admittedly the issues you are have sound trivial but nevertheless they are issues)
How can you in the same sentence say the product is working and that your are stuck ?
Which is it ?
I added some extra leds and made some changes:
int startup_led1 = 2;
int startup_led2 = 3;
int startup_led3 = 4;
int startup_led4 = 5;
int startup_led5 = 6;
int startup_led6 = 7;
int special_led7 = 8;
int special_led8 = 9;
int special_led1 = 10;
int brightness = 5;
int fade = 5;
unsigned long starttime;
unsigned long endtime;
long randON = 0;
long randOFF = 0;
int randLED = 0;
void setup()
{
pinMode(startup_led1, OUTPUT);
pinMode(startup_led2, OUTPUT);
pinMode(startup_led3, OUTPUT);
pinMode(startup_led4, OUTPUT);
pinMode(startup_led5, OUTPUT);
pinMode(startup_led6, OUTPUT);
pinMode(special_led7, OUTPUT);
pinMode(special_led8, OUTPUT);
pinMode(special_led1, OUTPUT);
randomSeed (analogRead (0));
}
void loop()
{
digitalWrite(startup_led1, HIGH); // turns the LED on
digitalWrite(startup_led1, LOW); // turns the LED off
digitalWrite(startup_led2, HIGH); // turns the LED on
delay(30); // waits for a second
digitalWrite(startup_led2, LOW); // turns the LED off
delay(30);
digitalWrite(startup_led3, HIGH); // turns the LED on
delay(30); // waits for a second
digitalWrite(startup_led3, LOW); // turns the LED off
delay(30);
digitalWrite(startup_led4, HIGH); // turns the LED on
delay(30); // waits for a second
digitalWrite(startup_led4, LOW); // turns the LED off
delay(30);
digitalWrite(startup_led5, HIGH); // turns the LED on
delay(30); // waits for a second
digitalWrite(startup_led5, LOW); // turns the LED off
delay(30);
digitalWrite(startup_led6, HIGH); // turns the LED on
delay(30); // waits for a second
digitalWrite(startup_led6, LOW); // turns the LED off
delay(30);
digitalWrite(special_led7, HIGH); // turns the LED on
delay(30); // waits for a second
digitalWrite(special_led7, LOW); // turns the LED off
delay(30);
digitalWrite(special_led8, HIGH); // turns the LED on
delay(30); // waits for a second
digitalWrite(special_led8, LOW); // turns the LED off
delay(30);
digitalWrite(special_led1, HIGH); // turns the LED on
delay(30); // waits for a second
digitalWrite(special_led1, LOW); // turns the LED off
delay(30);
/////////////////////////////////////////////////////////////////
for (int i=0;i<4;i++)
{
digitalWrite(startup_led1, HIGH); // turns the LED on
digitalWrite(startup_led2, HIGH); // turns the LED on
digitalWrite(startup_led3, HIGH); // turns the LED on
digitalWrite(startup_led4, HIGH); // turns the LED on
digitalWrite(startup_led5, HIGH); // turns the LED on
digitalWrite(startup_led6, HIGH); // turns the LED on
digitalWrite(special_led7, HIGH); // turns the LED on
digitalWrite(special_led8, HIGH); // turns the LED on
digitalWrite(special_led1, HIGH); // turns the LED on
////////////////////////////////////////////////////////////////
delay(80);
////////////////////////////////////////////////////////////////
digitalWrite(startup_led1, LOW); // turns the LED off
digitalWrite(startup_led2, LOW); // turns the LED off
digitalWrite(startup_led3, LOW); // turns the LED off
digitalWrite(startup_led4, LOW); // turns the LED off
digitalWrite(startup_led5, LOW); // turns the LED off
digitalWrite(startup_led6, LOW); // turns the LED off
digitalWrite(special_led7, LOW); // turns the LED off
digitalWrite(special_led8, LOW); // turns the LED off
digitalWrite(special_led1, LOW); // turns the LED off
delay(80);
}
////////////////////////////////////////////////////////////////
for (int i=0;i<255;i++)
{
brightness = brightness ++;
analogWrite(special_led1, brightness);
delay(10);
}
analogWrite(special_led1, 255);
for (int i=255;i>0;i--)
{
brightness --;
analogWrite(special_led1, brightness);
delay(10);
}
for (int i=0;i<255;i++)
{
brightness = brightness ++;
analogWrite(special_led7, brightness);
analogWrite(special_led8, brightness);
delay(10);
}
analogWrite(special_led7, 255);
analogWrite(special_led8, 255);
for (int i=255;i>0;i--)
{
brightness --;
analogWrite(special_led7, brightness);
analogWrite(special_led8, brightness);
delay(10);
}
starttime = millis();
endtime = starttime;
while(brightness <= 1000)
{
while((endtime - starttime) <= 10000)
{
randON = random(90,90); //tweak these for faster blink
randOFF = random(150,350); //tweak these for faster blink
randLED = random(1,6);
if(randLED == 1)
{
digitalWrite(startup_led1, HIGH);
delay(randON);
digitalWrite(startup_led1, LOW);
delay(randOFF);
}
if(randLED == 2)
{
digitalWrite(startup_led2, HIGH);
delay(randON);
digitalWrite(startup_led2, LOW);
delay(randOFF);
}
if(randLED == 3)
{
digitalWrite(startup_led3, HIGH);
delay(randON);
digitalWrite(startup_led3, LOW);
delay(randOFF);
}
if(randLED == 4)
{
digitalWrite(startup_led4, HIGH);
delay(randON);
digitalWrite(startup_led4, LOW);
delay(randOFF);
}
if(randLED == 5)
{
digitalWrite(startup_led5, HIGH);
delay(randON);
digitalWrite(startup_led5, LOW);
delay(randOFF);
}
if(randLED == 6)
{
digitalWrite(startup_led6, HIGH);
delay(randON);
digitalWrite(startup_led6, LOW);
delay(randOFF);
endtime = millis();
}
}
}
}
Here's a link to a true random number generator library
https://code.google.com/p/avr-hardware-random-number-generation/