#include <Servo.h>
int count = 5; // Total parking slots available
int flag1 = 1;
int flag2 = 1;
int pirPin1 = D2; // PIR sensor pin 1
int pirPin2 = D3; // PIR sensor pin 2
int entryServoPin = D0; // Entry servo pin
Servo entryServo;
void setup() {
Serial.begin(9600);
pinMode(pirPin1, INPUT);
pinMode(pirPin2, INPUT);
entryServo.attach(entryServoPin);
entryServo.write(0); // Initialize entry servo to 0 degrees
}
void loop() {
int parkingSlot1 = digitalRead(pirPin1);
int parkingSlot2 = digitalRead(pirPin2);
if (parkingSlot1 == HIGH && flag1 == 1) {
flag1 = 0;
count--;
Serial.println("Car detected at parking slot 1");
} else if (parkingSlot1 == LOW && flag1 == 0) {
flag1 = 1;
count++;
Serial.println("Car left parking slot 1");
}
if (parkingSlot2 == HIGH && flag2 == 1) {
flag2 = 0;
count--;
Serial.println("Car detected at parking slot 2");
} else if (parkingSlot2 == LOW && flag2 == 0) {
flag2 = 1;
count++;
Serial.println("Car left parking slot 2");
}
if (count == 5) {
entryServo.write(0); // Parking full, entry servo won't rotate
} else {
entryServo.write(90); // Parking available, allow entry
}
delay(500); // Adjust delay as needed
}