#define carroVerde 11
#define carroAmarelo 10
#define carroVermelho 9
#define pedestreVerde 5
#define pedestreVermelho 4
#define btnPedestre 7
bool valorBtn = false;
bool pedestreLivre = false;
void setup() {
// put your setup code here, to run once:
pinMode(carroVerde, OUTPUT);
pinMode(carroVermelho, OUTPUT);
pinMode(carroAmarelo, OUTPUT);
pinMode(pedestreVerde, OUTPUT);
pinMode(pedestreVermelho, OUTPUT);
Serial.begin(9600);
}
void loop() {
valorBtn = digitalRead(btnPedestre);
if(valorBtn == true && pedestreLivre == false){
digitalWrite(carroVerde, LOW);
digitalWrite(carroAmarelo, HIGH);
Serial.println("Pedestre pressionou o botão");
pedestreLivre = true;
delay(5000);
}
if(pedestreLivre){
digitalWrite(carroVermelho, HIGH);
digitalWrite(carroAmarelo, LOW);
digitalWrite(pedestreVerde, HIGH);
digitalWrite(pedestreVermelho, LOW);
delay(10000);
pedestreLivre = false;
}else{
digitalWrite(carroVerde, HIGH);
digitalWrite(carroVermelho, LOW);
digitalWrite(pedestreVermelho, HIGH);
digitalWrite(pedestreVerde, LOW);
}
}