Measure obstacle distance with trigger and echo timing.
Open in compiler →/*
Roboda verified Arduino sample 0907
Feature: Ultrasonic Distance
Generated for online build, classroom practice, and hardware upload testing.
*/
const byte trigPin = 5;
const byte echoPin = 7;
void setup() {
Serial.begin(9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
}
void loop() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
unsigned long duration = pulseIn(echoPin, HIGH, 30000UL);
float distanceCm = duration * 0.0343 / 2.0;
Serial.println(distanceCm);
delay(80);
}
How it works
Measure distance with an ultrasonic trigger/echo module.
- Wire TRIG and ECHO to the listed pins.
- Send a short trigger pulse.
- Measure echo pulse time with pulseIn().
- Convert travel time into distance in centimeters.
Connections
| Pin | Connect to | Note |
|---|---|---|
| D5 | HC-SR04 TRIG | Sends a 10 microsecond pulse. |
| D7 | HC-SR04 ECHO | 3.3V boards need level shifting for 5V echo modules. |