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):
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);
}
0 comentarios:
Publicar un comentario