Ir al contenido principal

Conectar el Sensor Ultrasonidos HC-SR04 a Arduino (Medir Distancia Básico)

Introducción

El sensor ultrasónico HC-SR04 es uno de los componentes más utilizados en proyectos de electrónica con Arduino. Su capacidad para medir distancias con alta precisión y a un coste muy bajo (sin contacto físico) lo convierte en el "ojo" principal de robots esquiva-obstáculos, medidores de nivel de agua en depósitos y sistemas de seguridad inteligentes.

En este tutorial aprenderás a conectar y programar el HC-SR04 paso a paso desde cero para que tu placa Arduino muestre la distancia exacta en centímetros a través del Monitor Serie. Esta guía te dará la base técnica necesaria para integrarlo más adelante en proyectos avanzados de automatización[cite: 2].

Materiales Necesarios

Para realizar este montaje de medición de distancia necesitarás los siguientes componentes[cite: 2]. Puedes adquirirlos directamente a través de los enlaces para asegurarte de utilizar componentes 100% compatibles[cite: 2]:

Componente / Herramienta Descripción y Función Enlace de Compra
Sensor de ultrasonidos HC-SR04 Sensor de medición de distancia por ultrasonidos (rango de 2 cm a 400 cm). Ver en Amazon ↗
Arduino UNO R3 / R4 Placa de desarrollo microcontrolada base para procesar las lecturas del sensor. Ver en Amazon ↗
Protoboard / Placa de pruebas Placa de prototipado rápido para realizar las conexiones sin necesidad de soldar. Ver en Amazon ↗
Kit de Cables Dupont (M-M / M-H) Cables de puente para la interconexión rápida de los pines entre Arduino y el HC-SR04. Ver en Amazon ↗

¿Cómo funciona el sensor HC-SR04?

El HC-SR04 basa su funcionamiento en el principio de Ecolocalización Sonar (mismo principio utilizado por murciélagos y submarinos)[cite: 2]:

  • Pin Trig (Disparo): Emite una ráfaga ultrasónica de alta frecuencia (40 kHz), inaudible para el oído humano[cite: 2].
  • Pin Echo (Eco): Permanece a la escucha esperando el rebote del pulso tras chocar contra un objeto[cite: 2]. Nos indica el tiempo total transcurrido desde que la onda salió hasta que regresó[cite: 2].

📐 La Fórmula Matemática de la Distancia

Sabiendo que la velocidad del sonido en el aire es de aproximadamente 340 m/s (0.034 cm/µs), aplicamos la siguiente ecuación en Arduino[cite: 2]:

Distancia (cm) = (Tiempo en µs × 0.034) / 2

¿Por qué dividimos entre 2? Porque el tiempo medido por el pin Echo contempla la ida y la vuelta de la onda sonora[cite: 2]. Al dividirlo por dos obtenemos únicamente la distancia lineal hasta el objeto[cite: 2].

Esquema de Conexiones

El conexionado entre el módulo HC-SR04 y la placa Arduino consta de solo 4 pines[cite: 2]:

  • VCC: Alimentación a 5V de Arduino[cite: 2].
  • GND: Conexión a tierra (GND) de Arduino[cite: 2].
  • Trig: Conectado al Pin Digital 9 (Configurado como salida para enviar los impulsos)[cite: 2].
  • Echo: Conectado al Pin Digital 8 (Configurado como entrada para leer la respuesta)[cite: 2].

Código en Arduino: Medición de Distancia Básica

A continuación se presenta el sketch optimizado para leer las magnitudes del HC-SR04 y enviarlas a la pantalla del ordenador mediante el puerto serie[cite: 2]:

medir_distancia.ino
// Definimos los pines digitales conectados al sensor
const int trigPin = 9;   // Pin de disparo (Salida)
const int echoPin = 8;   // Pin de recepcion (Entrada)

// Variables de almacenamiento para el cálculo
long duracion;
int distancia;

void setup() {
  pinMode(trigPin, OUTPUT); // Trig envia el pulso
  pinMode(echoPin, INPUT);  // Echo recibe el eco
  
  // Iniciamos comunicación serial a 9600 baudios
  Serial.begin(9600);
}

void loop() {
  // 1. Aseguramos un estado LOW inicial en Trig para un pulso limpio
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  
  // 2. Generamos un pulso alto (HIGH) de 10 microsegundos
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
  
  // 3. Medimos el tiempo transcurrido hasta recibir el eco (en microsegundos)
  duracion = pulseIn(echoPin, HIGH);
  
  // 4. Calculamos la distancia en centimetros
  distancia = duracion * 0.034 / 2;
  
  // 5. Imprimimos el valor medido en el Monitor Serie
  Serial.print("Distancia: ");
  Serial.print(distancia);
  Serial.println(" cm");
  
  // Muestra lecturas cada 500 ms
  delay(500);
}

Explicación del Código paso a paso

Comprender las funciones clave te permitirá modificar el comportamiento del sensor según tus necesidades[cite: 2]:

  1. pulseIn(echoPin, HIGH): La función bloquea la ejecución momentáneamente hasta que el pin pasa a estado alto (recepción del reflejo sónico) y calcula exactamente cuántos microsegundos tardó en regresar[cite: 2].
  2. Conversión cinemática: Se multiplica el tiempo por la velocidad de la onda sonora (0.034 cm/µs) y se divide entre 2 para aislar el recorrido unidireccional[cite: 2].
  3. Serial.print() vs Serial.println(): Permite enviar los datos ordenadamente al ordenador sin saturar la consola serie[cite: 2].

Visualización de Datos en el Monitor Serie

Sigue estos pasos para verificar la recepción de señal[cite: 2]:

  1. Conecta la placa Arduino a tu PC mediante el cable USB e ingresa al Arduino IDE[cite: 2].
  2. Asegúrate de haber seleccionado el puerto COM correcto y sube el código a la placa[cite: 2].
  3. Abre la consola haciendo clic en el icono de la Lupa (Monitor Serie) en la esquina superior derecha[cite: 2].
  4. Verifica que la velocidad en la esquina inferior esté ajustada a 9600 baudios[cite: 2].
  5. Pasa la mano u objetos frente al sensor para comprobar cómo los valores de distancia varían en tiempo real[cite: 2].

Diagnóstico de Errores Frecuentes (Troubleshooting)

  • Lecturas constantes de 0 cm o valores erráticos: Revisa las conexiones físicas[cite: 2]. Intercambiar por error los pines Trig y Echo impedirá que el sensor emita el pulso o lea la respuesta correctamente[cite: 2].
  • Ángulo de apertura limitado: El rango efectivo de visión del HC-SR04 es de un cónico de aproximadamente 15 grados[cite: 2]. Objetos con ángulos inclinados o fuera de este cono reflejarán el sonido lejos del receptor[cite: 2].
  • Límites físicos del sensor: El rango de operación con precisión va desde los 2 cm hasta los 400 cm (4 metros)[cite: 2]. Por encima o por debajo de esta escala, las lecturas resultarán poco fiables[cite: 2].

Conclusión y Próximos Pasos

Aprender a integrar el HC-SR04 es el paso imprescindible para dar el salto del software a proyectos interactivos en el mundo físico[cite: 2]. Con este control básico ya puedes activar actuadores como motores, relés o zumbadores en función de la cercanía de un objeto[cite: 2].

Si quieres aplicar esta lectura en un proyecto real y funcional, te invitamos a revisar nuestra guía paso a paso para construir una Alarma con Arduino y Sensor Ultrasónico HC-SR04[cite: 2].

Comentarios

Entradas populares de este blog

Cómo evitar que Windows apague la pantalla o el disco duro (con gpedit)

Introducción Uno de los problemas más frecuentes en Windows es la suspensión automática del sistema, el apagado de la pantalla o la desactivación del disco duro tras unos minutos de inactividad. Aunque esto busca ahorrar energía, puede resultar frustrante si utilizas tu PC como servidor doméstico, servidor Plex, máquina de descargas o para tareas de larga duración . Si bien es posible cambiar estos ajustes desde la configuración tradicional de energía, muchas veces Windows ignora nuestras preferencias debido a directivas internas. La solución definitiva para evitar que tu ordenador se apague o suspenda es utilizar el Editor de Directivas de Grupo Local (gpedit.msc) . ⚠️ Advertencia sobre la versión de Windows El comando gpedit.msc solo está disponible de forma nativa en las ediciones Windows Pro, Enterprise y Education . Si utilizas Windows Home , esta herramienta no estará presente por defecto y deberás recurrir a la configuración convencional del Panel de Control. Paso 1...

Alarma con Arduino y Sensor Ultrasónico HC-SR04 (Tutorial paso a paso)

Introducción Crear un sistema de seguridad o detección de movimiento no tiene que ser complicado ni caro. En este tutorial vamos a construir una alarma con Arduino y un sensor de ultrasonidos (el famoso HC-SR04). Este proyecto es ideal para principiantes porque aprendes a leer sensores externos y a generar una respuesta física (encender un LED y hacer sonar un buzzer) cuando alguien se acerca demasiado. A continuación, te explico cómo funciona el sensor, qué materiales necesitas, cómo montar el circuito y te desgloso el código línea por línea para que realmente entiendas lo que estás programando. ¿Cómo funciona el Sensor Ultrasónico HC-SR04? Este sensor funciona igual que un sonar o los delfines: emite un sonido imperceptible para el humano (ultrasonido) y espera a que ese sonido choque contra un objeto y regrese (eco). Pin Trig (Trigger - Disparo): Le dice al sensor que debe "gritar" y emitir el pulso de ultrasonido. Pin Echo (Eco - Recepción): Se queda escuchando...

Instalar el driver USB a TTL PL2303HX en Windows 10 (Solución al Error Code 10)

Introducción: ¿Para qué sirve el convertidor USB a TTL? Los adaptadores USB a TTL (equipados con chips como el PL2303HX , FTDI o CP2102) son herramientas indispensables en el taller de cualquier maker, técnico o entusiasta de la electrónica. Nos permiten establecer comunicación serie UART entre un ordenador y dispositivos como Arduino, ESP32-CAM, routers, receptores de satélite o tablets . Sin embargo, conectar este tipo de cables en Windows 10 o Windows 11 suele transformarse en un dolor de cabeza. Al conectar el dispositivo, el sistema instala automáticamente el controlador más reciente y muestra un aviso de fallo con el icono amarillo de advertencia: "Este dispositivo no puede iniciar (Código 10)" . A continuación te explicamos por qué sucede y cómo solucionarlo en pocos minutos. ⚠️ Causa del fallo: Bloqueo de chips no oficiales por Prolific La inmensa mayoría de los módulos USB-TTL económicos integran una revisión o clon del chip Pr...