Cómo conectar un sensor ultrasónico HC-SR04 a tu Arduino UNO (paso a paso)

Cómo conectar un sensor ultrasónico HC-SR04 a tu Arduino UNO (paso a paso)

¿Quieres que tu Arduino "vea" objetos y calcule distancias? El sensor ultrasónico HC-SR04 es el punto de partida perfecto: es el mismo sensor que usan la mayoría de robots esquivadores de obstáculos, alarmas de estacionamiento caseras y medidores de distancia. En esta guía armamos el circuito desde cero y lo probamos con código real.

¿Qué vamos a necesitar?

  • 1 Arduino UNO R3
  • 1 sensor ultrasónico HC-SR04
  • 4 cables macho-macho (jumpers)
  • 1 protoboard (opcional, pero recomendada para mantener todo ordenado)
  • Cable USB para conectar el Arduino a tu computadora

Puedes encontrar el Arduino UNO R3 y el sensor ultrasónico en nuestra colección de módulos y sensores.

¿Cómo funciona el HC-SR04?

El sensor tiene 4 pines: VCC, Trig, Echo y GND. Funciona así:

  1. El pin Trig envía un pulso ultrasónico (una onda de sonido que no podemos escuchar).
  2. Esa onda rebota contra el objeto más cercano y regresa al sensor.
  3. El pin Echo recibe esa señal de vuelta.
  4. Arduino mide cuánto tiempo tardó el sonido en ir y volver, y con eso calcula la distancia.

Es literalmente el mismo principio que usan los murciélagos y los sonares de los submarinos.

Paso 1: Conecta el sensor al Arduino

Sigue este orden de conexión:

Pin del HC-SR04 Pin del Arduino UNO
VCC 5V
GND GND
Trig Pin digital 9
Echo Pin digital 10

Si usas protoboard, coloca el sensor sobre ella y conecta cada pin con un jumper al Arduino siguiendo la tabla. No hay riesgo de dañar nada si te equivocas de pin digital (9 y 10 son solo una sugerencia), pero VCC y GND sí deben ir donde corresponde.

Paso 2: Sube este código a tu Arduino

Abre el IDE de Arduino, conecta la placa por USB y pega el siguiente código:

// Definimos los pines
const int pinTrig = 9;
const int pinEcho = 10;

void setup() {
  Serial.begin(9600);       // Iniciamos el monitor serial
  pinMode(pinTrig, OUTPUT); // Trig envía la señal
  pinMode(pinEcho, INPUT);  // Echo recibe la señal
}

void loop() {
  long duracion;
  float distanciaCm;

  // Enviamos un pulso de 10 microsegundos por Trig
  digitalWrite(pinTrig, LOW);
  delayMicroseconds(2);
  digitalWrite(pinTrig, HIGH);
  delayMicroseconds(10);
  digitalWrite(pinTrig, LOW);

  // Medimos cuánto tarda en volver la señal por Echo
  duracion = pulseIn(pinEcho, HIGH);

  // Convertimos el tiempo en distancia (velocidad del sonido = 343 m/s)
  distanciaCm = duracion * 0.0343 / 2;

  Serial.print("Distancia: ");
  Serial.print(distanciaCm);
  Serial.println(" cm");

  delay(500); // Medio segundo entre lecturas
}

Paso 3: Prueba tu sensor

  1. Abre el Monitor Serial en el IDE de Arduino (ícono de lupa arriba a la derecha, o Ctrl+Shift+M).
  2. Asegúrate de que la velocidad esté en 9600 baudios (esquina inferior derecha del monitor).
  3. Pon tu mano frente al sensor y muévela más cerca y más lejos.
  4. Deberías ver los valores de distancia cambiar en tiempo real, en centímetros.

Si ves números que no cambian o que se disparan a valores absurdos, revisa que Trig y Echo no estén invertidos — es el error más común.

¿Y ahora qué? Ideas para seguir el proyecto

Con esto ya funcionando, puedes dar el siguiente paso:

  • Alarma de proximidad: agrega un buzzer que suene cuando la distancia sea menor a 10 cm.
  • Robot esquivador de obstáculos: combina este sensor con dos motores y un chasis para que el robot gire automáticamente al detectar algo cerca. Nuestro Kit Robótico ya trae todo lo necesario para este proyecto.
  • Medidor de nivel: monta el sensor apuntando hacia abajo en un tanque de agua para medir el nivel de llenado.

Si te trabaste en algún paso o quieres que armemos juntos el siguiente proyecto, escríbenos — en Panca Store te ayudamos con atención personalizada en cada compra.

Regresar al blog