INFORMACIÓN
El HC-SR04P Sensor Ultrasónico 3-5V es un dispositivo electrónico de medición de distancia sin contacto que utiliza ondas ultrasónicas para detectar objetos. Su alimentación es de 3 a 5 V, a diferencia del HC-SR04 normal este puede operar en modo clásico por pines digitales (TRIG y ECHO), por UART, I2C, y One Wire, dependiendo de su configuración, sin necesidad de agregar algún componente adicional.
El HC-SR04P Sensor Ultrasónico 3-5V se utiliza principalmente para medición de distancia, detección de obstáculos y presencia de objetos, lo que lo hace ideal para aplicaciones como robots móviles, sistemas de evitación de colisiones, medición de nivel de líquidos o sólidos en tanques. Gracias a su amplio rango de alimentación y a sus diferentes modos de comunicación, es compatible con múltiples tarjetas de desarrollo, incluyendo Arduino Uno, Mega, Nano y Leonardo, ESP32, ESP8266 (NodeMCU), Raspberry Pi (usando GPIO o I²C), o STM32.
ESPECIFICACIONES Y CARACTERÍSTICAS
- Modelo: HC-SR04P.
- Voltaje de Alimentación: 3 – 5VDC.
- Corriente de Reposo: <2 mA.
- Niveles:
- Alto de Salida: 5 VDC.
- Bajo de Salida: 0 VDC.
- Ángulo de Detección: No mayor a 15°.
- Distancia de Detección: 2 cm – 450 cm.
- Precisión: 3 mm.
- Interfaces de Comunicación:
- GPIO (Trig y Echo).
- I2C (dirección 0x57).
- UART.
- One Wire.
- Frecuencia Ultrasónica: 40 kHz.
- Dimensiones: 45 mm x 20 mm x 11 mm.
- Peso: 6.54 g.
DOCUMENTACIÓN Y RECURSOS
INFORMACIÓN ADICIONAL
Funcionamiento.
Se tiene que enviar una señal de alto nivel de 10 µs o más a uno de los puertos de control y luego espere una salida de alto nivel en el puerto receptor. La salida permite iniciar un temporizador. Cuando este puerto se pone en bajo, se puede leer el valor del temporizador, que corresponde a la duración de la medición de distancia. Solo entonces se puede calcular la distancia. Al tomar estas mediciones periódicas de forma continua, se puede modificar el valor medido.
Proceso:
- Utilizar la activación IO para medición de distancia, proporcionando una señal de alto nivel de al menos 10 µs.
- El módulo envía automáticamente ocho ondas cuadradas de 40 kHz y detecta automáticamente si hay un retorno de señal.
- Si se recibe una señal, se emite una señal de alto nivel a través de la E/S. La duración de la señal de alto nivel es la duración de la señal. Tiempo que tarda una onda ultrasónica en viajar desde su emisión hasta su retorno.
- Fórmula de Distancia de Prueba = (Tiempo de Alto Nivel * Velocidad del Sonido (340 m/s)) / 2).
Descripción de Pines.
- VCC: Pin de alimentación del sensor. Acepta 3 a 5 VDC, compatible con sistemas de 3.3 V y 5 V.
- Trig / RX / SCL:
- Trig: Entrada de disparo en modo GPIO (se envía un pulso para iniciar la medición).
- RX: Recepción de datos en modo UART.
- SCL: Línea de reloj en modo I²C.
- I/O: Línea One Wire (No recomendable mucho ruido).
- Echo / TX / SDA:
- Echo: Salida que entrega un pulso proporcional a la distancia en modo GPIO.
- TX: Transmisión de datos en modo UART.
- SDA: Línea de datos en modo I²C.
- GND: Pin de tierra (0 V), referencia común del sistema.
Configuración en Interfaz de Comunicación.
En la parte trasera del sensor se podrá encontrar 2 Pads de soldadura con la serigrafía M1 (R7) y M2 (R8), en la siguiente tabla veremos las combinaciones que se pueden obtener y qué comunicación se tiene como resultado de cada una de ellas:
| M1 | M2 | Comunicación |
|---|---|---|
| 0 | 0 | GPIO |
| 0 | 1 | I2C |
| 1 | 0 | UART |
| 1 | 1 | One Wire (No Recomendable). |
El dígito 0 corresponde al pad sin soldar, mientras que el dígito 1 es todo lo contrario, no se recomienda la comunicación One Wire, ya que es muy inestable por el exceso de ruido que existe.
¿Cómo probar el HC-SR04P Sensor Ultrasónico 3-5V?
Te dejo una guía rápida de como probar el sensor ultrasónico de forma clásica en su comunicación, es decir, por su GPIO.
Materiales Necesario.
Conexiones.
| HC-SR04P | Arduino Uno |
|---|---|
| VCC | 5V |
| GND | GND |
| TRIG | Pin 9 |
| ECHO | Pin 8 |
Como el sensor tiene de forma predeterminada la comunicación GPIO no es necesario hacer un cambio en los pads M1/M2.

Código de Programación.
// HC-SR04P Ultrasonic Sensor Test
// Arduino Uno - GPIO
#define TRIG_PIN 9
#define ECHO_PIN 8
long duration;
float distance;
void setup() {
Serial.begin(9600);
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
digitalWrite(TRIG_PIN, LOW);
Serial.println("Prueba HC-SR04P iniciada");
}
void loop() {
// Enviar pulso de 10 µs
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
// Leer tiempo del eco
duration = pulseIn(ECHO_PIN, HIGH, 30000); // timeout ~5 m
if (duration == 0) {
Serial.println("Fuera de rango");
} else {
// Calcular distancia (cm)
distance = duration * 0.0343 / 2.0;
Serial.print("Distancia: ");
Serial.print(distance);
Serial.println(" cm");
}
delay(500);
}
Resultados.
- Carga el código en el Arduino Uno.
- Abre Monitor Serial.
- Selecciona 9600 baudios.
- Acerca y aleja un objeto frente al sensor.
- Observa la distancia en cm.


























Valoraciones
No hay valoraciones aún.