#define TRIG_PIN 9
#define ECHO_PIN 10
#define LED_PIN 7
#define BUZZER_PIN 6
float getDistance()
{
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
long duration = pulseIn(ECHO_PIN, HIGH);
float distance = duration * 0.034 / 2;
return distance;
}
void setup()
{
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
pinMode(LED_PIN, OUTPUT);
pinMode(BUZZER_PIN, OUTPUT);
Serial.begin(9600);
}
void loop()
{
float total = 0;
for(int i = 0; i < 5; i++)
{
total += getDistance();
delay(20);
}
float distance = total / 5;
Serial.print("Distance: ");
Serial.print(distance);
Serial.println(" cm");
if(distance < 20 && distance > 0)
{
digitalWrite(LED_PIN, HIGH);
tone(BUZZER_PIN, 1000);
}
else
{
digitalWrite(LED_PIN, LOW);
noTone(BUZZER_PIN);
}
delay(1000);
}