// Smart Parking Sensor with Arduino
const int trigPin = 9;
const int echoPin = 10;
const int greenLED = 3;
const int yellowLED = 4;
const int redLED = 5;
const int buzzer = 6;
long duration;
int distance;
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(greenLED, OUTPUT);
pinMode(yellowLED, OUTPUT);
pinMode(redLED, OUTPUT);
pinMode(buzzer, OUTPUT);
Serial.begin(9600);
}
void loop() {
// Send ultrasonic pulse
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Measure response
duration = pulseIn(echoPin, HIGH);
distance = duration * 0.034 / 2; // Convert to cm
// Default state
digitalWrite(greenLED, LOW);
digitalWrite(yellowLED, LOW);
digitalWrite(redLED, LOW);
digitalWrite(buzzer, LOW);
if (distance > 30) {
digitalWrite(greenLED, HIGH); // Safe
}
else if (distance <= 30 && distance > 15) {
digitalWrite(yellowLED, HIGH); // Caution
tone(buzzer, 1000, 100); // Short beep
delay(300);
}
else if (distance <= 15) {
digitalWrite(redLED, HIGH); // Danger
tone(buzzer, 1000); // Continuous beep
}
Serial.print("Distance: ");
Serial.print(distance);
Serial.println(" cm");
delay(200);
}