Iniciando con OLLO Bug. Lo primero que tenemos que tomar en cuenta cuando vamos a trabajar con el Ollo Bug, es que tenemos un controlador llamado CM-100 el cual será la vida del robot. Este se puede programar por medio de la computadora para poder realizar diferentes funciones y controlar ciertas variables, así como todos los dispositivos externos que se conectan a una computadora se requiere de ciertos drivers. Estos se instalaran automáticamente cuando instalemos el Programa que nos servirá para Programar el robot llamado ROBOPLUS. Para poder conectar el CM-100 a la computadora necesitamos de un hardware llamado LN-101 que no es más que un adaptador usb con un cable que se conecta al controlador del robot. Materiales utilizados -Kit OLLO BUG –DIY Robot kit -Ln-101 INTERFAZ USB -ROBOPLUS http://www.robotis.com/xe/1132559 Robodacta –Iniciando con OLLO BUG Instalando Roboplus Utilizando la liga que observamos arriba, instalamos el Roboplus como si se tratara de algún otro programa con extensión .exe. Al hacer la instalación los drivers correspondientes se instalaran también. De manera que al conectar la interfaz USB debemos observar que la computadora comienza a reconocerlo (esto puede tardar unos minutos) Para esto iremos al Administrador de dispositivos (haciendo clic derecho en equipo, propiedades y luego en un costado administrador de dispositivos y observaremos las siguientes partes -USB serial converter en la parte de controladores de bus serie universal -USB serial port (COMXX) en la parte de Puertos (COM Y LPT) Si observamos estas dos palabras dentro de nuestro administrador de dispositivos entonces ya tendremos instalados los drivers correspondientes. Ya teniendo el Roboplus instalado, lo abrimos y nos vamos a la pestaña que dice OLLOdaremos clic en Roboplus Task, este software nos ayudara a utilizar el OLLO BUG Robodacta –Iniciando con OLLO BUG Nota: Si no se instalan correctamente los drivers, puedes dar clic en actualizar controlador y buscar los drivers desde la carpeta de Roboplus- drivers Como programar en Roboplus La ventaja de Utilizar OLLO es que no tenemos que escribir todo el programa ya que solo debemos conocer las herramientas de RoboPlus task De manera General nos encontramos con una interfaz amplia divida en secciones horizontales, si damos un solo clic en cada zona veremos que se ilumina de azul como lo podemos observar en la siguiente figura Robodacta –Iniciando con OLLO BUG Esto nos servirá para situar en donde introducir las instrucciones del programa. Si hacemos doble clic sobre ellas aparecerá un submenú que nos servirá para introducir las instrucciones pero antes de hacer esto te pedirá que elijas el controlador que estamos usando; recordemos que es el CM-100. Al hacer esto ya nos permitirá con el doble clic desplegar el submenú. Siempre usaremos Start Program, para nuestro programa principal, dentro de este pondremos otras instrucciones, el objetivo de esta instrucción como su nombre lo indica es iniciar el programa. Dentro de este podemos utilizar otras instrucciones por ejemplo ENDLESS LOOP esta nos servirá para indicar que se creará un ciclo infinito y que estará repitiendo la Robodacta –Iniciando con OLLO BUG instrucción hasta que otra variable lo afecte y le permita detenerse. Por ejemplo si queremos que el robot vaya a una dirección especifica y lo haga indefinidamente. Consideremos un ejemplo donde queremos que solamente vaya hacia adelante Vemos que todo lo que queremos que realice esta dentro de Start Program , luego sigue ENDLESS LOOP que será la instrucción un proceso indefinido en tiempo. Y observamos PORT1 Y PORT2 estos controlarán los giros del motor. Tomando en cuenta que solo puede ir hacia adelante, hacia atrás, hacia la derecha, hacia la izquierda y girar en su propio eje. Los PORT1 Y PORT2 se usaran para programar el movimiento del robot. En base a la siguiente tabla veremos cómo indicar cada movimiento. Movimiento Adelante Atrás Robodacta –Iniciando con OLLO BUG Instrucción Derecha Izquierda Para poder indicarlo como el ejemplo anterior donde observamos que el robot va hacia adelante, debemos de dar doble clic para ingresar al submenú de instrucciones y hacer clic en ?=? (cargar) Luego hacemos doble clic en los signos de interrogación y aparecerá este submenú Robodacta –Iniciando con OLLO BUG Seleccionaremos Variable-PORT1 y damos OK como se indica la imagen Luego damos doble clic en el segundo signo de interrogación y en el submenú seleccionamos Motor value Robodacta –Iniciando con OLLO BUG Siguiendo la tabla donde observamos la combinación en cada puerto colocamos los valores para cada caso, recordando que 1023 es el valor máximo que puede alcanzar. Nota: con la barra espaciadora podremos hacer espacios en el programa si necesitamos introducir algún valor, por ejemplo cuando ingresamos el segundo puerto (PORT2) debajo del PORT1. También podremos copiar y pegar como si se tratara de una hoja en Word Descargando el Programa al Ollo Bug Ya que tenemos el programa escrito vamos a guardarlo dando clic en el botón con un disquete azul, o desde archivo-Guardar. Asignamos un nombre y se guardará con la extensión .tsk Encendemos el robot desde un botón en la parte frontal. Se oirá un beep Luego iremos a la pestaña de COM en la parte superior del programa y le daremos en búsqueda automática Robodacta –Iniciando con OLLO BUG Cuando haya encontrado el controlador, el Ollo bug hará una secuencia pequeña de sonidos y se mostrara en la pantalla que se ha encontrado el controlador. Damos clic en la flecha verde con dirección hacia abajo y el programa comenzara a descargarse. Robodacta –Iniciando con OLLO BUG El Ollo bug debe de estar conectado y encendido, ya que si está apagado mandará un error como el que está en la imagen siguiente donde nos indica que el controlador no ha sido detectado. Ya que se descargó el programa con éxito, basta con tocar el botón de encendido para que corra el programa Seguidor de líneas Robodacta –Iniciando con OLLO BUG El objetivo del Ollo Bug en este modo es seguir una línea negra de manera que pueda moverse a todas las dirección por donde la línea este situada. Para lograr esto debes de declarar unas partes del programa fuera de StartProgram que ya habíamos comentado era la instrucción que englobaba todo el programa principal. Estas partes del programa que llamaremos funciones (que realmente se comportan como subrutinas) se encargarán de tener algún grupo de instrucciones que nombraremos con algún nombre y al momento de llamarlas desde el programa principal el ejecutará todo el grupo de instrucciones sin necesidad de escribirlas en StarProgram, Crearemos 4 funciones diferentes, adelante, atrás, izquierda y derecha indicándoles los puertos 1 y 2 con la combinación correspondiente a cada giro que ya vimos anteriormente. Al hacer doble clic en la hoja del programa se abrirá el submenú y seleccionamos función Robodacta –Iniciando con OLLO BUG Luego de haber establecido las 4 funciones abriremos la instrucción StarProgram y la de EndLess loop En la parte superior, con la barra espaciadora podemos recorrer lo que llevamos escrito. Para realizar la condición de los sensores vamos a utilizar una sentencia llamada If que la utilizamos cuando queremos crear toma de decisiones. Necesitamos que siga una línea negra eso implica que los sensores estarán captando cierta señal que al variar debe de hacer que el robot cambie de dirección, digamos que haya una curva o que la línea no sea completamente recta. Para introducir esta instrucción damos doble clic dentro de ENDLESS LOOP y aparecerá nuevamente el submenú y damos clic en IF aparecerá algo como esto. Robodacta –Iniciando con OLLO BUG En el primer signo de interrogación, al hacer doble clic entraremos a un menú donde seleccionaremos los sensores derecho e izquierdo nombrados como IR LEFT- IR RIGHT. Damos ok y elegimos el otro signo de interrogación. Seleccionamos Number para darle un valor numérico de referencia (Usaremos el valor de 200) cuando el sensor detecte. Si lo vemos desde un punto grafico, estará mandando la señal en números proporcional a la distancia que se encuentre un objeto. Entre más cerca del sensor mayor el número, entre más lejos el número tenderá a cero. Robodacta –Iniciando con OLLO BUG Damos doble clic en el símbolo == para cambiarlo a < y luego doble clic en then para cambiar por &&, al momento de indicar este cambio aparecerán otros dos signos de interrogación Ahora elegiremos el sensor derecho (IR RIGHT) y haremos exactamente lo mismo solo que ahora agregaremos un mayor que (>) y ya no le agregaremos al final otro &&, veremos algo como esto. Robodacta –Iniciando con OLLO BUG Lo que acabamos de escribir significa que si el sensor izquierdo tiene un valor menor a 200 y el sensor derecho un valor mayor a 200 ejecute cierta acción, ¿qué acción? la que nosotros le indiquemos, para eso usaremos las funciones que ya hemos establecido utilizando una instrucción llamada call. Hacemos doble clic y elegimos la función llamada izquierda. Robodacta –Iniciando con OLLO BUG Ahora repetiremos lo mismo de manera contraria y utilizando la instrucción ELSE If ELSE If significa si no, es como si hablaras de esta forma, si IR LEFT tiene un valor menor a 200 y IR RIGHT un valor mayor a 200 ve a la izquierda, si no ve a la derecha cuando IR LEFT es mayor a 200 e ir RIGHT menos a 200. Agregamos otra instrucción pero ahora llamada ELSE que significa de lo contrario, que indicara que si no se cumplen ninguna de las anteriores siga adelante Robodacta –Iniciando con OLLO BUG Cargaremos el programa como ya lo habíamos hecho anteriormente, y colocaremos el OLLO Bug en la hoja que viene en el kit que contiene una pista en color negro. Encendemos el robot y observamos. El robot deberá moverse por toda la línea de manera infinita hasta que nosotros lo apaguemos. Robodacta –Iniciando con OLLO BUG