7
Universidad de Los Andes Faculta de Ingeniería Escuela de Mecánica Departamento de Tecnología y Diseño Mecánica de Robot Integrantes: Astrid Díaz C.I.: 19.146.017 Alejandro Batatín C.I.: 19.751.293 Practica 8. Midiendo distancias con un sensor de ultrasonidos. Objetivo General: Utilizar un sensor de ultrasonido para medir distancias cuando se presente un obstáculo a través de la plataforma Arduino. Materiales que se utilizaran para el desarrollo de la práctica: 1. Una tarjeta Arduino Uno-R3 o Arduino Mega 2560. 2. Un cable USB impresora. 3. Un computador. 4. Cables para el montaje del circuito. 5. Tarjeta Protoboard. 6. Un sensor de ultrasonido (no importa la marca o el serial), en este caso para la práctica se utilizó un sensor HC-SR04. Los sensores de ultrasonidos son detectores de proximidad que trabajan libres de roces mecánicos y que detectan objetos a distancias que van desde pocos centímetros hasta varios metros. El sensor emite un sonido y mide el tiempo que la señal tarda en regresar. Estos reflejan en un objeto, el sensor recibe el eco producido y lo convierte en señales eléctricas, las cuales son elaboradas en el aparato de valoración. Estos sensores trabajan solamente en el aire, y pueden detectar objetos con diferentes formas, colores, superficies y de diferentes materiales. Los

Practica 8. Midiendo Distancias Con Un Ultrasonidos

Embed Size (px)

DESCRIPTION

hecho por astrid diaz

Citation preview

Page 1: Practica 8. Midiendo Distancias Con Un Ultrasonidos

Universidad de Los Andes

Faculta de Ingeniería

Escuela de Mecánica

Departamento de Tecnología y Diseño

Mecánica de Robot

Integrantes:

Astrid Díaz C.I.: 19.146.017

Alejandro Batatín C.I.: 19.751.293

Practica 8. Midiendo distancias con un sensor de ultrasonidos.

Objetivo General: Utilizar un sensor de ultrasonido para medir distancias cuando se presente un obstáculo a través de la plataforma Arduino.

Materiales que se utilizaran para el desarrollo de la práctica:

1. Una tarjeta Arduino Uno-R3 o Arduino Mega 2560.2. Un cable USB impresora.3. Un computador.4. Cables para el montaje del circuito.5. Tarjeta Protoboard.6. Un sensor de ultrasonido (no importa la marca o el serial), en este caso para la práctica se

utilizó un sensor HC-SR04.

Los sensores de ultrasonidos son detectores de proximidad que trabajan libres de roces mecánicos y que detectan objetos a distancias que van desde pocos centímetros hasta varios metros. El sensor emite un sonido y mide el tiempo que la señal tarda en regresar. Estos reflejan en un objeto, el sensor recibe el eco producido y lo convierte en señales eléctricas, las cuales son elaboradas en el aparato de valoración. Estos sensores trabajan solamente en el aire, y pueden detectar objetos con diferentes formas, colores, superficies y de diferentes materiales. Los materiales pueden ser sólidos, líquidos o polvorientos, sin embargo han de ser deflectores de sonido. Los sensores trabajan según el tiempo de transcurso del eco, es decir, se valora la distancia temporal entre el impulso de emisión y el impulso del eco.

Page 2: Practica 8. Midiendo Distancias Con Un Ultrasonidos

Montaje de la práctica:

Con el fin de comprender de una manera más fácil el funcionamiento del circuito, así como verificar todas las conexiones existentes, se realiza en primer lugar el montaje del circuito mediante el uso del programa Fritzing.

Figura 1. Montaje del circuito en el programa Fritzing.

Podemos observar quel sensor tiene 4 pines, la conexión del cable rojo va desde el pin VCC del sensor al pin de 5V de la tarjeta Arduino, el cable azul va desde el pin TRING del sensor al pin 12 de la tarjeta Arduino, el cable verde va desde el pin ECHON del sensor al pin 11 de la tarjeta

Arduino, el pin 11 de la tarjeta tiene al lado un símbolo ( ̴�) , esos puertos o pines que contienen al lado este tipo de símbolo nos permiten mandar señal modulada, es decir los pines que no tienen ese emblema solo mandan señales de 0 y 1; y es necesario emular una señal digital por eso utilizaremos el pin 11, y por último el cable negro va desde el pin GND de sensor al pin de tierra de la tarjeta Arduino.

Page 3: Practica 8. Midiendo Distancias Con Un Ultrasonidos

Figura 2. Sensor de Ultrasonido utilizado en la práctica.

Luego que tengamos armado el circuito en el programa Fritzing, podemos empezar con el desarrollo del programa en el IDE de Arduino.

Procedimiento de cómo llevar a cabo el codificado del programa:

1. Se debe seleccionar en la IDE de Arduino el tipo de tarjeta con el que vamos a trabajar siendo Arduino Uno-R3 o Arduino Mega 2560.

2. Se selecciona el Puerto Serial, es decir el puerto USB se va a conectar la tarjeta Arduino con el computador.

3. Se empieza a realizar el código: Inicialmente debemos identificar el programa que estamos desarrollando, por tanto

se asigna un nombre al programa, esto se hace empleando el símbolo //, que permite colocar comentarios a lo largo del código para poder facilitar la comprensión de la instrucción que realiza cada línea, podemos colocar el título de la práctica o del programa en sí.

Se deben declarar las variables globales que serán utilizadas en el programa. Antes de eso debemos llamar a un paquete dentro de la IDE de Arduino llamado NewPing, el carga comandos que trabajan solamente con este tipo de dispositivo; a esto se le llama programación orientada a objetos. El comando para llamar al importante paquete es #include<NewPing.h>. Debemos declarar la variable de movimiento del sensor para esto utilizamos el comando #define TRIGGER_PIN, se define la variable y se coloca el valor del pin en la cual mandara esa señal de movimiento en nuestro caso será el pin 12. Nos quedaría entonces #define TRIGGER_PIN 12. Luego debemos declara la variable de repetición, la cual nos permitirá saber a qué distancia encontrara un obstáculo para esto utilizamos el comando #define ECHO_PIN, el pin que nos permitirá mandar la señal modulada entre el obstáculo y el sensor será el pin 11. Nos quedaría entonces #define ECHO_PIN 11. Y por último debemos definir a que distancia máxima podrá leer nuestro sensor, para esto utilizaremos el comando #define MAX_DISTANCE, en este caso queremos darle un valor de distancia de 200 centímetro. Este comando es importante ya que es el que le dará a la señal la distancia de ir y venir para quel sensor pueda leerlo.

Page 4: Practica 8. Midiendo Distancias Con Un Ultrasonidos

Nos quedaría entonces #define MAX_DISTANCE 200. Seguidamente se realiza la declaración de las configuraciones de las variables o la

inicialización de la comunicación serie dentro de los corchetes que delimitan el bloque de programa void setup (). Para la realización de esta práctica se trabajara con la comunicación serie, es decir la comunicación de datos con el computador. Para abrir el puerto serie se utiliza el comando Serial.Begin (115200); indicando dentro de los paréntesis la velocidad de comunicación con el computador, esta generalmente es 9600 bits por segundo, aunque otras tasas pueden ser soportadas.

Luego de inicializada la comunicación serie, se procede con el bloque de programación que se encuentra ubicado en el interior de los corchetes del comando void loop () el cual se ejecutara continuamente leyendo las entradas y generando las salidas. En las primeras instrucciones del bloque de programa se quiere darle un delay de 50, ya que es necesario que tenga un tiempo de espera entre los pines. Luego a través del comando unsigned int uS = sonar.ping(), permite enviar la señal digital la cual es la distancia que tomara el sensor al ser obstaculizada por algún objeto. Posteriormente se empleara la función Serial.print(); para enseñar el valor medido a través del monitor, en el interior de los paréntesis se debe colocar el valor, si se quieren escribir palabras o frases estas deben ir delimitadas mediante los comillas, es decir Serial.print (“Ping: ”). Luego para que pueda convertir el tiempo en que la señal va y viene en distancia (cm) debemos utilizar el comando Serial.print (uS/ US_ROUNDTRIP_CM); y pasa enseñar el valor de distancia utilizaremos Serial.println(“Cm: ”).

Finalmente se debe verificar que al final de cada instrucción se haya colocado el respectivo punto y coma, de lo contrario habrán errores a la hora de compilar.

Una vez compilado el programa se ejecuta el mismo. Si las conexiones se hicieron de manera correcta el señor capta y envía las señal a la tarjeta y esta posteriormente al monitor, sin embargo para poder observar estos datos es necesario activar el monitor serial, esto se realiza oprimiendo click izquierdo en la barra de herramientas del IDE de Arduino que señaliza el monitor serial en la parte superior derecha.

NOTA: Para quel IDE de Arduino pueda entender los comandos es necesario que al final de cada instrucción se coloque punto y coma (;).

En la siguiente imagen se mostrara como quedo plasmado en el IDE de Arduino, los procedimientos anteriormente señalados:

Page 5: Practica 8. Midiendo Distancias Con Un Ultrasonidos

Figura 3. Código de Lectura de valor de distancia a través de un sensor de ultrasonido.

Figura 4. Botón para activar el Monitor Serial.

Page 6: Practica 8. Midiendo Distancias Con Un Ultrasonidos

Conclusión: Como hemos visto a lo largo de esta práctica, utilizar el sensor de ultrasonido con una librería facilita en gran medida el desarrollo de aplicaciones. Sin embargo, podemos desarrollar también nuestro propio código que optimice el uso del tiempo del CPU, utilizando incluso interrupciones y eventos.

El código realizado con la librería NewPing queda bastante sencillo y además de aceptar el sensor ultrasónico HC-SR04 permite utilizar la gran mayoría de los sensores que utilizan interfaz del tipo Interfaz “con pulsos” con 3 y 4 pines.

Las ventajas e inconvenientes de estos sensores son, al no necesitar el contacto físico con el objeto, ofrece la posibilidad de detectar objetos frágiles, como pintura fresca, además detecta cualquier material, independientemente del color, al mismo alcance, sin ajuste ni factor de corrección. Los sensores ultrasónicos tienen una función de aprendizaje para definir el campo de detección, con un alcance mínimo y máximo de precisión de 6 mm. El problema que presentan estos dispositivos son las zonas ciegas y el problema de las falsas alarmas. La zona ciega es la zona comprendida entre el lado sensible del detector y el alcance mínimo en el que ningún objeto puede detectarse de forma fiable.