ESCUELA SUPERIOR POLITÉCNICA DEL LITORAL Facultad de Ingeniería en Electricidad y Computación
¨USO DE SENSORES INFRARROJO Y DE COLOR¨
Fundamentos de Robótica Profesor: Nabih Andres Pico Rosas
Práctica #2 Paralelo: 3
Integrantes: Marcelo Dario Sanchez Vega Manuel Alfonso Castro Farez Karen Melissa Colcha Aguas Jose Luis Quijije Moreira
Objetivos Familiarización con el entorno de programación nativo del LEGO EV3 y todos sus componentes básicos. Aprender a usar el sensor de color y sus diferentes modos de funcionamiento. Aprender a usar el sensor infrarrojo y sus diferentes modos de funcionamiento.
Fundamentos Teóricos Sensor de color
El sensor digital de color de LEGO Mindstorms EV3 distingue entre ocho colores diferentes. Puede ser utilizado de tres modos: Modo color, Modo intensidad de la luz reflejada y Modo intensidad de la luz ambiental. Características de funcionamiento del sensor: ● No puede detectar la diferencia entre colores o blanco y negro, o entre azul, verde, amarillo, rojo, blanco y marrón. ● Frecuencia de muestreo de 1 kHz
Sensor infrarrojo
El Sensor infrarrojo es un sensor digital puede detectar luz infrarroja reflejada por objetos macizos. El sensor digital de infrarojos LEGO Mindsotroms EV3 busca y detecta la proximidad al robot y lee las señales emitidas por la baliza emisora de infrarrojos LEGO EV3. Características de funcionamiento del sensor: ● Medición de Proximidad (alcance) de aproximadamente 50 a 70 cm. ● Alcance desde la baliza de hasta dos metros.
Diagrama de flujos Inicio
Contador=1
1
0
Color= negro
Motor on
0
1
Sensor <5
Contador++
Motor on reversa
1 Timer >5
0
Contador++
Motor on 0
Color= negro
Contador++ Motor on
1
Contador++
1
Sensor <5
0
Motor on reversa Timer >6
0
1 Contador++
Motor on Contador++
0
Motor on Contador++
Alarma on
Contador por pantalla
fin
Color= negro 1
Motor off
Descripción del Programa
El programa se desarrolla de la siguiente manera: 1. 2.
3.
4.
5.
Se inicia con un bloque de temporizador que se va a encargar de medir el tiempo que se toma el robot en ejecutar todo el programa. A continuación se ejecuta un bucle que tiene como condición de salida la detección del sensor de color, cuando se detecta la línea negra. Al interior del buque se agrega un bucle que arranca ambos motores del robot, para que avance. Luego se inicia un bucle que tiene como condición de salida la detección de 5cm de distancia por parte del sensor infrarrojo. Al interior de este bucle se inicia el movimiento del robot pero con la potencia invertida, para que retroceda. Una vez se sale del bucle anterior se inicia un bucle que tiene por condición de salida un temporizador de 5 segundos, esto lo hacemos para que en el avance del robot, se salte la primera línea. Dentro del bucle se inicia el avance del robot. Cuando pasan los 5 segundos se inicia otro bloque más, que tiene por condición de salida, la detección por parte sensor de color de la línea negra. Dentro del bloque se ejecuta el avance del robot.
6.
7.
8.
9. 10.
Una vez detectada la segunda línea, se inicia un bloque que tiene como condición de salida la detección de pared a 5cm por el sensor infrarrojo. Dentro del bloque se tiene la ejecución del avance del robot con la potencia invertida para que retroceda. Luego que el robot se detiene a 5 cm de la pared, se inicia un nuevo bucle que tiene como condición de salida un temporizador de 6 segundos. Dentro del bloque se ejecuta el avance del robot. Pasados los 6 segundos, se inicia un nuevo bucle cuya condición de salida es la detección de una línea negra, pasados los 6 segundos que calculamos, el robot ya pasó las 2 primeras líneas. Dentro del bucle se ejecuta la acción de avance del robot. Una vez detectada la línea, el robot se detiene y se ejecuta un bloque que emite un tono por 2 segundos. Finalmente se ejecuta un bloque que muestra en pantalla el tiempo de ejecución de todo el programa.
Conclusiones Gracias al sensor de luz y el sensor de proximidad se pudo coordinar los movimientos descritos de la práctica, teniendo en cuenta que el sensor de luz presentaba dificultades en la lectura de la línea negra que era angosta. En la parte de programación para una mayor optimización se usó periodos de funcionamiento para el sensor de luz y bucles en los diferentes procesos, gracias a esto el robot funciona de manera efectiva, Si se ubican los sensores en lugares incorrectos al armar el cuerpo físico del robot estos podrían verse mal estéticamente o no tener espacio suficiente para ser conectado, es decir que el robot tendría un mal diseño.
Recomendaciones Los lazos creados en el programa deben realizarse de forma correcta debido a que el uso incorrecto de estos pueden provocar que el programa no funcione (no haya movimiento) o que funciones de forma incorrecta (realice tareas equivocas). Se recomienda descargar la programación de tareas en el cuerpo físico del robot paso por paso debido a que los sensores podrían estar mal ubicados o erróneos.
Cuando ensamblan las piezas del robot las conexiones especificadas en la programación debe ser la misma en los puertos físicos, por lo cual se debe tener precaución de cómo se ubican las piezas ya que estas pueden obstaculizar los puertos de control de motores y sensores varios.
Bibliografía Lego. (s.f.). Sensor de Color/Luz . Obtenido de Ro-Botica: http://www.ro-botica.com/Producto/Sensor-color-luz-LEGOMINDSTORMS-EV3/ Lego. (s.f.). Sensor infrarrojo. Obtenido de Ro-Botica: http://www.robotica.com/Producto/Sensor-baliza-IR-LEGO-MINDSTORMS-EV3/ LEGO® MINDSTORMS® EV3, “Construye un robot Track3r”. The LEGO Group. © 2016 The LEGO Group. http://ro-botica.com/Producto/Sensorbaliza-IR-LEGO-MINDSTORMS-EV3/ http://www.didacticaselectronicas.com/index.php?page=shop.product_details &flypage=flypage.tpl&product_id=2658&category_id=95&option=com_virtu emart&Itemid=126&vmcchk=1&Itemid=126 https://es.wikipedia.org/wiki/Lego_Mindstorms
Video Video Practica #2: https://youtu.be/EywcS2MGLgE
Código Fuente del Programa Código Fuente adjunto en el archivo comprimido.