El sensor HC-SR04 es un módulo que incorpora un par de
transductores de ultrasonido que se utilizan de manera conjunta para
determinar la distancia del sensor con un objeto colocado enfrente de
este. Quizá la característica más destacada del HC-SR04 es que puede ser
adquirido por una baja suma de dinero y esto mismo lo ha hecho muy
popular. Afortunadamente el módulo HC-SR04 es bastante
fácil de utilizar a pesar de su bajo precio y no demanda grán cantidad
de trabajo ponerlo a funcionar, mucho menos si utilizamos una librería para sensores ultrasónicos.
En este tutorial explicaremos como utilizar un sensor ultrasónico HC-SR04 y arduino para la medición de distancia.
Conceptos Básicos.
Primeramente debemos armar el circuito de prueba para el sensor, el cual consiste únicamente en proveer alimentación al módulo y asignarle 2 pines de interfaz con el Arduino (echo y trigger). Este tipo de módulos para medición de distancia por ultrasonidos se divide en 2 grandes grupos: Interfaz mediante pulso de eco e interfaz serial (I2C o UART). El HC-SR04 cae dentro del primer grupo, por lo que explicaremos su funcionamiento brevemente en las siguientes lineas.
La interfaz digital se logra mediante 2 pines digitales: el pin de trigger (disparo) y echo (eco).
- El primero recibe un pulso de habilitación de parte del microcontrolador, mediante el cual se le indica al módulo que comience a realizar la medición de distancia.
- A través de un segundo pin (echo) el sensor “muestra” al microcontrolador un puso cuyo ancho es proporcional al tiempo que tarda el sonido en viajar del transductor al obstaculo y luego de vuelta al módulo.
Mediante una sencilla formula puede estimarse entonces la distancia
entre el sensor y el obstáculo si se conoce el tiempo de viaje del
sonido así como la velocidad de propagación de la onda sonora. La
siguiente imagen muestra los pulsos recibidos y enviados por el sensor,
de acuerdo a la hoja de datos elaborada por Itead Studio.
Como se puede observar, el HC-SR04 genera un pulso en el pin marcado como “echo”
cuya duración es proporcional a la distancia medida por el sensor. Para
obtener la distancia en centímetros, solamente debemos dividir el
tiempo en microsegundos entre 58 o para obtener la distancia.
_________________________________________
Materiales Requeridos.
- Tarjeta Arduino UNO R3
- Módulo sensor ultrasónico HC-SR04
- Cables tipo dupont para conexiones
- Protoboard (opcional)
_________________________________________
Esquema
El siguiente circuito es el mínimo necesario para hacer funcionar el sensor ultrasonido HC-SR04. Puedes hacer uso del protoboard para tener mayor comodidad.
_________________________________________
Código
#include <NewPing.h>
/*Aqui se configuran los pines donde debemos conectar el sensor*/
#define TRIGGER_PIN 12
#define ECHO_PIN 11
#define MAX_DISTANCE 200
/*Crear el objeto de la clase NewPing*/
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);
void setup() {
Serial.begin(9600);
}
void loop() {
// Esperar 1 segundo entre mediciones
delay(1000);
// Obtener medicion de tiempo de viaje del sonido y guardar en variable uS
int uS = sonar.ping_median();
// Imprimir la distancia medida a la consola serial
Serial.print("Distancia: ");
// Calcular la distancia con base en una constante
Serial.print(uS / US_ROUNDTRIP_CM);
Serial.println("cm");
}
_________________________________________
Librerias necesarias
Descargar Librería NEW PING
Contenedor de versiones
_________________________________________
Pantallas de la sesión
____________________________________________
Fuente: ASXLab ASXKids ARDUINO GeekFactory
Comentarios
Publicar un comentario