// Define pins
const int trigPin = 5;
const int echoPin = 18;
long duration;
float distanceCm;
void setup() {
Serial.begin(115200); // Start the serial monitor
pinMode(trigPin, OUTPUT); // Set trigPin as an OUTPUT
pinMode(echoPin, INPUT); // Set echoPin as an INPUT
}
void loop() {
// Clear the trigPin
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
// Trigger the sensor by sending a 10us HIGH pulse
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Read the echoPin (pulse duration)
duration = pulseIn(echoPin, HIGH, 30000); // timeout 30ms = ~5 meters
// Calculate distance in centimeters
distanceCm = duration * 0.0343 / 2;
// Check if distance is valid
if (duration == 0) {
Serial.println("Out of range");
} else {
Serial.print("Distance: ");
Serial.print(distanceCm);
Serial.println(" cm");
}
delay(500); // Wait before next measurement
}