#include <NewPing.h>
#define TRIG_PIN 9
#define ECHO_PIN 10
#define MAX_DISTANCE 500 // Max distance to scan (in cm)
#define LED_PIN 6
#define BUZZER_PIN 7
NewPing sonar(TRIG_PIN, ECHO_PIN, MAX_DISTANCE);
void setup() {
Serial.begin(9600); // Start serial communication
pinMode(LED_PIN, OUTPUT); // LED pin output
pinMode(BUZZER_PIN, OUTPUT); // Buzzer pin output
}
void loop() {
delay(50); // Small delay between pings
unsigned int distance = sonar.ping_cm(); // Measure distance in cm
Serial.print("Distance: ");
Serial.print(distance);
Serial.println(" cm");
if (distance > 30 || distance == 0) {
// Too far or no object detected
digitalWrite(LED_PIN, LOW);
digitalWrite(BUZZER_PIN, LOW);
}
else if (distance <= 30 && distance > 15) {
// Object between 30cm and 15cm
digitalWrite(LED_PIN, HIGH);
delay(300);
digitalWrite(LED_PIN, LOW);
delay(300);
digitalWrite(BUZZER_PIN, LOW); // Buzzer OFF
}
else if (distance <= 15) {
// Object closer than 15cm
digitalWrite(LED_PIN, HIGH);
digitalWrite(BUZZER_PIN, HIGH);
delay(100);
digitalWrite(LED_PIN, LOW);
digitalWrite(BUZZER_PIN, LOW);
delay(100);
}
}