En este momento estás viendo Como medir distancia con el módulo HC-SR04

Como medir distancia con el módulo HC-SR04

Cuando necesitamos medir distancia, existen muchas alternativas. Pero cuando lo queremos hacer sin contacto, ya el abanico de opciones se va cerrando, podríamos usar sensores laser, infrarrojos o ultrasónicos, por mencionar los más comunes. La medición de distancia por ultrasonidos es una de las más sencillas, económicas y prácticas alternativas que tenemos por ahora. A continuación vamos a aprender a usar el popular medidor de distancia por ultrasonidos HC-SR04.

El modulo HC-SR04 viene montado en una pequeña placa la cual contiene toda la electrónica requerida para hacer la medición y comunicarse. Este módulo nos permite medir distancias desde 2cm hasta 400cm, con una resolución de hasta 3mm.

Funcionamiento

El principio básico de funcionamiento es como sigue:

  1. Se envía un pulso (de 5V) de 10 microsegundos al pin Trig para iniciar la medición.
  2. El módulo enviará automáticamente ocho pulsos de 40 kHz y detecta si hay una señal de retorno.
  3. El modulo responde con un pulso (de 5V) cuyo tiempo en alto es el tiempo que tardo el pulso en ir y regresar, este tiempo esta medido en microsegundos.
  4. Por lo tanto la distancia se calcula por

Distancia = (tiempo en alto del pulso recibido x velocidad del sonido (343m/s)) / 2

Pines

Los pines son los siguientes:

VCC - Es el pin de alimentación de 5V
Trig – Es un pin de entrada que inicia la medición
Echo – Es el pin de salida que nos indica la distancia medida
Gnd – Es el pin de tierra

Especificaciones

Las especificaciones del sensor HC-SR04 son las siguientes:

Voltaje de operación: 5Vdc
Corriente de operación: 15mA
Frecuencia de operación: 40Hz
Máximo rango: 4m
Mínimo rango: 2cm
Angulo de medición: 15 grados
Señal de entrada de disparo: 10µS pulso TTL (5V)
Señal de salida Echo: Señal TTL (5V)
Dimensiones: 45 * 20 * 15mm

Probando el sensor

Circuito

Para realizar una prueba del sensor montaremos el siguiente circuito:

Programa

Y cargaremos el siguiente código en el IDE de Arduino

long tiempo;
int disparo = 2;   // triger
int echo = 3;      // echo
float distancia;

void setup() {
  pinMode(disparo, OUTPUT);
  pinMode(echo, INPUT);
  digitalWrite(disparo, LOW);
  Serial.begin(9600);
}

void loop() {

  digitalWrite(disparo, HIGH); //Se envia el pulso de activacion del sensor
  delayMicroseconds(10);
  digitalWrite(disparo, LOW);
  
  tiempo = pulseIn(echo, HIGH); // Obtengo el tiempo del sensor
  
  distancia = 0.0343*tiempo/2; //Calculo la distancia
  
  Serial.println(distancia); //Muestro la distancia en el monitor serie
  delay(1000);
}

Y con esto hemos culminado la lección, espero te allá sido de provecho.

Y si aun no te has suscrito a nuestro boletín, suscríbete y te mantendré informado de  la últimas publicaciones y entregas especiales. Y si tienes alguna pregunta o comentario acerca del post no dudes en hacerla.

Deja una respuesta