Práctica HC-SR04
Está práctica consistirá en obtener la distancia que existe entre el sensor y un objeto (obstáculo).
- Código
Comenzaremos declarando los pines donde se conectarán la entrada y la salida del sensor. TRIG es salida y ECHO será entrada.
Iniciamos dos variables que serían el tiempo que tarda en mandar el pulso desde el pin ECHO y la distancia.
#define TRIG 10
#define ECHO 9
Int DURACION;
Int DISTANCIA;
En la función setup() se definirá TRIG como un pin de salida y ECHO como un pin de entrada.
Void setup(){
pinMode (TRIG,OUTPUT);
pinMode (ECHO,INPUT);
Serial.begin(9600);
}
En la función loop() agregaremos las operaciones y las instrucciones para obtener la distancia entre el sensor y el objeto. Mandaremos un HIGH y un LOW desde el pin TRIG para empezar el ciclo que realiza la onda.
La instrucción pulseIn funciona para obtener el tiempo que tardo en obtener un pulso dicho pin, utilizaremos esta instrucción para almacenar el valor dentro de la variable DURACION.
Para finalizar realizaremos una división de DURACION/58.2 para obtener la distancia en centímetros. Dicha operación la guardaremos en la variable DISTANCIA y la imprimiremos en el monitor serial.
Void loop(){
digitalWrite(TRIG, HIGH);
delay(1);
digitalWrite(TRIG, LOW);
DURACION = pulseIn(ECHO,HIGH);
DISTANCIA= DURACION/58.2;
Serial.println(DISTANCIA);
delay(500);
}
La constante 58.2 es un valor determinado por el fabricante del sensor para obtener la distancia en centímetros- Si alteramos esta constante no tendrá una medición correcta.
- Instrumentación
Para realizar el circuito se necesitará: 1 Arduino UNO, 1 sensor HC-SR04, 1 Protoboard y Jumpers.
Colocaremos el sensor ultrasónico a la protoboard y utilizando jumpers conectaremos la alimentación Vcc al pin de 5v, la tierra GND al pin GND, Trigger al pin digital 10 y Echo al pin digital 9 del Arduino. Como se muestra en la imagen.
Procura que no tenga ningún objetivo obstruyendo el emisor y receptor del sensor para tener una buena medición al momento de correr el programa.