const int CAR_VERDE = 2;
const int CAR_AMARELO = 3;
const int CAR_VERMELHO = 4;
const int PED_VERDE = 5;
const int PED_VERMELHO = 6;
const int BOTAO = 7;
const int BUZZER = 8;
void setup() {
pinMode(CAR_VERDE, OUTPUT);
pinMode(CAR_AMARELO, OUTPUT);
pinMode(CAR_VERMELHO, OUTPUT);
pinMode(PED_VERDE, OUTPUT);
pinMode(PED_VERMELHO, OUTPUT);
pinMode(BOTAO, INPUT_PULLUP);
pinMode(BUZZER, OUTPUT);
digitalWrite(CAR_VERDE, HIGH);
digitalWrite(CAR_AMARELO, LOW);
digitalWrite(CAR_VERMELHO, LOW);
digitalWrite(PED_VERDE, LOW);
digitalWrite(PED_VERMELHO, HIGH);
}
void loop() {
if (digitalRead(BOTAO) == LOW) {
delay(1000);
digitalWrite(CAR_VERDE, LOW);
digitalWrite(CAR_AMARELO, HIGH);
delay(2000);
digitalWrite(CAR_AMARELO, LOW);
digitalWrite(CAR_VERMELHO, HIGH);
delay(1000);
digitalWrite(PED_VERMELHO, LOW);
digitalWrite(PED_VERDE, HIGH);
delay(5000);
for (int i = 0; i < 5; i++) {
digitalWrite(PED_VERDE, LOW);
noTone(BUZZER);
delay(400);
digitalWrite(PED_VERDE, HIGH);
tone(BUZZER, 1000);
delay(400);
}
noTone(BUZZER);
digitalWrite(PED_VERDE, LOW);
digitalWrite(PED_VERMELHO, HIGH);
delay(1000);
digitalWrite(CAR_VERMELHO, LOW);
digitalWrite(CAR_VERDE, HIGH);
}
}