Descripción
El sensor ultrasónico HC-SR04 es un módulo electrónico que incorpora un par de transductores de ultrasonido que se utilizan de manera conjunta para determinar la distancia entre el sensor (módulo) y un objeto. Uno de los transductores actúa como emisor de ultrasonido, mientras que el otro recibe el eco o rebote de la señal original.
El uso de este módulo es bastante sencillo debido a que se toda la electrónica de control, transmisión y recepción se encuentra contenida en su circuito impreso. El usuario solamente debe enviar un pulso de disparo y medir en tiempo alto del pulso de respuesta. Este procedimiento puede realizarse fácilmente con los pines digitales de cualquier microcontrolador.
El sensor ultrasónico es compatible con la mayoría de los microcontroladores del mercado, incluyendo el Arduino Uno, Arduino Mega y otras tarjetas compatibles que funcionen con 5 volts. También se puede usar de forma muy sencilla con otros microcontroladores como los de la familia PIC de Microchip. Existen librerías dentro del ecosistema de Arduino para este módulo que hacen que la parte del software quede resuelta de manera muy sencilla.
Características y especificaciones
- Modelo: HC-SR04
- Marca: Genérico (sensores)
- Tipo de sensor: proximidad, distancia, presencia
- Principio de funcionamiento: ultrasonido
- Voltaje de alimentación: 5 VDC
- Corriente típica en operación: 15 mA
- Rango de medición: 2 cm a 400 cm
- Precisión: ± 3 mm
- Frecuencia del pulso ultrasónico: 40 KHz
- Angulo de medición: 15º
- Conector: Header macho estándar 0.1 pulgadas
- Interfaz: 4 conexiones
- Vcc
- Trigger
- Echo
- Gnd
- Tiempo en alto para señal de disparo: 10uS
- Rango de tiempo de señal de eco: 100 uS a 25000 uS
- Tiempo entre medidas: 20 mS
- Peso: 0.008 kg
- Dimensiones
- Largo: 4.5 cm
- Ancho: 2.6 cm
- Alto: 2 cm
Pinout o distribución de pines sensor ultrasónico HC-SR04

La función de los pines es la siguiente:
| Nombre del pin | Función |
|---|---|
| VCC | Voltaje de alimentación positivo, debe conectarse a la fuente de alimentación de 5 volts. |
| TRIG | Entrada de señal de disparo desde el microcontrolador. A través de este pin el sensor recibe una señal que comienza el proceso de medición. |
| ECHO | Salida de señal de eco del sensor, a través de este pin se obtiene un pulso cuya duración es proporcional a la distancia medida. |
| GND | Conexión de tierra o masa del sensor ultrasónico, debe conectarse a la tierra del circuito. |
Código de ejemplo para sensor HC-SR04
El siguiente código permite realizar mediciones con el sensor HC-SR04 y mostrar el resultado en la terminal serial.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | /** Geek Factory - "Dale vuelo a tus proyectos" www.geekfactory.mx PROGRAMA DE PRUEBA PARA SENSOR ULTRASÓNICO HC-SR04 CONSULTA EL ARCHIVO LICENCIA.TXT PARA CONOCER MÁS SOBRE LOS DERECHOS DE DISTRIBUCIÓN DE ESTE MATERIAL O LA SIGUIENTE URL: HTTPS://WWW.GEEKFACTORY.MX/LICENCIA-CONTENIDO. PUBLICADO BAJO LICENCIA ATTRIBUTION-NONCOMMERCIAL-SHAREALIKE 4.0 INTERNATIONAL (CC BY-NC-SA 4.0). GEEK FACTORY INVIERTE TIEMPO Y RECURSOS EN DESARROLLAR ESTOS EJEMPLOS Y TUTORIALES. SI ENCUENTRAS ÚTIL ESTE CÓDIGO, CONSIDERA REALIZAR UNA COMPRA CON NOSOTROS. Resumen: Este programa realiza una medición con el sensor ultrasónico cada segundo y muestra el resultado en el monitor serial de Arduino. Para poder compilar se requiere tener instalada la librería GFUltrasonic. */ #include <GFUltrasonic.h> // crear un objeto para leer un sensor conectado en los pines 4 y 5 GFUltrasonic ultrasonic(4, 5); /** Función setup: se ejecuta una vez cuando encendemos el arduino */ void setup() { // iniciar el puerto serial Serial.begin(9600); // llamar a begin() para iniciar los pines de entrada / salida asociados al sensor ultrasonic.begin(); } /** Función loop: se ejecuta continuamente mientras el arduino permanece encendido */ void loop() { // realizar la medición de distancia uint16_t distance = ultrasonic.read(); // imprimir el resultado de la medición Serial.print(F("Measured distance: ")); Serial.print(distance); Serial.println(F("cm")); // esperar un segundo antes de realizar la siguiente medición delay(1000); } |
Documentación
Información relacionada con este producto
- Tutorial externo para este sensor
- Nuestro tutorial para el sensor ultrasónico utilizando Arduino
- Tutorial sensor ultrasónico con Raspberry Pi Pico y MicroPython
- Página en Github de la librería GFUltrasonic
- Todos nuestros tutoriales para Arduino
- Realiza un medidor de nivel de agua o líquidos con Arduino y un sensor ultrasónico








Valoraciones
No hay valoraciones aún.