Guia_Laboratorio_No_1.pdf
Document Details
Uploaded by UnrealParody
Universidad del Quindío
Tags
Full Transcript
Laboratorio No 1. Lógica de Programación. Explorando bloques y flujos con Robots LEGO® MINDSTORMS EV3 (2 semanas) Laboratorio No 1. Lógica de Programación Explorando bloques y flujos con Robots L...
Laboratorio No 1. Lógica de Programación. Explorando bloques y flujos con Robots LEGO® MINDSTORMS EV3 (2 semanas) Laboratorio No 1. Lógica de Programación Explorando bloques y flujos con Robots LEGO EV3 El objetivo de este laboratorio es familiarizarnos con la representación de algoritmos por medios gráficos, considerando un flujo de programación. Para lo anterior, utilizaremos herramientas LEGO®, un robot con posibilidades de movimiento, y la posibilidad de personalización de tales movimientos mediante bloques de programación, lo que nos ayuda fundamentalmente en la construcción de programas o algoritmos computacionales. No utilizaremos directamente un lenguaje de programación, pero sí indicaremos gráficamente al robot la lógica de los algoritmos o rutina que debe ejecutar. Robot LEGO a ensamblar Antes de comenzar con el proceso de armado de nuestro robot debemos de tener claridad en algunos de los aspectos y elementos que se utilizarán, así como su funcionalidad. Consideraremos las siguientes secciones, módulos o pasos para el armado y la programación del Robot: 1. Componentes del ladrillo. 2. Armado de chasis. 2.1 Lado izquierdo – Motor Izquierdo. 2.2 Lado derecho – Motor derecho. 2 Laboratorio No 1. Lógica de Programación Explorando bloques y flujos con Robots LEGO EV3 2.3 Bastidores (defensas). 2.4 Llantas. 2.5 Rueda de deslizamiento. 2.6 Cableado 2.7 Sensor Ultrasonido 3 Programación del robot. 1. Componentes del ladrillo El ladrillo es el cerebro del robot, el cual permite configurarlo para realizar las actividades que se le programen; es un microprocesador con puertos de entrada, salida y memoria para el almacenamiento de los programas. En esta versión del ladrillo se puede conectar un computador a través de un cable USB, por medio de Bluetooth y WiFi. Para un mejor manejo y comprensión los puertos de entrada y salida se diferencian por letras y números; los de entrada, que son cuatro, son etiquetados con los números (1, 2, 3, 4) y los puertos de salida, que son tres, se reconocen por letras (A, B, C, D). Los puertos establecen los puntos de conexión del cerebro del robot con los sensores y actuadores, responsables de la interacción física con el medio. Salida A B C D Botones encendido apagado Pantalla de cristal liquido navegación Parlantes 1 2 3 4 Entrada Partes del Ladrillo 3 Laboratorio No 1. Lógica de Programación Explorando bloques y flujos con Robots LEGO EV3 Especificaciones detalladas del Ladrillo Puertos de Entrada Los puertos de entrada 1, 2, 3 y 4 se utilizan para conectar los sensores al Bloque EV3. Para funciones y programación por defecto: Puerto 1. Sensor de tacto. Puerto 2. Sensor de sonido. Puerto 3. Sensor de luz. Puerto 4. Sensor de ultrasonido. Puertos de Salida Los puertos de salida A, B, C y D se utilizan para conectar los motores al Bloque EV3. Para funciones y programación por defecto: Puerto A. Motor izquierdo para función extra. Puerto B. Motor izquierdo. Puerto C. Motor derecho. Puerto para PC El Puerto Mini USB para PC que se encuentra junto al puerto D se utiliza para conectar el Bloque EV3 a un equipo de cómputo. Parlante Todos los sonidos del Bloque EV3 salen a través del parlante; incluidos todos los efectos de sonido utilizados en la programación de sus robots. Cuando la calidad del sonido es importante para usted, es conveniente dejar descubierto el parlante mientras diseñamos el robot. 4 Laboratorio No 1. Lógica de Programación Explorando bloques y flujos con Robots LEGO EV3 Existen archivos de sonido que pueden programarse con el Software de EV3 (ver anexo adjunto “ev3_user_guide.pdf”). Puerto anfitrión USB El Puerto anfitrión USB puede utilizarse para agregar un conector USB para la red inalámbrica para establecer una conexión con una red inalámbrica, o para establecer una conexión de hasta cuatro Bloques EV3 juntos. Puerto de tarjeta SD El Puerto de tarjeta SD aumenta la memoria disponible para su Bloque EV3 con una tarjeta SD (32 GB máximo, no se incluye). Botones de Encendido y alertas. 1. Atrás Este botón se utiliza para revertir acciones, cancelar un programa en ejecución y apagar el Bloque EV3. 2.Centro Al presionar el botón Centro, se responde “Aceptar” a varias preguntas: cerrar, seleccionar ajustes deseados o seleccionar bloques en el Programa para el Bloque EV3. 3.Dirección/Navegación Teclas que se presionan para navegación a través de las opciones de cada menú. 5 Laboratorio No 1. Lógica de Programación Explorando bloques y flujos con Robots LEGO EV3 Luces de Encendido o Alertas Rojo: indica el inicio, actualizar y apagado Rojo con parpadeo: Ocupado Naranja: Alerta, listo para ejecutar Naranja con parpadeo: Alerta, Ejecutando Verde: Listo Verde con parpadeo: Ejecutando un programa ¿Qué vemos en la pantalla? Menú principal: Pantalla de inicio Para encender el Bloque EV3, presione el botón Centro. Después de presionar el botón, la Luz de estado del Bloque EV3 se encenderá en color rojo y aparecerá la pantalla de inicio. Cuando el color de la luz cambia a verde, el Bloque EV3 está listo 6 Laboratorio No 1. Lógica de Programación Explorando bloques y flujos con Robots LEGO EV3 Pantalla de Apagado Para apagar el Bloque EV3, presione el botón Atrás hasta ver la pantalla de apagado. La opción Cancelar X estará seleccionada. Utilice el botón Derecha para seleccionar la marca de verificación de Aceptar y, luego, presione el botón Centro para aceptar. El Bloque EV3 estará apagado. Si presiona Aceptar mientras se selecciona la X, volverá a la pantalla Ejecutar reciente. Ejecutar reciente En esta parte es donde se ejecutan los programas almacenados en el Brick. La pantalla inicialmente permanece en blanco hasta que no se comience a ejecutar programas. Para ejecutar un programa se debe seleccionar usando los botones Arriba/Abajo y luego pulsar el botón del centro. 7 Laboratorio No 1. Lógica de Programación Explorando bloques y flujos con Robots LEGO EV3 Navegación de archivos En esta pantalla se organizan los archivos en carpetas. Cada proyecto se tiene su propia carpeta. Los programas creados con la interfaz del bloque se almacenan dentro de la carpeta BrkProg_SAVE y las aplicaciones de Registro de Datos en la carpeta BrkDL_SAVE Aplicaciones Este menú consta de cinco aplicaciones preinstaladas: Port View (Vista de Puertos) Esta aplicación permite ver qué sensores o motores están conectados al bloque. Si utilizas los botones del bloque EV3 podrás desplazarte de un puerto a otro y ver las lecturas que devuelve cada sensor o motor conectado. Presionando en el botón Centro se pueden cambiar los ajustes de cada dispositivo conectado. Si pulsas en el botón Atrás regresas a la pantalla de aplicaciones 8 Laboratorio No 1. Lógica de Programación Explorando bloques y flujos con Robots LEGO EV3 Motor Control (Control de motores) Usando esta aplicación se puede testear el movimiento de avance y retroceso de cualquier motor conectado a uno de los puertos de salida del bloque. Ofrece dos modos de funcionamiento que se alternan pulsando en el botón Centro: Modo A+D: el motor A se controla con los botones Arriba-Abajo y el motor D con los botones Izquierda-Abajo del brick. Modo B+C: el motor B se controla con los botones Arriba-Abajo y el motor C con los botones Izquierda-Abajo. Brick Program (Programa del Bloque) Es una aplicación que permite crear programas básicos. Brick Datalog (Registro de datos del Bloque) En esta aplicación es posible registrar los datos detectados por un sensor o motor conectado al bloque EV3. En el caso de los motores sería la lectura realizada por el sensor de rotación incorporado. Se genera un gráfico con los resultados de la lectura. A la derecha se muestra la lectura actual, duración, lectura más alta, lectura más baja y promedio. Debajo se ofrece el puerto desde el que se está realizando la lectura y éste se puede cambiar si se selecciona en pantalla y a continuación se utilizan los botones Izquierda/Derecha del bloque. Otra posibilidad es seleccionar en pantalla el icono de Ajuste de Registro para definir en Rate la frecuencia de muestreo (cada cuánto tiempo se tomará la medida) o bien en Sensor Setup (el sensor a registrar). También es posible guardar estos datos numéricos en un archivo de texto que se guardará en la carpeta BrkDL_SAVE. 9 Laboratorio No 1. Lógica de Programación Explorando bloques y flujos con Robots LEGO EV3 Ajustes Permite Consultar y configurar los parámetros generales de funcionamiento del Brick EV3. Volumen. Permite ajustar el volumen del sonido del altavoz que tiene el bloque EV3. Para modificar el volumen selecciona esta opción y pulsa el botón Centro. Utiliza los botones Izquierda/Derecha para ajustar el porcentaje del 0% al 100%. Para terminar, pulsar de nuevo en el botón Centro. Sleep. Se utiliza para modificar la cantidad de tiempo de inactividad que debe transcurrir antes de que el bloque EV3 adquiera el modo de suspensión de ahorro energético. Para entrar a modificarlo pulsa en el botón Centro. Utiliza los botones Izquierda/Derecha para establecer desde 2 minutos a Nunca. Para confirmar volver a pulsar el botón Centro. Bluetooth. Desde esta sección se puede activar el BT, conectar con otros dispositivos, consultar los dispositivos conectados o bien la visibilidad. WIFI. Esta opción permite conectar el Brick a la WIFI. Esto sólo funciona si se inserta en el bloque un dongle USB de la marca NetGear y el modelo WNA1110 Wireless-N 150. Brick Info. Ofrece información técnica del bloque EV3: versión del hardware, firmware, sistema operativo Linux, memoria disponible, etc. 10 Laboratorio No 1. Lógica de Programación Explorando bloques y flujos con Robots LEGO EV3 Puertos predeterminados Puertos de entrada Puerto Aplicación 1 Se puede utilizar para programar una Sensor de táctil. acción del robot cuando algo toca el sensor (presionado) Otra posibilidad es programar esa acción cuando algo deja de presionar y suelta el sensor (lanzado). Un robot de pelea puede programarse para continuar empujando hacia delante en dirección a su oponente hasta que se retire. Ese par de acciones que registra (presionado y lanzado) constituye el estado "en contacto". 2 Se puede utilizar la razón de rotación para Girosensor detectar si gira una parte del robot o bien el robot se cae. Permite programar giros con bastante exactitud 2 Mide en grados Celsius (de -20 °C a 120 Sensor de Temperatura °C) o bien Fahrenheit ( de -4 °F a 248 °F) con una precisión de 0,1 °C. Permite aplicar el uso de robots a experimentos donde se recojan datos relacionados con el calor. 11 Laboratorio No 1. Lógica de Programación Explorando bloques y flujos con Robots LEGO EV3 3 Modo color. Reconoce 7 colores: negro, Sensor de Color azul, verde, amarillo, rojo, blanco y sin color. Se aplica para programar una clasificación de objetos de colores o para detenerse cuando detecta el color rojo. Modo intensidad de luz reflejada. Mide la intensidad de la luz reflejada que emite su lámpara emisora de luz color rojo. El sensor utiliza la escala de 0 (muy oscuro) a 100 (muy luminoso). Modo intensidad de luz ambiental. Mide la intensidad de luz que entra por su ventana procedente de su entorno, como por ejemplo luz solar o el haz de una linterna. Devuelve un valor de 0 (muy oscuro) hasta de 100 (muy luminoso). 4 Sensor de ultrasonido Programar un robot para que se detenga a una distancia determinada de una pared. Ayudar al robot para que esquive obstáculos. Seguir a un objeto móvil. Detectar un robot intruso en la sala. Emitir un sonido "ping" con volumen en aumento en función de la proximidad. 4 Sensor Infrarrojo Detecta luz infrarroja reflejada por objetos macizos. Este sensor se puede utilizar en 3 modos: proximidad (utiliza la onda de luz reflejada para calcular la distancia a un 12 Laboratorio No 1. Lógica de Programación Explorando bloques y flujos con Robots LEGO EV3 objeto siendo 0 muy cerca y 100 muy lejos sin especificar los cm o pulgadas). Baliza (sintoniza en uno de los 4 canales elegidos con el transceptor de infrarrojos remoto y de esta forma detecta la señal del mismo) y remoto. Puertos de salida A Es un motor pequeño y ligero en Motor Mediano comparación con el motor grande. Por este motivo puede responder más rápidamente que el motor grande. Funciona a 240-250 rpm. ByC Es un servomotor o un motor inteligente Dos motores Grandes potente que funciona a 160-170 rpm. Dispone de un sensor de rotación incorporado con resolución de 1 grado para un control preciso. D 13 Laboratorio No 1. Lógica de Programación Explorando bloques y flujos con Robots LEGO EV3 Motor Grande Es el mismo servomotor que se conecta a los puertos B y C 2. Armado del chasis Esta es la primera de las etapas donde se le dará forma y rigidez al robot además de programar las funciones para las que ha sido creado. Al momento de iniciar el proceso de armado se debe de tener en cuenta las imágenes debido a que la lateralidad es importante, ya que al momento de armar todos los conjuntos deben ensamblar correctamente para cumplir con la función que se creará. Para el armado del robot debemos apoyarnos en las guías impresas que vienen con cada kit de robot o con las guías de ensamble adjuntas. En primera instancia debemos ensamblar el robot, de acuerdo con la descripción e instrucciones dadas en “01_guia_ensamble_driving_base.pdf” y, posteriormente, adicionar el sensor ultrasonido, siguiendo las indicaciones establecidas en “02_guia_ensamble_sensor_ultrasonido.pdf”. 14 Laboratorio No 1. Lógica de Programación Explorando bloques y flujos con Robots LEGO EV3 Robot armado 3. Programación del robot Para este paso realizaremos la prueba de funcionamiento del robot, por lo cual se le programará unas instrucciones básicas, antes de dar inicio, se dará una breve descripción de este menú. 1. Lo primero que se debe hacer es encender el ladrillo para iniciar la programación, oprimiendo el botón del centro del ladrillo. 2. Desplazamos en las opciones que nos da el menú hasta la tercera pestaña, allí encontraremos diferentes aplicaciones, presionamos la pestaña y desplazamos hasta “Brick Program”, donde se encontrará los siguientes menús. 15 Laboratorio No 1. Lógica de Programación Explorando bloques y flujos con Robots LEGO EV3 En esta opción se guarda un programa o se abre En esta parte se agrega los iconos. Después de ver esta opción damos flecha arriba y parece las diferentes opciones que se pueden utilizar para programas. Opciones de Tiempo Sensores Sensores de contacto, de luz y de color Imágenes sonidos y Luz Borrar y movimientos de motores Paleta de bloques que aparece en el Ladrillo 16 Laboratorio No 1. Lógica de Programación Explorando bloques y flujos con Robots LEGO EV3 Nuestro Programa… Empezando… Programemos las siguientes instrucciones en el Robot. Para cada una describamos paso a paso (bloque a bloque) qué hace el robot. 1. 17 Laboratorio No 1. Lógica de Programación Explorando bloques y flujos con Robots LEGO EV3 2. 3. 4. (Con sensor ultrasonido) Ahora… Resolvamos. Modifiquemos cada una de las rutinas o programas anteriores, de tal manera que el robot las repita tres veces. Construyamos una rutina o programa para que el robot describa un cuadrado de 60cm de lado. Modifiquemos la rutina o programa N°4 de manera que, usando el sensor ultrasonido, el robot, al detectar un obstáculo a 30cm, debe girar para evadirlo. Esto debe repetirse indefinidamente. Finalmente, expliquemos cada uno de los flujos de los programas resultantes y los procedimientos que se siguieron para su verificación. 18 INGENIERÍA ELECTRÓNICA Tel: (57) 6 735 9300 Ext 359 Carrera 15 Calle 12 Norte Armenia, Quindío – Colombia [email protected]