Sensor ultrasónico HC-SR04: alcance real y errores típicos
El HC-SR04 manda un pulso de ultrasonidos y cronometra cuánto tarda el eco en volver. Con eso y la velocidad del sonido sale la distancia. Es barato, funciona bien y tiene unas cuantas limitaciones que conviene conocer antes de montarlo en algo serio.
El cálculo
La velocidad del sonido en aire a 20 °C es de unos 343 m/s, o lo que es lo mismo, 29,1 µs por centímetro. Como el pulso va y vuelve:
distancia (cm) = tiempo de eco (µs) / 58
Y aquí está el primer detalle que casi nadie aplica: la velocidad del sonido cambia con la temperatura, alrededor de un 0,6 % por grado. Entre 0 °C y 30 °C hay un 5 % de diferencia. Si mides un depósito a la intemperie y quieres precisión, compensa con un sensor de temperatura.
Qué alcance tiene de verdad
La hoja dice 2 cm a 400 cm. En la práctica:
- Por debajo de 3 cm el eco vuelve antes de que el emisor termine y la lectura es basura.
- Por encima de 2,5 m hace falta una superficie grande y perpendicular para que el eco vuelva con fuerza.
- El cono de detección ronda los 15°: no mide un punto, mide una zona.
Lo que no detecta
- Superficies en ángulo. Si la pared está inclinada más de unos 20°, el eco se va a otro lado y no vuelve nunca. El sensor devuelve el valor de «sin eco».
- Tejidos, espuma y materiales blandos. Absorben el ultrasonido.
- Objetos muy pequeños a distancia: no devuelven suficiente energía.
- Superficies muy rugosas, que dispersan el eco.
Si tu aplicación necesita medir contra cualquiera de esos, el ultrasonido no es la tecnología: mira un sensor infrarrojo de tiempo de vuelo como el VL53L0X.
Errores de programación
- No poner tiempo de espera. Si no vuelve eco, la función que mide el pulso se queda bloqueada hasta su límite. Pon un timeout acorde a la distancia máxima que te interesa.
- Medir demasiado rápido. Deja al menos 60 ms entre medidas o el eco de la anterior contamina la siguiente.
- Fiarse de una sola lectura. Toma tres o cinco y quédate con la mediana. Es la mejora que más se nota con menos trabajo.
Alimentación y niveles
El HC-SR04 estándar funciona a 5 V y su pin Echo saca 5 V. Conectarlo directo a un ESP32 es uno de los clásicos de la lista de placas quemadas: pon un divisor de tensión o un conversor de nivel. Hay versiones de 3,3 V (HC-SR04P) que evitan el problema.
Dónde funciona bien
Medir el nivel de un depósito de agua desde arriba, detectar la presencia de un objeto en una cinta, evitar obstáculos en un robot, aparcar. Para todo eso es la opción con mejor relación entre precio y resultado, y por eso lleva veinte años vendiéndose.
Lo que necesitas, en nuestra tienda
Secciones relacionadas del catálogo

