#define redLedPin 2
#define yellowLedPin 3
#define greenLedPin 4
#define buttonPin 5
void setup() {
pinMode(redLedPin, OUTPUT);
pinMode(yellowLedPin, OUTPUT);
pinMode(greenLedPin, OUTPUT);
pinMode(buttonPin, INPUT);
}
int i, estadoBotao;
int tempo(int Led)
{
int botao;
switch (Led){
case 1:
for (i >= 0; i <= 5000; i++)
{
delay(1);
botao = digitalRead(buttonPin);
if (botao == HIGH)
{
break;
}
}
i = 0;
break;
case 2:
for (i >= 0; i <= 3000; i++)
{
delay(1);
}
i = 0;
break;
case 3:
for (i >= 0; i <= 7000; i++)
{
delay(1);
}
i = 0;
break;
default:
i = 0;
break;
}
return botao;
}
void loop()
{
estadoBotao = LOW;
while (true)
{
digitalWrite(greenLedPin, HIGH);
estadoBotao = tempo(1);
if (estadoBotao == HIGH)
{
break;
}
digitalWrite(greenLedPin, LOW);
digitalWrite(yellowLedPin, HIGH);
estadoBotao = tempo(2);
digitalWrite(yellowLedPin, LOW);
digitalWrite(redLedPin, HIGH);
estadoBotao = tempo(3);
digitalWrite(redLedPin, LOW);
}
delay(250);
digitalWrite(greenLedPin, LOW);
delay(250);
digitalWrite(yellowLedPin, HIGH);
delay(2000);
digitalWrite(yellowLedPin, LOW);
digitalWrite(redLedPin, HIGH);
delay(7000);
digitalWrite(redLedPin, LOW);
estadoBotao = LOW;
}