#define LED1 2
#define LED2 4
#define LED3 12
unsigned long Time1, dT1;
unsigned long Time2, dT2;
unsigned long Time3, dT3;
void setup()
{
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
pinMode(LED3, OUTPUT);
digitalWrite(LED1, LOW);
digitalWrite(LED1, LOW);
digitalWrite(LED3, LOW);
dT1 = 300 / 2;
dT2 = 520 / 2;
dT3 = 1000 / 2;
Time1 = Time2 = Time3 = millis();
}
void loop()
{
if(millis() >= Time1)
{
digitalWrite(LED1, !digitalRead(LED1));
Time1 += dT1;
}
if(millis() >= Time2)
{
digitalWrite(LED2, !digitalRead(LED2));
Time2 += dT2;
if(millis() >= Time3)
{
digitalWrite(LED3, !digitalRead(LED3));
Time3 += dT3;
}
}
}