CNAP
03 / Templates · intermediate

HC-SR04 DISTANCE METER

Open in Playground

Trigger an ultrasonic ping and measure the echo's round-trip time to compute distance, printed to the Serial Monitor.

intermediatesensorserialultrasonicdistance
Circuit
Code
sketch.inoArduino C++
30 lines
// HC-SR04 Ultrasonic — Distance Meter
// Prints the measured distance in cm every 500 ms.

const int TRIG_PIN = 9;
const int ECHO_PIN = 10;

void setup() {
  pinMode(TRIG_PIN, OUTPUT);
  pinMode(ECHO_PIN, INPUT);
  Serial.begin(9600);
}

void loop() {
  // Send a 10 µs pulse to trigger a ping
  digitalWrite(TRIG_PIN, LOW);
  delayMicroseconds(2);
  digitalWrite(TRIG_PIN, HIGH);
  delayMicroseconds(10);
  digitalWrite(TRIG_PIN, LOW);

  // Measure the echo pulse width (round trip)
  long durationUs = pulseIn(ECHO_PIN, HIGH);
  float distanceCm = durationUs / 58.0;

  Serial.print("Distance: ");
  Serial.print(distanceCm);
  Serial.println(" cm");

  delay(500);
}
Components
  • Arduino Uno
    01
  • HC-SR04 Ultrasonic
    02
Wiring
Component PinArduino Pin
HC-SR04 VCC5V
HC-SR04 TRIGPin 9
HC-SR04 ECHOPin 10
HC-SR04 GNDGND