// C++ code
//
#define LedGreen 4
#define LedYellow 0
#define LedRed 2
unsigned long previousTime1 = 0;
unsigned long previousTime2 = 0;
unsigned long previousTime3 = 0;
unsigned long previousMillis1 = 0;
void setup()
{
pinMode(LedGreen, OUTPUT);
pinMode(LedYellow, OUTPUT);
pinMode(LedRed, OUTPUT);
}
void tarefaLedGreen(){
unsigned long current = millis() - previousTime1;
if((millis()-previousTime1)<1000){
digitalWrite(LedGreen, HIGH);
}else{
digitalWrite(LedGreen, LOW);
}
if((millis()-previousTime1)>1500){
previousTime1 = millis();
}
}
void tarefaLedYellow(){
unsigned long current = millis() - previousTime2;
if((millis()-previousTime2)<500){
digitalWrite(LedYellow, HIGH);
}else{
digitalWrite(LedYellow, LOW);
}
if((millis()-previousTime2)>1000){
previousTime2 = millis();
}
}
void tarefaLedRed(){
unsigned long current = millis() - previousTime3;
if((millis()-previousTime3)<250){
digitalWrite(LedRed, HIGH);
}else{
digitalWrite(LedRed, LOW);
}
if((millis()-previousTime3)>500){
previousTime3 = millis();
}
}
void loop()
{
tarefaLedRed();
tarefaLedYellow();
tarefaLedGreen();
}