const int sensorEntradaPin = 2;
const int sensorSaidaPin = 3;
const int ledVermelhoPin = 5;
const int ledVerdePin = 4;
int carrosNoEstacionamento = 0;
void setup() {
pinMode(sensorEntradaPin, INPUT_PULLUP);
pinMode(sensorSaidaPin, INPUT_PULLUP);
pinMode(ledVermelhoPin, OUTPUT);
pinMode(ledVerdePin, OUTPUT);
Serial.begin(9600);
}
void loop() {
if (digitalRead(sensorEntradaPin) == LOW) {
delay(50);
if (digitalRead(sensorEntradaPin) == LOW) {
carrosNoEstacionamento++;
printMessage("Entrada", carrosNoEstacionamento);
}
while (digitalRead(sensorEntradaPin) == LOW) {}
}
if (digitalRead(sensorSaidaPin) == LOW) {
delay(50);
if (digitalRead(sensorSaidaPin) == LOW) {
if (carrosNoEstacionamento > 0) {
carrosNoEstacionamento--;
printMessage("Saída", carrosNoEstacionamento);
}
}
while (digitalRead(sensorSaidaPin) == LOW) {}
}
if (carrosNoEstacionamento >= 15) {
digitalWrite(ledVermelhoPin, HIGH);
digitalWrite(ledVerdePin, LOW);
} else {
digitalWrite(ledVermelhoPin, LOW);
digitalWrite(ledVerdePin, HIGH);
}
}
void printMessage(String tipo, int quantidade) {
Serial.print(tipo);
Serial.print(" detectada | Total de carros -> ");
Serial.println(quantidade);
}