Zum Hauptinhalt springen

HC-SR04 Ultrasonic Distance Sensor

Wiring

HC-SR04 PinArduino Pin
VCC5V
GNDGND
TRIGD9
ECHOD10

Code

const int trig = 9, echo = 10;
void setup() { Serial.begin(9600); pinMode(trig, OUTPUT); pinMode(echo, INPUT); }
void loop() {
digitalWrite(trig, LOW); delayMicroseconds(2);
digitalWrite(trig, HIGH); delayMicroseconds(10);
digitalWrite(trig, LOW);
long duration = pulseIn(echo, HIGH);
float distance = duration * 0.034 / 2; // cm
Serial.print(distance); Serial.println(" cm");
delay(500);
}

Specifications

  • Range: 2–400 cm
  • Accuracy: ±3 mm
  • Angle: ~15° beam width

Troubleshooting

  • Always reads 0 — check TRIG/ECHO pins, sensor needs 5V, not 3.3V
  • Wrong readings — object outside the 15° beam or too close (under 2 cm)
  • ESP32 note — HC-SR04 needs 5V power but ECHO outputs 5V. Use voltage divider on ECHO pin