#define echoPin 3
#define trigPin 2
#define LEDPin 13
int LED_EMPTY = 6;
int LED_FULL = 7;
int LED_PENDING = 8;
int BUZZER = 4;
void ULT(void);
int maximumRange = 200;
int minimumRange = 0;
long duration, distance;
void setup() {
Serial.begin (115200);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(LEDPin, OUTPUT);
pinMode(LED_EMPTY, OUTPUT);
pinMode(LED_FULL, OUTPUT);
pinMode(LED_PENDING, OUTPUT);
pinMode(BUZZER, OUTPUT);
}
void loop() {
ULT();
Serial.println(distance);
if(distance >= 200){
digitalWrite(LED_EMPTY,1);
digitalWrite(LED_PENDING,0);
digitalWrite(LED_FULL,0);
delay(1000);
Serial.println("Empty Space.");
}
else if(distance < 200 && distance >= 50){
digitalWrite(LED_EMPTY,0);
digitalWrite(LED_PENDING,1);
digitalWrite(LED_FULL,0);
tone(BUZZER, 800);
delay(100);
digitalWrite(LED_EMPTY,0);
digitalWrite(LED_PENDING,0);
digitalWrite(LED_FULL,0);
noTone(BUZZER);
delay(500);
Serial.println("Car is going to park here or going out.");
}
else{
digitalWrite(LED_EMPTY,0);
digitalWrite(LED_PENDING,0);
digitalWrite(LED_FULL,1);
delay(1000);
Serial.println("Car is Parking.");
}
}
void ULT(){
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = duration / 58.2;
}