Código de Arduino y vídeo para el sensor ultrasónico de distancia HC-SR04
En este tutorial, exploraremos cómo usar el sensor de distancia ultrasónico HC-SR04 con un Arduino. El HC-SR04 es una forma económica y eficaz de medir distancias utilizando ondas ultrasónicas. Al enviar una señal y medir el tiempo que tarda en regresar el eco, podemos calcular con precisión la distancia a un objeto.

Este proyecto consiste en configurar el sensor con un Arduino y escribir un programa sencillo para leer y mostrar las mediciones de distancia. El programa utilizará la biblioteca NewPing para agilizar la comunicación con el sensor. Si quieres una referencia visual o una aclaración adicional sobre algún paso, asegúrate de ver el video (en el video a 00:00).
Hardware explicado
El sensor ultrasónico HC-SR04 consta de dos componentes principales: un transmisor y un receptor. El transmisor emite pulsos ultrasónicos a una frecuencia por encima del rango de audición humana, mientras que el receptor escucha el eco de esos pulsos después de que rebotan en un objeto. Calculando el tiempo entre el envío del pulso y la recepción del eco, podemos determinar la distancia al objeto.
El sensor tiene dos pines esenciales: el pin de disparo y el pin de eco. El pin de disparo se utiliza para iniciar la medición mediante el envío de una breve señal alta, mientras que el pin de eco recibe la señal reflejada y mide el tiempo que tarda en regresar el eco.
Detalles de la hoja de datos
| Fabricante | HC-SR04 |
|---|---|
| Número de pieza | HC-SR04 |
| Voltaje lógico/E/S | 5 V |
| Tensión de alimentación | 5 V |
| Corriente de salida (por canal) | 15 mA |
| Corriente de pico (por canal) | 20 mA |
| Guía de frecuencia PWM | No aplica |
| Umbrales de lógica de entrada | 0.3 V (bajo), 0.7 V (alto) |
| Caída de tensión / RDS(conducción)/ saturación | No aplica |
| Límites térmicos | 0 °C a 70 °C |
| Paquete | Módulo |
| Notas / variantes | Alcance máximo 400 cm |
- Asegúrese de que la fuente de alimentación sea adecuada (5 V).
- Mantenga el sensor limpio para lecturas precisas.
- Utilice el pin de disparo para iniciar las mediciones.
- No exceda la distancia máxima para obtener resultados fiables.
- Mantenga una ruta despejada para que las ondas ultrasónicas se reflejen de vuelta.
- Utilice condensadores de desacoplo cerca de los pines de alimentación.
- Tenga cuidado con el ruido ambiental que pueda interferir con las lecturas.
- Prueba diferentes distancias para familiarizarte con el sensor.
Instrucciones de cableado


Para conectar el sensor ultrasónico HC-SR04 a tu Arduino, sigue estos pasos:
- Conecte el
VCCpin del HC-SR04 al pin de 5V del Arduino. - Conecta el
GNDpin del HC-SR04 a un pin de tierra en el Arduino. - Conectar el
TRIGConecta el pin del HC-SR04 (que suele ser azul) al pin digital 12 del Arduino. - Conecte el
ECHOpin del HC-SR04 (que suele ser verde) al pin digital 11 del Arduino.
Asegúrese de que las conexiones estén bien ajustadas para evitar lecturas intermitentes. Si está usando una configuración diferente o tiene un cableado alternativo, consulte el video para obtener orientación adicional (en el video a las 00:00).
Ejemplos de código y guía paso a paso
El siguiente código inicializa la biblioteca NewPing y configura los pines para el sensor HC-SR04. Los componentes principales incluyen la definición de los pines de disparo y de eco, así como la distancia máxima.
#define TRIGGER_PIN 12 // Trigger pin
#define ECHO_PIN 11 // Echo pin
#define MAX_DISTANCE 200 // Max distance in cm
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // Set up NewPingEn este extracto, elTRIGGER_PINyECHO_PINestán configurados en los pines digitales 12 y 11, respectivamente. ElMAX_DISTANCEse define como 200 cm, que es la distancia máxima que le interesa medir.
A continuación, tenemos la función setup, donde se inicializa el monitor serie para mostrar los resultados:
void setup() {
Serial.begin(115200); // Initialize serial monitor
}Este código abre la comunicación serie a una velocidad de 115200 baudios, permitiéndonos ver las mediciones de distancia en el monitor serie.
Finalmente, la función loop mide la distancia y comprueba si es menor o igual a 12 cm:
void loop() {
delay(50); // Wait between pings
int distance = sonar.ping_cm(); // Measure distance
if(distance <=12){ // Check distance
Serial.println("Very close"); // Print if very close
}
}En elloop(), introducimos un retardo de 50 milisegundos para controlar la frecuencia de las mediciones. La distancia se mide y, si es menor o igual a 12 cm, imprime "Muy cerca" en el monitor serial.
Para el código completo, consulte la sección de carga que aparece más abajo en el artículo.
Demostración / Qué esperar
Cuando ejecutes el programa, el Arduino medirá continuamente la distancia al objeto más cercano. Debería imprimir la distancia en centímetros y avisarte con "Muy cerca" cuando se detecte un objeto a menos de 12 cm. Si el objeto está demasiado cerca, podrías obtener lecturas inexactas o no obtener lecturas en absoluto, como se indica en el video (en 10:00).
Asegúrese de que el sensor esté colocado correctamente y de que no haya obstáculos que bloqueen las ondas ultrasónicas. Si todo está configurado correctamente, debería ver mediciones consistentes en el monitor serie.
Marcas de tiempo del vídeo
- 00:00- Introducción al HC-SR04
- 01:30- Cableado del sensor
- 03:00- Descripción general del código
- 05:00- Ejecutando el programa
- 07:30- Medición de distancias
Cosas que podrías necesitar
-
eBay
-
BanggoodCompra el sensor ultrasónico HC-SR04 en Banggood.banggood.com
Recursos y referencias
-
ExternoBiblioteca ultrasónica HC-SR04 del sitio web oficial de Arduinoplayground.arduino.cc
Archivos📁
No hay archivos disponibles.