OK I think I got it yay.. here's what I did.
pin 5,6,7 come on same time
5 runs 3min.
6 runs 7min.
7 runs 9 min.
then it breaks out of the loop and
turns pin 4 on and the whole loops and starts over.
This is not exactly what I want, but it is the Idea for what I'm trying to do.
Hope its right
#define seconds_in_ms(s) ((s)*1000UL)
#define minutes_in_ms(m) ((m)*60UL*1000UL)
#define hours_in_ms(h) ((h)*60UL*60UL*1000UL)
#define days_in_ms(d) ((d)*24UL*60UL*60UL*1000UL)
#define weeks_in_ms(w) ((w)*7UL*24UL*60UL*60UL*1000UL)
boolean x = true;
void setup() {
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
}
void loop ()
{
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
unsigned long Task1Time = millis();
while(x){
if (Task1Time >= minutes_in_ms(3)){
digitalWrite(5, LOW);
}
if (Task1Time >= minutes_in_ms(7)){
digitalWrite(6, LOW);
}
if (Task1Time >= minutes_in_ms(9)){
digitalWrite(7, LOW);
x = false;
}
}
digitalWrite(4, HIGH); //not really but a whole bunch other code goes here before it all loops
}