Sensor de distancia por Ultrasonido HC-SR04 Arduino

Publicado por Victor Arrieta en

El módulo HC – SR04 es dispositivo que puede ser usado para medir unos rangos específicos de distancia por medio de la medición del tiempo que se toma a una señal de ultrasonido en chocar contra un objeto y volver al dispositivo. Dado que la velocidad del sonido es casi constante, este simple método nos permite realizar mediciones de distancias con una precisión milimétrica. El módulo consta de 2 dispositivos, uno encargado de enviar la señal de sonido marcado con la letra “T” (transmitter) y el otro encargado de detectar la onda una vez ha rebotado marcado con la letra “R” (receiver).

 

El módulo cuenta también con 4 pines, dos de ellos para alimentación marcados como VCC y GDN, un pin para dar la orden de enviar los pulsos de sonido (Trig) y el segundo que se pondrá en alto desde el momento en que se emita la onda hasta el momento en que la misma se detectada de vuelta (Echo). Luego de esto sólo basta con tomar el tiempo que el pin Echo estuvo en alto en unidades de segundos y multiplicarlo por 1.7; para obtener así la distancia en centímetros. Por medio de este método podemos medir distancias desde los 2 cm hasta los 4 metros con errores hasta de 3 mm.

 

Para hacer que el sensor envíe la onda es necesario poner el pin Trig en alto por un mínimo de 10 microsegundos y luego medir con precisión el tiempo que el pin Echo está en alto; esto podríamos hacerlo con facilidad con cualquier tarjeta Arduino, sin embargo dado que existen ya librerías que son capaces de hacer todas estas mediciones y cálculos por nosotros, esto no tiene mucho sentido. A continuación te enseñaremos el código para hacer una medición sencilla con Arduino por medio del uso de la librería “Ultrasonic.h”, la cual podrás descargar en el siguiente enlace (Esta limitada a 51cm):

 

https://github.com/JRodrigoTech/Ultrasonic-HC-SR04/tree/master/Ultrasonic

 

Esquema de conexión:

Código:

 

#include <Ultrasonic.h> // añadimos la librería

 

Ultrasonic ultrasonic(A1,A0); // (Trig PIN,Echo PIN) 

 

void setup() {

  Serial.begin(9600); // iniciamos la comunicación serial

}

 

void loop()

{

//usamos el comando ultrasonic.Ranging() para obtener la medida

  Serial.print(ultrasonic.Ranging(CM)); // CM para centímetros o INC para pulgadas

  Serial.println(" cm" );

  delay(100);

}


Compartir esta publicación



← Publicación más antigua Publicación más reciente →