How it Works:

... in progress

Code:

 

int ledPin1 = 12;

int ledState1 = LOW; 

unsigned long previousMillis1 = 0; 

long OnTime1 = 250; 

long OffTime1 = 750; 

int ledPin2 = 13;

int ledState2 = LOW; 

unsigned long previousMillis2 = 0; 

long OnTime2 = 330; 

long OffTime2 = 400; 

 

void setup()

{

pinMode(ledPin1, OUTPUT);

pinMode(ledPin2, OUTPUT);

}

 

void loop()

{

unsigned long currentMillis = millis();

 

if((ledState1 == HIGH) && (currentMillis - previousMillis1 >= OnTime1))

{

 dState1 = LOW; // Turn it off

previousMillis1 = currentMillis; // Remember the time

digitalWrite(ledPin1, ledState1); // Update the actual LED

}

 

else if ((ledState1 == LOW) && (currentMillis - previousMillis1 >= OffTime1))

{

ledState1 = HIGH; // turn it on

previousMillis1 = currentMillis; // Remember the time

digitalWrite(ledPin1, ledState1); // Update the actual LED

}

 

if((ledState2 == HIGH) && (currentMillis - previousMillis2 >= OnTime2))

{

ledState2 = LOW; // Turn it off

previousMillis2 = currentMillis; // Remember the time

digitalWrite(ledPin2, ledState2); // Update the actual LED

}

 

else if ((ledState2 == LOW) && (currentMillis - previousMillis2 >= OffTime2))

{

ledState2 = HIGH; // turn it on

previousMillis2 = currentMillis; // Remember the time

digitalWrite(ledPin2, ledState2); // Update the actual LED

}

 

}

Layout:

Schematic: