// Definindo as constantes dos pinos dos semáforos
const int semaforo1_verde = 12;
const int semaforo1_amarelo = 14;
const int semaforo1_vermelho = 27;
const int semaforo2_verde = 4;
const int semaforo2_amarelo = 2;
const int semaforo2_vermelho = 5;
const int sensor_chuva = 13;
const int sensor_luz = 15;
// Definindo tempo do ciclo do semáforo
int tempoAmbosVermelhos = 2;
int tempoVermelhoSemaforo2 = 38;
int tempoAmareloSemaforo2 = 3;
int tempoVerdeSemaforo2 = 83;
int tempoVermelhoSemaforo1 = 86;
int tempoAmareloSemaforo1 = 3;
int tempoVerdeSemaforo1 = 35;
int reducaoTempo = 10;
float fluxoChuva = 1.5;
void setup() {
Serial.begin(115200);
Serial.println("");
// Inicializando os pinos dos semáforos como saída
pinMode(semaforo1_verde, OUTPUT);
pinMode(semaforo1_amarelo, OUTPUT);
pinMode(semaforo1_vermelho, OUTPUT);
pinMode(semaforo2_verde, OUTPUT);
pinMode(semaforo2_amarelo, OUTPUT);
pinMode(semaforo2_vermelho, OUTPUT);
// Configurando os pinos dos sensores como entrada
pinMode(sensor_chuva, INPUT);
pinMode(sensor_luz, INPUT);
}
void loop() {
delay(10);
bool chovendoAgora;
//Dia nublado = 1000 lux = 680 analogRead
if(analogRead(sensor_luz) >= 680 && digitalRead(sensor_chuva) == 1 ){
chovendoAgora = true;
}else{
chovendoAgora = false;
}
}
chovendoAgora ? Serial.println("Tempo Chuvoso") : Serial.println("Tempo Ensolarado");
void inicioFluxoDoSemaforo(bool chovendoAgora){
float coefChuva = chovendoAgora ? fluxoChuva : 1;
}