// Initialize sensors
const int TriggerPin = 6;
// Ultrasonic trigger pin D7
const int EchoPin = 10;
// Ultrasonic echo pin D6
const int LedPin = 5;
// LED pin D5
const int BuzzerPin = 4;
// Buzzer pin D4
long distanceThreshold = 25;
// Distance at which Ultrasonic activate
void setup()
{
pinMode(TriggerPin, OUTPUT);
//trig pin out
pinMode(EchoPin, INPUT);
//echo pin in
pinMode(LedPin, OUTPUT);
//led out
pinMode(BuzzerPin, OUTPUT);
Serial.begin(9600);
// Serial Monitor begin at 9600 baud rate
}
long getDistance()
{
digitalWrite(TriggerPin, LOW);
delayMicroseconds(2);
digitalWrite(TriggerPin, HIGH);
delayMicroseconds(10);
digitalWrite(TriggerPin, LOW);
long duration = pulseIn(EchoPin, HIGH);
long distance = duration * 0.034 / 2;
// Ultrasonic calculation to measure distance
// Sensor does not receive echo signal
if (distance > 200)
{
Serial.println("Sensor can't Reach");
}
return distance;
}
void loop() {
long distance = getDistance();
Serial.print("Distance: ");
Serial.print(distance);
//distance measured
Serial.println(" cm");
if (distance >= 0 && distance < distanceThreshold)
// if condition for distance measured
{
// Activate the alarm
digitalWrite(LedPin, HIGH);
tone(BuzzerPin, 2000);
// Frequency of buzzer tone
Serial.println("There's a Person Approaching Door");
//notify user
} else {
// Deactivate the alarm
digitalWrite(LedPin, LOW);
noTone(BuzzerPin);
}
delay(6000);
// Delay in measured distance
}