🚚 Envío GRATIS en compras sobre $30.000 | Retiro en Curauma, Valparaíso | 📞 +56 9 65214463
Sensores 02 de August de 2026 · 2 min de lectura

Sensor Ultrasónico HC-SR04 con Arduino: Medir Distancias en cm

Conecta el sensor ultrasónico HC-SR04 a tu Arduino y mide distancias de 2 cm a 400 cm. Código con pulseIn, fórmula de distancia y proyectos de ejemplo.

El sensor ultrasónico HC-SR04 emite pulsos de sonido a 40 kHz y mide el tiempo que tarda el eco en regresar. Con una simple fórmula, conviertes ese tiempo en distancia con precisión de ±3 mm. Rango: 2 cm a 400 cm.

Pines del HC-SR04

PinFunciónConectar a
VCCAlimentación5V Arduino
GNDTierraGND Arduino
TRIGDisparo del pulsoPin 9 (digital)
ECHOSeñal de retornoPin 10 (con divisor si ES32)

Importante con ESP32: el pin ECHO devuelve 5V — usa un divisor de voltaje (R1=10kΩ, R2=20kΩ) para bajar a 3.3V.

Código Arduino

const int TRIG = 9;
const int ECHO = 10;

void setup() {
  Serial.begin(9600);
  pinMode(TRIG, OUTPUT);
  pinMode(ECHO, INPUT);
}

void loop() {
  // Enviar pulso de 10 µs
  digitalWrite(TRIG, LOW);
  delayMicroseconds(2);
  digitalWrite(TRIG, HIGH);
  delayMicroseconds(10);
  digitalWrite(TRIG, LOW);

  // Leer tiempo del eco
  long duracion = pulseIn(ECHO, HIGH);

  // Distancia = tiempo * velocidad_sonido / 2
  // Velocidad del sonido a 20°C: 343 m/s = 0.0343 cm/µs
  float distancia = duracion * 0.0343 / 2.0;

  Serial.print("Distancia: ");
  Serial.print(distancia, 1);
  Serial.println(" cm");

  delay(500);
}

Proyectos con HC-SR04

  • Sensor de estacionamiento: LED rojo/amarillo/verde según distancia al muro
  • Nivel de agua en tanque: medir desde arriba cuánto líquido queda
  • Seguridad perimetral: alarma si alguien cruza una distancia umbral
  • Robot evita obstáculos: detener o girar cuando hay objeto a menos de 20 cm

Limitaciones a Considerar

El HC-SR04 no funciona bien con superficies muy inclinadas (el eco no regresa al sensor), materiales absorbentes de sonido como espuma, ni objetos muy pequeños (<2 cm de ancho). Para esos casos, considera un sensor láser de tiempo de vuelo (VL53L0X).

Compartir: WhatsApp
Escríbenos por WhatsApp