// semaforo de carros
#define LG 27
#define LY 14
#define LR 12
// pedestre
#define GP 2
#define RP 4
#define buzzer 19
#define botao 5
#define botao2 18
int contador = 0;
void setup() {
Serial.begin(115200);
pinMode(botao, INPUT_PULLUP);
pinMode(botao2, INPUT_PULLUP);
pinMode(buzzer, OUTPUT);
pinMode(LG, OUTPUT);
pinMode(LY, OUTPUT);
pinMode(LR, OUTPUT);
pinMode(GP, OUTPUT);
pinMode(RP, OUTPUT);
}
void loop() {
digitalWrite(buzzer, LOW);
//semaforo normal
/*digitalWrite(LG, HIGH);
digitalWrite(RP, HIGH);
digitalWrite(LY, LOW);
digitalWrite(LR, LOW);
delay(3000);
digitalWrite(LY, HIGH);
digitalWrite(RP, HIGH);
digitalWrite(LG, LOW);
digitalWrite(GP, LOW);
delay(2000);
digitalWrite(LR, HIGH);
digitalWrite(RP, HIGH);
digitalWrite(LG, LOW);
digitalWrite(LY, LOW);
delay(5000);*/
contador_car();
//botao pedestre
if(!digitalRead(botao)&&(contador = 7)){
contador = 0;
Serial.println("ativado");
Serial.print("Quantidade de carros: ");
Serial.println(contador);
digitalWrite(LY, HIGH);
digitalWrite(RP, HIGH);
digitalWrite(GP, LOW);
digitalWrite(LR, LOW);
delay(2000);
digitalWrite(GP, HIGH);
digitalWrite(LR, HIGH);
digitalWrite(RP, LOW);
digitalWrite(LY, LOW);
delay(7000);
digitalWrite(RP, HIGH);
digitalWrite(LG, HIGH);
digitalWrite(GP, LOW);
digitalWrite(LR, LOW);
delay(3000);
}
}
void contador_car(){
if(!digitalRead(botao2)){
contador++;
Serial.println(contador);
delay(400);
if(contador == 7){
digitalWrite(buzzer, HIGH);
delay(2000);
digitalWrite(buzzer, LOW);
delay(2000);
}
}
}