MANUAL PRINCIPIANTE DE MOWAY MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 2 de 87 Copyright (c) 2013 Bizintek Innova, S.L. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 2.0 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License". www.moway-robot.com MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 3 de 87 Índice Índice ................................................................................................................................ 3 1. Introducción .............................................................................................................. 5 2. ¿Qué es mOway? ...................................................................................................... 6 3. Robot mOway ........................................................................................................... 7 3.1 Procesador .......................................................................................................... 7 3.2 Sistema motriz .................................................................................................... 7 3.3 Grupo de sensores e indicadores ...................................................................... 10 3.3.1 Sensor de línea ............................................................................................. 11 3.3.2 Sensores detectores de obstáculos ............................................................... 13 3.3.3 Sensor de luz ................................................................................................ 13 3.3.4 Conector de expansión ................................................................................. 14 3.3.5 Sensor de temperatura.................................................................................. 15 3.3.6 Speaker ........................................................................................................ 15 3.3.7 Micrófono .................................................................................................... 15 3.3.8 Acelerómetro ............................................................................................... 15 3.3.9 Nivel de batería ............................................................................................ 16 3.3.10 LED frontal .................................................................................................. 16 3.3.11 LED superior bicolor ................................................................................... 16 3.3.12 LED de freno ............................................................................................... 17 3.3.13 Pad libre ....................................................................................................... 17 3.4 Sistema de alimentación ................................................................................... 17 3.5 Módulo RF y RFUSB ....................................................................................... 18 3.6 Módulo de cámara ............................................................................................ 20 3.7 mOway Camera Board ..................................................................................... 21 3.8 Módulo WiFi .................................................................................................... 22 4. Primeros pasos ........................................................................................................ 24 4.1 Instalación pack ................................................................................................ 24 4.2 Grabación del robot .......................................................................................... 25 4.3 Instalación RFUSB ........................................................................................... 25 4.4 Instalación drivers mOway Camera Board ...................................................... 27 5. Programación MowayWorld .................................................................................. 28 5.1 Espacio de trabajo de MowayWorld ................................................................ 28 5.1.1 Barra de herramientas .................................................................................. 28 5.1.2 Editor de diagramas de flujo ........................................................................ 28 5.1.3 Acciones ...................................................................................................... 29 5.1.4 Propiedades .................................................................................................. 30 5.1.5 Lista de errores ............................................................................................ 30 5.1.6 Flechas ......................................................................................................... 31 5.1.7 Cambio de idioma y actualizaciones ........................................................... 32 5.2 Primer programa en MowayWorld ................................................................... 33 5.3 Módulos ............................................................................................................ 37 5.3.1 Acciones de Moway .................................................................................... 37 5.3.2 Lectura de sensores ...................................................................................... 41 www.moway-robot.com MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 4 de 87 5.3.3 Datos ............................................................................................................ 43 5.3.4 Control de flujo ............................................................................................ 45 5.3.5 Expansión .................................................................................................... 46 5.4 Variables ........................................................................................................... 51 5.5 Funciones / Subrutinas ..................................................................................... 52 6. Aplicaciones ........................................................................................................... 54 6.1 Ventana de comunicaciones ............................................................................. 54 6.2 MowayCam ...................................................................................................... 55 6.3 MowayRC ........................................................................................................ 57 6.3.1 Configuración .............................................................................................. 58 6.3.2 Movimiento.................................................................................................. 58 6.3.3 Luces ............................................................................................................ 59 6.3.4 Sonido .......................................................................................................... 59 6.3.5 Estado de sensores ....................................................................................... 59 6.3.6 Cámara ......................................................................................................... 59 6.4 MowayServer ................................................................................................... 59 7. Simulador ............................................................................................................... 62 7.1 Introducción...................................................................................................... 62 7.2 Funcionamiento ................................................................................................ 63 7.3 Ejemplo de simulación ..................................................................................... 67 8. mOway Scratch ...................................................................................................... 69 8.1 Introducción...................................................................................................... 69 8.2 Funcionamiento ................................................................................................ 69 8.3 Paso a paso ....................................................................................................... 70 8.4 Comandos y Sensores ....................................................................................... 74 8.5 Prácticas............................................................................................................ 78 8.5.1 Movimiento por radiocontrol....................................................................... 78 8.5.2 LEDs por radiocontrol ................................................................................. 79 8.5.3 Sigue la línea................................................................................................ 80 Anexo I. mOway Scratch en euskera.............................................................................. 82 9.1 Introducción...................................................................................................... 82 9.2 Comandos y Sensores ....................................................................................... 83 www.moway-robot.com MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 5 de 87 1. Introducción Comienza una nueva era, la de los minirobots. Cada vez son más las aplicaciones de la robótica móvil en nuestra vida cotidiana. Actualmente podemos ver robots que nos ayudan en tareas sencillas como limpiar el suelo de casa, segar el césped o mantener limpia la piscina. A medida que avanza la tecnología estos pequeños artilugios, mezcla de mecánica, electrónica y software, van asumiendo tareas más complejas. Poco a poco se van abriendo camino hacia nosotros siéndonos cada vez más útiles y descargándonos de los trabajos menos gratificantes. No es ningún disparate pensar que la revolución que se dio en la informática o en las telecomunicaciones se va a repetir en la robótica durante la próxima década. Actualmente disponemos de la tecnología suficiente para fabricar estos dispositivos y la sociedad está cada vez más preparada para recibirlos en el mercado. Hasta ahora los procesadores no se movían. Las cosas han cambiado. Uno de los elementos fundamentales en el mundo de la robótica móvil es el software. La principal diferencia a la hora de desarrollar programas para estos robots con respecto a hacerlo para ejecutarlos en un ordenador personal estriba en la interacción con el entorno. En las aplicaciones para PC el entorno no cambia aleatoriamente, con la que la toma de decisiones se simplifica y con ello los programas. Por otro lado, en la ejecución de comandos dentro de una aplicación para un minirobot lo habitual es que se desconozca de antemano cuál va a ser el resultado, por lo que los algoritmos deben contemplar situaciones con un abanico mucho más amplio de posibilidades, algunas incluso inesperadas. Los mOways son herramientas diseñadas específicamente para la docencia e investigación. Su objetivo es acercar el mundo de la robótica autónoma a los centros docentes. El objetivo principal de mOway es ser una herramienta útil tanto para quienes se introducen por primera vez en el mundo de la robótica como para quienes ya tienen experiencia y desean realizar aplicaciones complejas de robótica colaborativa. www.moway-robot.com MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 6 de 87 2. ¿Qué es mOway? mOway es un pequeño robot autónomo programable diseñado principalmente para realizar aplicaciones prácticas de robótica móvil. Con él se ha conseguido una plataforma hardware perfecta tanto para quien quiere dar sus primeros pasos en el mundo de los robots móviles como para quien ya ha trabajado con robots y desea realizar aplicaciones más complejas. El robot mOway está dotado de una serie de sensores que le ayudarán a desenvolverse en un entorno real. A su vez cuenta con un grupo motor que le permitirá desplazarse sobre el terreno. Todos estos periféricos están conectados a un microcontrolador que será el encargado de gobernar el robot. Este pequeño robot cuenta además con opciones de ampliación a través de un bus de expansión. En él se puede conectar, por ejemplo, un módulo de comunicaciones inalámbricas, una cámara de video, una tarjeta de prototipos o cualquier otro dispositivo que se considere interesante para el desempeño de una tarea. En la página web del producto encontrará prácticas para realizar en el bus de expansión. El diseño exterior de mOway es muy compacto, diseñado para que pueda moverse con agilidad y elegancia sin opción a quedarse enganchado en ninguna esquina. Tan pequeño como un móvil se ha ganado la denominación de “robot de bolsillo”. mOway es una herramienta perfecta para quien quiere aprender y para quien quiere enseñar qué es la robótica. El usuario se verá sorprendido con la rapidez que comienza a cosechar logros incluso si éste es su primer contacto con los robots móviles. www.moway-robot.com Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 7 de 87 MOWAY 3. Robot mOway En el interior de un mOway tenemos los siguientes elementos: Procesador Sistema motriz Grupo de sensores e indicadores Sistema de alimentación Engrane Encoder IR _ LINE_RX_R RX _R MEDIDOR BATERÍA TEMP MIC IR_R LED_ BRAKE PIC16F687 X_ R LINE_RX_R FRON T_LED LINE_TX LINE_RX_L IR_R _ IR PIC18f86j50 LED_ GREEN LIGHT_ SEN LED_ RED X_ L RX LINE_TX ACELE M O T O R FREE PAD E X P A N S I Ó N Puente H LED_ BRAKE _L SPEAKER LINE_RX_R LINE_TX M O T O R Encoder Engrane Imagen 1. Representación de las partes de mOway 3.1 Procesador Los mOways están gobernados por un microcontrolador PIC18F86J50 (versión 2.0.1) o PIC18F87J50 (versión 2.0.2) del fabricante Microchip Technology que trabaja a 4Mhz. En este microcontrolador es donde descargaremos el programa desarrollado en el PC. De sus puertos de entrada/salida cuelgan todos los periféricos distribuidos por el robot. Algunos de ellos necesitan de una entrada o salida digital, otros de una analógica y otros en cambio se controlan a través de uno de los buses de comunicación I2C/SPI. 3.2 Sistema motriz Los mOways disponen de un grupo servo-motor doble para poder desplazarse. Consta de una parte electrónica y otra mecánica. La parte electrónica se encarga principalmente de controlar la velocidad de los motores y la parte mecánica permite el desplazamiento con una potencia suficiente para que mOway se mueva en diferentes entornos. www.moway-robot.com Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 8 de 87 MOWAY Engrane Encoder Sistema Motriz LINE_RX_R LINE_TX M O T O R PIC16F687 PUENTE H LINE_RX_R LINE_TX M O T O R Encoder Engrane Imagen 2. Sistema motriz: electrónica y mecánica El grupo servo-motor tiene diversas funcionalidades: 1. Control de velocidad: Controla la velocidad de cada motor por separado. 2. Control de tiempo: Controla el tiempo en cada comando con una precisión de 100ms. 3. Control de distancia recorrida: Controla la distancia recorrida en cada comando con una precisión de 1mm. 4. Cuentakilómetros general: Cuenta la distancia recorrida desde el comienzo de los comandos. 5. Control de ángulo: Control de ángulo cuando se produce la rotación de mOway. El microcontrolador manda el comando I2C al sistema motriz que controla los motores y por lo tanto el microcontrolador principal queda libre para poder llevar a cabo otras tareas. El control de velocidad se realiza mediante control en lazo cerrado gracias a la señal de los encoders (sensores para medir la velocidad y recorrido de los motores). La rotación de la rueda es monitorizada por medio de un encoder sobre uno de los engranajes del sistema y un sensor infrarrojo. El microcontrolador analiza esta señal y actúa sobre los motores. De esta manera, mOway puede controlar su velocidad y distancia recorrida. www.moway-robot.com Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 9 de 87 MOWAY Vcc=2.8V Moway created by: Iñigo Sobradillo Daniel del Rio Javi Galvez Juan Gil Estibaliz Otero Julen Gutierrez PIC16F687 M PWM Puente H Señal encoder Vcc=2.8V Moway created by: Iñigo Sobradillo Daniel del Rio Javi Galvez Juan Gil Estibaliz Otero Julen Gutierrez Encoder Bloque electrónica Bloque mecánico Sistema Motriz Imagen 3. Control de motores Cuando desde el microcontrolador principal se quiere que el robot realice un desplazamiento sólo tenemos que mandar un comando de movimiento con sus parámetros mediante I2C. Para ello se han diseñado unas librerías en ensamblador y en C con las que esta comunicación queda simplificada por unas funciones que se encargan de la comunicación. El formato de las tramas se explica en el apartado de la librería de motores. En la siguiente tabla podemos ver la conexión entre el microcontrolador principal y el encargado de controlar los movimientos del robot. Tabla 1. Conexiones PIC-sensores Pin PIC PORTA RA0 RA1 RA2 RA3 RA5 PORTB RB1 RB2 RB3 RB5 RB6 PORTC RC7 PORTD RD1 RD4 RD5 RD6 I/O Sensor I I I I I Luz Receptor central infrarrojo izquierdo Receptor sensor línea derecho Receptor lateral infrarrojo izquierdo Receptor sensor línea izquierdo I I O O O Interrupción 1 del acelerómetro Interrupción 2 del acelerómetro Altavoz LED superior rojo LED superior verde O LED frontal O I O O Transmisor infrarrojo de línea Señal SDO para la comunicación SPI del acelerómetro Señal SDI para la comunicación SPI del acelerómetro Señal de reloj para la comunicación SPI del acelerómetro www.moway-robot.com MOWAY RD7 PORTE RE5 PORTF RF5 RF6 PORTH RH5 RH6 RH7 PORTJ RJ6 RJ7 Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 10 de 87 I Chip Select para la comunicación SPI del acelerómetro O LED de freno I I Receptor lateral infrarrojo derecho Receptor central infrarrojo derecho I I I Sensor de temperatura Medidor de batería Micrófono O I/O Transmisor infrarrojo Pad libre 3.3 Grupo de sensores e indicadores Este grupo consta de diferentes sensores e indicadores conectados al microprocesador de mOway con los que el robot interactúa con el mundo exterior: Dos sensores de línea. Cuatro sensores detectores de obstáculos. Sensor de luz. Un conector de expansión. Cuatro tipos de LEDs. Sensor de temperatura. Speaker. Micrófono. Acelerómetro. Nivel de batería. IR_ RX _R MEDIDOR BATERÍA TEMP MIC IR_R X_ R LINE_RX_R FRON T_LED LINE_TX LINE_RX_L IR_R IR_ PIC18f86j50 LED_ GREEN LIGHT_ SEN LED_ RED X_ L RX ACELE LED_ BRAKE FREE PAD E X P A N S I Ó N LED_ BRAKE _L SPEAKER Imagen 4. Grupo sensores e indicadores www.moway-robot.com MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 11 de 87 3.3.1 Sensor de línea Los sensores de línea son dos optoacopladores de reflexión montados en la parte inferior delantera del robot. Utilizan la reflexión de luz infrarroja para detectar el tono del suelo en el punto en que se encuentra el robot. Estos dos sensores están conectados a dos de los puertos analógicos del microcontrolador de manera que no sólo podemos detectar contrastes fuertes en el suelo, como líneas blancas sobre fondo negro, sino que es posible discernir entre diferentes tonos. El sensor CNY70 de Vishay, está compuesto por una estructura compacta donde la fuente emisora de luz y el detector están dispuestos en la misma dirección para poder detectar mediante el uso de los rayos infrarrojos la luz reflejada en el suelo. En las siguientes imágenes podemos ver los tres casos que se pueden dar: Superficie clara: La superficie blanca hace que toda la luz infrarroja se refleje y por lo tanto a la salida del transistor en modo común obtenemos un voltaje bajo. Imagen 5. Sensor de línea en superficie clara. Superficie de color: La superficie de color hace que parte de la luz emitida se refleje obteniendo un voltaje intermedio en la entrada del canal analógico del microcontrolador. De esta manera es fácil identificar colores1. 1 Hay que tener en cuenta que debido a la tolerancia de los sensores CNY70, puede que en la misma superficie los dos sensores den diferente valor para un mismo color. www.moway-robot.com MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 12 de 87 Imagen 6. Sensor de línea en superficie de color. Superficie oscura: La superficie oscura hace que se refleje muy poca luz teniendo un voltaje alto a la salida del sensor. Imagen 7. Sensor de línea en superficie oscura. Imagen 8. Ubicación sensores de línea www.moway-robot.com MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 13 de 87 3.3.2 Sensores detectores de obstáculos Al igual que los sensores de línea, los sensores detectores de obstáculos utilizan también la luz infrarroja para detectar objetos situados en la parte delantera de mOway. El sensor está compuesto por dos fuentes de luz infrarroja (KPA3010-F3C de Kingbright) y cuatro receptores colocados en ambos extremos delanteros de mOway. La salida de los receptores PT100F0MP de Sharp está conectada a las entradas analógicas del microcontrolador después de ser filtrada y acondicionada, por lo que no sólo se detecta la presencia de algún objeto (modo digital) sino que también podemos medir la distancia al mismo (modo analógico)2. El funcionamiento del sensor es similar al sensor de línea. El emisor de luz genera un pulso de una duración de 70 microsegundos que, en caso de existir un obstáculo, se refleja contra él y es captado por el receptor utilizando una etapa de filtrado y amplificación. Una vez procesada la señal electrónicamente, el microcontrolador puede medirla como entrada digital o analógica. Imagen 9. Sensor detector de obstáculos Imagen 10. Posición de los sensores de obstáculo 3.3.3 Sensor de luz Este sensor permite a mOway conocer la intensidad de luz que entra por una pequeña abertura con forma de media luna en la parte superior del chasis. Al estar orientada hacia delante permite conocer dónde está situada la fuente de luz y actuar en consecuencia. La salida del sensor APDS-9002 de Avago Technologies está conectada a un puerto analógico del microcontrolador de manera que con una simple lectura del sensor 2 Debido a tolerancias en el montaje de los componentes electrónicos, habrá diferencias entre los sensores en la detección de objetos a una misma distancia. www.moway-robot.com MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 14 de 87 podemos saber el nivel de intensidad de luz y si éste ha aumentado o disminuido con respecto a la última lectura. Este sensor funciona de una manera similar a los sensores basados en LDR (Light Dependant Resistors)3. Imagen 11. Apertura sensor de luz 3.3.4 Conector de expansión Este conector permite la conexión de mOway con módulos comerciales o con circuitos electrónicos que el usuario desee. La primera expansión disponible es el módulo de RF mOway que permite la comunicación de mOway con otros de su especie y con el PC. Este módulo permite hacer aplicaciones colaborativas complejas sin tener que preocuparse de la gestión de la comunicación inalámbrica. Imagen 12. Robots con módulo de RF en el conector de expansión 3 Es fundamental apagar el LED bicolor en el momento que se desee hacer una lectura de la intensidad de luz. www.moway-robot.com MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 15 de 87 3.3.5 Sensor de temperatura mOway lleva instalado en la parte delantera (cerca de los sensores de obstáculo) como medidor de temperatura un termistor NTC de Murata, que es un semiconductor cuya resistencia eléctrica variable decrece a medida que la temperatura aumenta. El termistor está conectado a una entrada analógica del microcontrolador de forma que con una simple lectura del ADC podemos conocer la temperatura que hay y si ha aumentado o disminuido con respecto a la última lectura4. 3.3.6 Speaker El altavoz CMT-1102 de CUI INC conectado al microcontrolador del robot, es capaz de reproducir tonos desde 250 Hz hasta 5,6 kHz en intervalos pares de 100 ms. Se trata de un altavoz piezoeléctrico. En estos altavoces el motor es un material piezoeléctrico, que al recibir una diferencia de tensión entre sus superficies metalizadas experimenta alargamientos y compresiones. 3.3.7 Micrófono El micrófono CMC-5042PF-AC de CUI INC permite al robot detectar sonidos desde 100 Hz hasta 20 KHZ. La salida del micrófono está conectado a una entrada analógica del microcontrolador de forma que no sólo es capaz de detectar si hay sonido o no (modo digital), sino que con una simple lectura del ADC, es capaz de detectar la intensidad con la que está llegando ese sonido (modo analógico). 3.3.8 Acelerómetro Un acelerómetro es un dispositivo que mide la aceleración y las fuerzas inducidas por la gravedad: el movimiento y el giro. Midiendo las coordenadas X, Y, Z, el acelerómetro MMA7455L de Freescale Semiconductor permite conocer si mOway está en posición correcta, invertido o ladeado. Además, permite conocer si el robot se ha golpeado o caído. 4 La temperatura indicada por este sensor se corresponde al interior del robot que puede diferir en unos 5ºC con la temperatura exterior. www.moway-robot.com MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 16 de 87 3.3.9 Nivel de batería Para la alimentación del robot, se dispone de una célula de LiPo recargable. Para un correcto funcionamiento del microcontrolador, la batería va conectada a una de sus entradas analógicas a través de un adaptador de señal. De esa forma, con una lectura del ADC podemos determinar el nivel de batería restante. 3.3.10 LED frontal El LED frontal es un LED blanco que está situado en la parte delantera del robot. El LED LW A6SG de OSRAM está conectado a una salida digital del microcontrolador. 3.3.11 LED superior bicolor Este indicador doble comparte la misma apertura en la parte superior del robot que el sensor de luz. Están conectados a dos salidas digitales del microcontrolador. Cabe destacar que al compartir la misma apertura que el sensor de luz5. Imagen 13. Robot con LED frontal blanco y superior rojo encendidos 5 Es fundamental apagar el LED bicolor en el momento que se desee hacer una lectura de la intensidad de luz. www.moway-robot.com MOWAY 3.3.12 Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 17 de 87 LED de freno El LED de freno es un indicador que está conectado a una salida digital del microcontrolador y está situado en la parte trasera del robot tras el filtro rojo. Imagen 14. Posición LED de freno en rojo. LED verde de encendido no controlable 3.3.13 Pad libre El PCB de mOway tiene un Pad, accesible sólo abriendo el robot, situado en la parte trasera del PCB al lado de los LED de freno para que el usuario pueda conectar sus circuitos electrónicos6. 3.4 Sistema de alimentación La batería empleada en el robot mOway es de Litio Polímero recargable y se encuentra en su interior. La recarga de la batería se realiza por el puerto USB de cualquier ordenador conectado directamente al puerto MINI-USB-B del propio robot. No es necesario esperar a que la batería esté completamente descargada para poder enchufarla, puede hacerse en cualquier momento puesto que este tipo de baterías no tienen efecto memoria. Su pequeño tamaño, ligereza y flexibilidad hacen de estas baterías una perfecta fuente de energía para mOway. La duración media de la batería es de 1h y 30 minutos aunque depende en gran medida de los sensores activos y del tiempo de utilización de los motores. De todas formas, gracias a la función nivel de batería, se puede saber la cantidad de carga que tiene el robot en cada momento. El tiempo de carga aproximado es de 2h. El porcentaje de carga está claramente indicado en la aplicación MowayWorld. 6 Sólo para usuarios avanzados www.moway-robot.com MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 18 de 87 El sistema de alimentación controla dos indicadores luminosos situados en la parte trasera del robot7. El LED verde indica que el robot está encendido y el LED rojo indica que el robot está cargando las baterías al encontrarse conectado al PC. Cada vez que se conecte el robot al PC se encenderá el indicador de encendido (para que la opción de grabación quede habilitada) y el LED rojo si la batería no está completamente cargada. Cuando esto se produzca el LED rojo se apagará8. Imagen 15. Indicadores encendido (verde) y cargando (rojo) 3.5 Módulo RF y RFUSB Estos módulos de radiofrecuencia permiten comunicar al robot con otro mOway o con el PC a través del RFUSB9. Imagen 16. Módulo RF 7 Estos LEDs no pueden ser controlados por el usuario. En el proceso de carga puede que el LED rojo se apague cuando la batería esté completamente cargada y al de un tiempo se encienda otra vez. Esto es debido a que el robot sigue encendido y la batería pierde carga al estar el cargador apagado. 9 Disponible según pack 8 www.moway-robot.com MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 19 de 87 Estos módulos se conectan a través del conector de expansión y son fácilmente manejables mediante MowayWorld. Imagen 17. RFUSB El módulo de comunicación por radiofrecuencia BZI-RF2GH4 está basado en el transceptor nRF24L01 fabricado por “Nordic Semiconductors”. En este circuito integrado se ha incorporado toda la lógica necesaria para establecer una comunicación inalámbrica bidireccional con acuse de recibo. La comunicación con el microcontrolador se realiza a través de un bus SPI. Las principales características del módulo BZI-RF2GH4 son: Bajo consumo. Frecuencia de trabajo de 2.4GHz, Potencia de emisión entre -18 y 0 dBm, Velocidad de transmisión entre 1 y 2 Mbps, 128 canales de transmisión seleccionables por el bus SPI, El módulo BZI-RF2GH4 incorpora, además del CI nRF24L01, toda la electrónica anexa para su correcto funcionamiento y una antena microstrip en la misma placa con la red de adaptación de impedancias. De esta manera el usuario se despreocupa por completo del hardware necesario para implementar la parte de radio de su aplicación. Como interfaz dispone de cuatro pines accesibles para el bus SPI, dos pines más para el control del módulo y otros dos para la alimentación. Con el objetivo de facilitar el manejo del módulo se han desarrollado unas librerías que simplifican y acortan el tiempo de desarrollo de cualquier aplicación inalámbrica con estos módulos. www.moway-robot.com MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 20 de 87 3.6 Módulo de cámara El Módulo de Cámara de mOway10 permite mostrar en el ordenador lo que el robot está “viendo” en cada momento. La cámara envía las imágenes por radiofrecuencia al receptor de vídeo mOway Camera Board11. Imagen 18. Módulo de cámara El Módulo de Cámara se inserta en el conector de expansión de mOway. Su funcionamiento se controla mediante la programación del robot. Incorpora un conector en la parte posterior del módulo para conectar otros dispositivos, como el módulo RF o circuitería diseñada por el usuario en el Kit de Expansión. El conector posterior tiene el mismo patillaje que el conector de expansión de mOway. El control de la cámara se realiza por medio del dispositivo MCP23S08 de Microchip. Consiste en un puerto de entradas y salidas configurables, manejado vía SPI. Las funciones básicas implementadas son las siguientes: Encendido: cuando la cámara esté encendida, el LED del Módulo de Cámara se encenderá. En este estado, la cámara transmitirá las imágenes por radiofrecuencia al receptor de vídeo. Apagado: cuando la cámara esté apagada, el LED del Módulo de Cámara permanecerá apagado. En este estado, la transmisión por radiofrecuencia se desactivará Cambio de canal: Cada vez que se realiza un cambio de canal de la cámara, el LED del Módulo de Cámara parpadeará brevemente. Si existen otras transmisiones por radiofrecuencia (redes wifi, por ejemplo), la imagen recibida en el ordenador podría aparecer con interferencias. En estos casos, el cambio de canal podría mejorar la calidad de la imagen. Para poder mostrar las imágenes de la cámara en el ordenador, el canal 10 11 Disponible según pack Disponible según pack www.moway-robot.com MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 21 de 87 seleccionado en el programa debe ser el mismo que el canal seleccionado en el receptor de vídeo a través del conmutador. Dichos canales van del 1 al 4. Como interfaz dispone de cuatro pines accesibles para el bus SPI, dos pines más para el control del módulo y otros dos para la alimentación. Con el objetivo de facilitar el manejo del módulo se han desarrollado una librería para el uso del sistema de visión. NOTA: Debido a que tanto el módulo de RF como la cámara emiten en el mismo rango de frecuencias, si se utiliza ambos módulos simultáneamente, el alcance de RF puede verse reducido. 3.7 mOway Camera Board mOway Camera Board es el receptor de vídeo, encargado de mostrar en el ordenador las imágenes de la cámara de mOway. Este dispositivo recibe las imágenes enviadas por la cámara a través de radiofrecuencia y las envía al ordenador por USB. Imagen 19. mOway Camera Board Consta de un selector para elegir los diferentes canales de comunicación RF entre la cámara y el receptor (canales de 1 a 4). El canal del receptor mOway Camera Board debe ser el mismo que el definido en el programa grabado en el mOway al activar la cámara. www.moway-robot.com MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 22 de 87 Imagen 20. Selector de canales El receptor de vídeo se conecta al ordenador a través de una conexión USB, por medio del cable incluido en el pack. La primera vez que se conecta el receptor mOway Camera Board al ordenador, es posible que aparezca un mensaje para instalar los drivers de la misma. En ese caso, indicaremos que instale el software automáticamente. NOTA: Durante el funcionamiento del receptor de vídeo, su receptor RF se calienta, por lo que la carcasa puede calentarse también. Este comportamiento es normal. 3.8 Módulo WiFi El Módulo Wifi de mOway permite al robot crear una red inalámbrica (Wireless). De este modo, podrá comunicarse con dispositivos con tecnología WiFi, como un teléfono, una tableta o un ordenador. Este dispositivo permite desarrollar aplicaciones como la implementación de un servidor web en el robot mOway. Este servidor hace posible controlar el robot desde dispositivos Wifi del usuario, así como recibir información del estado de los sensores de Moway en dichos dispositivos. www.moway-robot.com MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 23 de 87 Imagen 21. Módulo Wifi y adaptador Este módulo se basa en el circuito integrado MRF24WB0MB de Microchip. Este circuito integrado es un transceptor de radiofrecuencia de 2,4 GHz, diseñado según el estándar IEEE 801.11b. El Módulo Wifi de mOway incluye toda la circuitería necesaria para que el usuario pueda emplear el módulo sin tener que realizar ningún diseño adicional. Para poder conectar el Módulo Wifi al robot, es necesario colocar previamente el adaptador en la ranura de expansión del robot. Una vez conectado el adaptador, el Módulo Wifi se conecta en el puerto del adaptador. Imagen 22. Adaptador y Módulo Wifi conectados A nivel de programación, el Módulo Wifi se maneja por medio de la pila TCP/IP desarrollada por Microchip. Proporciona las funciones necesarias para implementar el protocolo de comunicación TCP/IP para el módulo MRF24WB0M, así como el control del Módulo Wifi desde el microcontrolador de mOway vía SPI. Se puede programar la aplicación del Servidor Web de mOway desde el software MowayWorld. La comunicación entre Moway y el Módulo Wifi se realiza a través del conector de expansión del robot. Se trata de una comunicación SPI de 4 líneas con interrupción. La frecuencia máxima del reloj SPI a la que puede funcionar el Módulo Wifi es de 25 MHz. www.moway-robot.com MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 24 de 87 4. Primeros pasos 4.1 Instalación pack Bien en el CD de instalación del producto o en la página web de mOway (http://www.moway-robot.com), se podrá encontrar el pack de instalación que contiene el software para mOway, las librerías para manejar el robot, los programas de prueba y la documentación. Basta con seguir los pasos del instalador para tener todos los recursos de mOway: El manual de principiantes y usuario. o En el manual de principiante aparece lo necesario para que el usuario pueda empezar a utilizar el robot. o El manual de usuario contiene una explicación más detallada del robot. El software MowayWorld. o Es el software donde se puede controlar todos los aspectos del robot: programación, control de carga, control por radio control, control de RFUSB12 y grabación proyectos escritos en C o en ensamblador. Proyectos de ejemplo en ensamblador, C y MowayWorld. o Proyectos ejemplo para que el usuario puede empezar rápidamente el aprendizaje. Driver para RFUSB o Driver para instalar el RFUSB para comunicación RF entre robot y PC. Driver para el receptor de vídeo mOway Camera Board13 o Driver para visualizar en el PC las imágenes de la cámara14. NOTA: Si durante la instalación aparece un mensaje advertencia de seguridad, instalar el driver de todos modos. El software de MowayWorld es seguro. 12 13 14 Disponible según pack Disponible según pack Disponible según pack www.moway-robot.com MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 25 de 87 Imagen 23. Menú del CD 4.2 Grabación del robot La grabación del robot se ejecuta siempre desde el programa MowayWorld. Esta aplicación puede grabar en el robot los proyectos de MowayWorld basados en diagramas de flujo, proyectos en ensamblador (compilador MPLAB o gputils) y en C (compilador C18). Estos son los pasos para grabar el robot desde MowayWorld: Conectar robot mediante cable USB. No hace falta instalar ningún driver. Abrir MowayWorld. Apertura o creación de proyecto en MowayWorld o importar un archivo “.hex” de alguno de los proyectos en C o ensamblador. Clicar en el botón “Programar mOway”. Si el proyecto es correcto el robot será programado. Desconectar y encender el robot. 4.3 Instalación RFUSB RFUSB es una llave USB para realizar la comunicación entre PC y robot. Requiere de la instalación de un driver que se proporciona con el pack. La primera vez que se conecta el RFUSB, el PC lo detectará como un nuevo dispositivo y aparecerá el “Asistente para hardware nuevo encontrado”. Elegiremos la opción No por el momento. En la siguiente ventana elegimos la opción recomendada: Instalar automáticamente el software. www.moway-robot.com MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 26 de 87 Imagen 24. Asistente instalación driver Windows XP Comenzará la instalación. Imagen 25. Instalación driver Windows XP Finalmente el asistente indicará que el hardware está instalado. Imagen 26. Driver instalador Windows XP Una vez finalizada la instalación la gestión de este dispositivo se realiza desde la ventana RF de MowayWorld. www.moway-robot.com MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 27 de 87 4.4 Instalación drivers mOway Camera Board Para visualizar las imágenes de la cámara de mOway es necesario conectar el receptor de vídeo mOway Camera Board15 a una conexión USB del ordenador. Del mismo modo que el dispositivo RFUSB, el receptor de vídeo requiere de la instalación de un driver que se proporciona con el pack. 15 La primera vez que se conecta el receptor de vídeo, el PC lo detectará como un nuevo dispositivo y aparecerá el “Asistente para hardware nuevo encontrado”. Elegiremos la opción No por el momento. En la siguiente ventana elegimos la opción recomendada: Instalar automáticamente el software. Comenzará la instalación. Finalmente el asistente indicará que el hardware está instalado. Disponible según pack www.moway-robot.com MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 28 de 87 5. Programación MowayWorld La aplicación MowayWorld permite diseñar programas por medio de diagramas de flujo, con lo que se consigue programar el robot mOway de forma muy intuitiva. Diferentes bloques o módulos representan las funciones que controlan los sensores y actuadores del robot. Estos módulos son conectados mediante flechas para crear así el programa deseado. La máxima ventaja es que no se necesita ninguna noción de programación para crear una aplicación. En resumen: La mejor manera para comenzar a trabajar con mOway rápidamente. La mejor manera para realizar tareas sencillas o de complejidad media. Código generado optimizado en espacio y rendimiento. 5.1 Espacio de trabajo de MowayWorld A continuación se describe las diferentes zonas que componen el espacio de trabajo del programa MowayWorld. 5.1.1 Barra de herramientas La barra de tareas permite crear un nuevo proyecto, guardar el proyecto actual, editar el diagrama de flujo, crear subrutinas y variables, programar el robot mOway, cambiar el idioma de MowayWorld, etc. Imagen 27. Barra de tareas 5.1.2 Editor de diagramas de flujo El editor de diagramas de flujo es el espacio en el que el programador coloca los bloques que forman el programa y las flechas que los unen. www.moway-robot.com MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 29 de 87 Imagen 28. Editor de diagramas de flujo 5.1.3 Acciones El menú de Acciones permite elegir el módulo para insertar en el diagrama de flujo. Están clasificados por el tipo de función que realizan. Imagen 29. Menú de Acciones Para insertar un módulo en el diagrama, simplemente hay que arrastrarlo hasta el editor de diagramas y configurar dicho módulo para que realice la función deseada. Los menús con una flecha en la parte derecha incluyen submenús con más módulos. www.moway-robot.com MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 30 de 87 5.1.4 Propiedades Cuando se selecciona un bloque del diagrama, aparecerá en la zona derecha del espacio de trabajo una ventana de propiedades, que nos permitirá cambiar la configuración de dicho módulo de forma rápida. Imagen 30. Propiedades del módulo “Recta” 5.1.5 Lista de errores Muestra los errores encontrados en el diagrama. Describe el error e indica en qué diagrama se encuentra el error (en caso de que haya más de un diagrama). Un diagrama con errores no se programará en el robot. Imagen 31. Ventana de errores www.moway-robot.com MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 31 de 87 5.1.6 Flechas El orden de ejecución de los diferentes módulos se define por medio de flechas. Para unir dos bloques mediante una flecha hay que realizar los pasos siguientes: Se coloca el cursor sobre el primer bloque hasta que aparezcan las marcas rojas. Se pincha sobre una de estas marcas. Después se pincha sobre una de las marcas del bloque siguiente. Imagen 32. Trazado de flechas Para mayor facilidad a la hora de colocar las flechas es posible utilizar la herramienta “Conector” de la barra de tareas. NOTA: Con la herramienta “Conector” no es posible seleccionar los elementos del diagrama. Para seleccionarlos, es necesario volver a la herramienta por defecto “Cursor”. Imagen 33. Iconos de las herramientas Cursor y Conector Todos los bloques del diagrama tienen que tener al menos una flecha de entrada. Además tienen que tener una flecha de salida (dos flechas de salida si el bloque es condicional). Los bloques condicionales (de forma ovalada) tienen dos flechas de salida: una de ellas es el camino que seguirá el programa si la condición del bloque es verdadera, y la otra será el camino del programa cuando la condición del bloque sea falsa. Al trazar las dos flechas de salida, la primera de ellas será automáticamente el camino de la condición verdadera (marca verde). La flecha restante será el camino de la condición falsa (marca roja). www.moway-robot.com MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 32 de 87 Si se quisiera crear un bucle, el proceso sería similar al anteriormente descrito, pero pinchando la flecha en una marca del mismo bloque. Imagen 34. Trazado de flechas para un bucle El trazado de las flechas puede ser modificado arrastrando los puntos que aparecen al situar el cursor sobre ellas. Imagen 35. Modificar trazado 5.1.7 Cambio de idioma y actualizaciones El idioma de MowayWorld puede ser cambiado mediante la barra de herramientas, en “Language”. Así mismo, se puede comprobar si el software puede ser actualizado por medio de la opción “Ayuda – Comprobar actualizaciones”. www.moway-robot.com MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 33 de 87 5.2 Primer programa en MowayWorld Este primer programa básico hará que mOway evite los obstáculos. Lo primero de todo es salvar el proyecto con un nombre, como por ejemplo “primer_proyecto”. 1. Una vez creado el proyecto, se comienza el programa añadiendo un retardo de dos segundos. Basta con arrastrar el módulo de Pausa en el editor de diagramas, seleccionando un valor constante de 2 segundos. 2. Se añade el parpadeo del LED verde, por medio del bloque “Luces”. A continuación se muestra la configuración de los dos bloques: Imagen 36. Configuración Pausa y Luces 3. Se añade el final de programa (módulo “Fin”). 4. Se graba en el robot por medio del botón de “Programar mOway” de la barra de herramientas, indicado con un círculo rojo en la imagen siguiente. 5. Probar el programa y comprobar que después de esperar 2 segundos se enciende el LED verde. www.moway-robot.com MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 34 de 87 Imagen 37. Diagrama de flujo y botón “Programar mOway” 6. Para detectar obstáculos se inserta cuatro módulos “Sensores – Obstáculo” y se configuran para que cada uno compruebe uno de los cuatro sensores. Imagen 38. Configuración Chequear obstáculos 7. Los módulos de condición tienen una salida verdadera y otra falsa. Si se detecta el obstáculo, la condición es verdadera (marca verde) y el LED correspondiente debe encenderse. Si no hay obstáculo, la condición es falsa (marca roja) el LED se apagaría. El encendido y apagado debe realizarse con los módulos “Luces”. 8. Probar el programa y comprobar que los LED delanteros se encienden cuando se detecta un obstáculo. www.moway-robot.com MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 35 de 87 Imagen 39. Primer programa en MowayWorld: detección de obstáculos 9. Añadimos movimiento al robot con módulos “Acciones de mOway – Movimiento – Recta”, para que el robot avance recto indefinidamente hasta que encuentre un obstáculo. 10. Cuando encuentra obstáculo se manda un comando para que realice una rotación de 180º (“Acciones de mOway – Movimiento – Rotación”). El robot continuará el movimiento recto cuando la rotación termine. www.moway-robot.com MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 36 de 87 Imagen 40. Configuración de Movimiento y Rotación Imagen 41. Final de primer programa en MowayWorld www.moway-robot.com MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 37 de 87 5.3 Módulos Los módulos son las acciones o funciones que puede realizar el robot mOway: moverse, leer los sensores, encender los LEDs, transmitir mensajes por radiofrecuencia, etc. Estos módulos están agrupados dependiendo del tipo de función que realizan y pueden ser configurados de diversas formas. A continuación se describe cada uno de los módulos incluidos en MowayWorld. 5.3.1 Acciones de Moway Este grupo de funciones permite controlar los actuadores de mOway: motores, altavoz y diodos LED. Estos módulos disponen de la opción “Esperar límite de tiempo/distancia para continuar con el diagrama”. Esta opción hace que se esté ejecutando el comando actual (el programa no continúa su ejecución) hasta que la dicho comando termina (bien por tiempo o por distancia). Si esta opción no es seleccionada, el comando seguirá ejecutándose indefinidamente hasta que otra función anule el comando actual. Movimiento – Recto El robot mOway dispone de dos motores, uno en cada rueda, lo que le permite una gran flexibilidad a la hora de realizar movimientos. El comando de movimiento recto hace que el robot pueda avanzar o retroceder en línea recta, pudiendo elegir su velocidad. Imagen 42. Ventana de configuración de Movimiento – Recto www.moway-robot.com MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 38 de 87 Movimiento – Libre El movimiento libre es similar al anterior, con la diferencia de que permite controlar las velocidades individuales de cada motor. Imagen 43. Ventana de configuración de Movimiento – Libre Movimiento – Curva Con el módulo de giro, el programa calculará la velocidad de los motores para poder describir una curva señalando la velocidad y la curvatura de giro. También podemos hacer uso de las limitaciones en tiempo y distancia. Imagen 44. Ventana de configuración de Movimiento – Curva www.moway-robot.com MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 39 de 87 Movimiento – Rotación El módulo de rotación hace que mOway rote bien sobre su centro o sobre alguna de las dos ruedas. Podemos configurar el sentido de giro y la velocidad de rotación. Imagen 45. Ventana de configuración de Movimiento – Rotación Movimiento – Parar El módulo de parar movimiento detiene los motores de mOway. Sonido – Empezar Esta función permite a mOway emitir sonidos desde 244 Hz hasta 16 KHz, al activar el altavoz interno del robot. Es posible elegir si estará activo durante un tiempo determinado, o bien indefinido. www.moway-robot.com MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 40 de 87 Imagen 46. Ventana de configuración de Sonido - Empezar Sonido – Parar Detiene el sonido del altavoz Luces Este módulo permite controlar los LEDs de mOway, de forma que se puede encender, apagar o hacer parpadear. Se puede actuar sobre todos los LEDs que el usuario necesite de forma simultánea. Imagen 47. Ventana de configuración de Luces www.moway-robot.com MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 41 de 87 5.3.2 Lectura de sensores Este grupo de funciones permiten obtener el valor de los sensores integrados en el robot mOway. Son bloques condicionales, los cuales tienen dos posibles caminos de salida: si la condición impuesta en el bloque se cumple, el resultado es “verdadero”. Si la condición no se cumple, el resultado es “falso”. En el diagrama de flujo, la salida “verdadera” del bloque condicional se identifica con una marca verde, mientras que la salida “falsa” se identifica con una cruz roja. Obstáculos Este módulo comprueba el valor digital de los sensores de obstáculo. Cada sensor permite cumplir alguna de las tres condiciones siguientes: o detección de un obstáculo o no detección de obstáculo o no lectura de sensor Por otra parte, se puede elegir entre realizar una operación AND u OR con las condiciones anteriores. Si se elige la opción AND se deben cumplir todas las condiciones seleccionadas para que la salida del bloque condicional sea verdadera. Por el contrario, si se elige la opción OR, es suficiente con que una sola condición se cumpla para tener una salida verdadera. Imagen 48. Ventana de configuración de Lectura de sensores – Obstáculos www.moway-robot.com MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 42 de 87 Línea Este módulo comprueba el valor digital de los sensores de línea. Esta función se emplea para hacer que mOway siga una línea (negra o blanca) en el suelo, detectar límites de terreno, etc. Cada sensor permite cumplir alguna de las tres condiciones siguientes: o detección de línea negra o detección de línea blanca o no lectura de sensor Del mismo modo que el bloque anterior (Lectura de sensores de obstáculos), permite las opciones AND y OR. Imagen 49. Ventana de configuración de Lectura de sensores – Línea Ruido Este módulo tiene un resultado verdadero si detecta un sonido fuerte. No tiene ventana de configuración. Golpe Este módulo tiene un resultado verdadero si detecta un golpe sobre mOway. No tiene ventana de configuración. www.moway-robot.com MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 43 de 87 5.3.3 Datos Con este grupo de funciones es posible leer, escribir y modificar los datos que proporciona el robot mOway. Estos datos pueden provenir de la lectura de los sensores o de variables creadas por el usuario y almacenadas en la memoria de mOway. Estos datos se almacenan en variables, las cuales son definidas por el usuario. Para crear una nueva variable, se elige el menú “Variables” de la barra de herramientas y se selecciona “Nueva variable”. Se asigna un nombre y un valor inicial para ella. Algunos de los bloques permiten crear estas variables directamente desde su ventana de configuración, para valores que puedan variar a lo largo del programa. NOTA: Cada variable se almacena en un byte de memoria, por lo que su rango de valores es de 0 como mínimo a 255 como máximo. Calcular Se emplea para realizar operaciones aritméticas de sumar (+=) o restar (-=) sobre una variable. El primer parámetro debe ser siempre una variable y en él se almacenará el resultado de la operación. El segundo operando puede ser una constante o una variable. Reiniciar Datos de mOway Este módulo pone a cero los contadores almacenados de tiempo y distancia. Permite seleccionar qué datos en concreto queremos reiniciar. Asignar variable Este grupo de módulos permiten asignar un valor a una variable creada por el usuario. Este valor puede ser constante o bien el valor analógico de alguno de los sensores. o Valor: asigna a la variable un valor constante. o Tiempo: asigna a la variable el tiempo transcurrido. El valor tiene un rango de 0 a 255 décimas de segundo. o Velocidad: asigna a la variable la velocidad de uno de los motores. El valor tiene un rango de 0 (motor parado) a 100 (velocidad máxima). o Distancia: asigna a la variable la distancia recorrida por el robot. El valor tiene un rango de 0 a 255 centímetros. o Ángulo: asigna a la variable el valor del ángulo girado por el robot. El valor tiene un rango de 0 (correspondiente a 0 www.moway-robot.com MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 44 de 87 grados) a 100 (correspondiente a 360 grados). Si el robot ha girado más de una vuelta (360º), el valor asignado es 255. o Luminosidad: asigna a la variable el valor del sensor de luz. El valor tiene un rango de 0 (oscuridad) a 100 (luz). o Línea: asigna a la variable el valor de uno de los sensores de línea. El valor tiene un rango de 0 (correspondiente a blanco) a 100 (correspondiente a negro). o Obstáculo: asigna a la variable el valor de uno de los sensores de obstáculo. El valor tiene un rango de 0 (no detección) a 100 (obstáculo muy cercano). o Acelerómetro: asigna a la variable el valor de uno de los ejes del acelerómetro. El valor tiene un rango de 0 (aceleración límite negativa) a 255 (aceleración límite positiva). Para una aceleración nula, el valor es de 127 (la mitad del rango de valores). o Ruido: asigna a la variable el valor del micrófono del robot. El valor tiene un rango de 0 (silencio) a 255 (ruido). o Temperatura: asigna a la variable el valor de la temperatura del robot. El valor tiene un rango de 0ºC a 255ºC. o Batería: asigna a la variable el valor del nivel de batería del robot. El valor tiene un rango de 0 a 100%. Comparar Este grupo de módulos permiten comparar un valor (bien sea constante o bien la lectura de un sensor), con una constante o a una variable creada por el usuario. Los operadores de comparación son los siguientes: igual (==), diferente (<>), mayor (>), mayor o igual (>=), menor (<), menor o igual (<=). o Dato: compara una variable creada por el usuario. o Tiempo: compara el valor tiempo transcurrido. El rango es de 0.1 a 25.5 segundos. o Velocidad: compara el valor de la velocidad de uno de los motores. El rango es de 0 (motor parado) a 100 (velocidad máxima). o Distancia: compara el valor de la distancia recorrida por el robot. El rango es de 0 a 255 centímetros. www.moway-robot.com MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 45 de 87 o Ángulo: compara el valor del ángulo girado por el robot. El rango es de 0 a 360 grados. o Luminosidad: compara el valor del sensor de luz. El rango es de 0 (oscuridad) a 100 (luz). o Línea: compara el valor de uno de los sensores de línea. El rango es de 0 (correspondiente a blanco) a 100 (correspondiente a negro). o Obstáculo: compara el valor de uno de los sensores de obstáculo. El rango es de 0 (no detección) a 100 (obstáculo muy cercano). o Acelerómetro: asigna a la variable el valor de uno de los ejes del acelerómetro. El valor tiene un rango de -2g (aceleración límite negativa) a 2g (aceleración límite positiva). Para una aceleración nula, el valor es de 0. (NOTA: El valor g equivale a un valor de 9.81m/s2). o Ruido: compara el valor del micrófono del robot. El rango es de 0% (silencio) a 100% (ruido). o Temperatura: compara el valor de la temperatura del robot. El rango es de 0ºC a 255ºC. o Batería: compara el nivel de batería del robot. El rango es de 0 a 100%. 5.3.4 Control de flujo Pausa Permite realizar una pausa en el programa de una duración múltiplo de 0,05 segundos. El parámetro de pausa puede ser una constante o una variable. Llamada a función Este módulo permite usar una función o subrutina creada por el usuario. Ver capítulo “Subrutinas” de este manual. Fin Este módulo determina el final del programa. Los programas que consisten en un bucle que se repite indefinidamente no necesitan emplear este módulo. www.moway-robot.com MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 46 de 87 5.3.5 Expansión Este grupo de funciones permiten usar el conector de expansión de mOway, bien sea para usar el módulo RF u otros módulos de expansión. ¡ATENCIÓN! Sólo los usuarios avanzados pueden usar la configuración del módulo IO. La incorrecta conexión de elementos electrónicos en el conector de expansión puede causar daños irreversibles en el robot. Módulo IO – Configurar Este módulo configura los terminales del conector de expansión como entradas (Input) o salidas (Output), y les asigna un valor inicial en caso de que sean salidas. Imagen 50. Ventana de configuración de Módulo IO – Configurar Módulo IO – Salida Este módulo activa (On), desactiva (Off) o conmuta los terminales configurados como salidas del conector de expansión. ¡ATENCIÓN! Sólo se puede asignar un valor a los terminales configurados como salida. Si se asignase un valor a los terminales configurados como entradas, el circuito electrónico podría dañarse. www.moway-robot.com MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 47 de 87 Imagen 51. Ventana de configuración de Módulo IO – Salida Módulo IO – Entrada Este módulo comprueba el valor digital de uno de los 6 terminales de entrada del conector de expansión. Compara si el estado de dicho terminal es igual (==) o diferente (<>) a “encendido” (1) o “apagado” (0). Cámara – Activar Este módulo activa la cámara de mOway y permite seleccionar el canal de transmisión. Este canal debe ser el mismo que el del receptor de vídeo. Cámara – Detener Este módulo apaga la cámara. Comunicación – Empezar Este módulo configura el robot para establecer una comunicación por radiofrecuencia (RF). A la hora de activarlo debemos seleccionar qué identificador usará el robot y en qué canal queremos que opere. Para que dos mOways puedan comunicarse entre sí deben estar funcionando en el mismo canal y normalmente, cada uno tendrá un identificador diferente. Si la configuración es correcta, la salida de este módulo es “verdadera”. En la imagen del lateral se muestra cómo colocar las flechas en este módulo en el diagrama. www.moway-robot.com MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 48 de 87 Imagen 52. Ventana de configuración de Comunicación – Empezar Comunicación – Parar Este módulo detiene la comunicación por RF. No tiene ventana de configuración. Comunicación – Enviar Con este módulo se puede transmitir una trama a una dirección concreta. En la trama hay que indicar la dirección del receptor y los datos a enviar, que pueden ser constantes o variables. Si el mensaje ha sido recibido por el receptor, la salida es “verdadera”. De otro modo, la salida es “falsa”. Hay que recordar que previamente a este condicional, se tiene que configurar el módulo “Comunicación - Empezar”. Los robots participantes en la comunicación RF tienen que tener el mismo canal y direcciones diferentes. www.moway-robot.com MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 49 de 87 Imagen 53. Ventana de configuración de Comunicación – Enviar Comunicación – Recibir Con este módulo se puede recibir una trama desde una dirección concreta. Hay que indicar por lo menos dos variables: una para recoger la dirección de emisor y la otra para el dato. Si el mensaje enviado por el transmisor ha sido recibido correctamente, la salida es “verdadera”. Si el mensaje no ha sido recibido, la salida es “falsa”. Hay que recordar que previamente a este condicional, se tiene que configurar el módulo “Comunicación - Empezar”. Los robots participantes en la comunicación RF tienen que tener el mismo canal y direcciones diferentes. www.moway-robot.com MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 50 de 87 Imagen 54. Ventana de configuración de Comunicación – Recibir www.moway-robot.com MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 51 de 87 5.4 Variables Una variable contiene un valor que puede cambiar a lo largo del programa, y es almacenada en la memoria interna de mOway. Las variables permiten manejar datos del programa, lo cual proporciona una mayor flexibilidad a la hora de desarrollar el programa. Estos datos pueden ser los valores de los sensores del robot, mensajes recibidos por radiofrecuencia, etc. Estas variables pueden ser creadas desde ciertos módulos, o también desde la barra de tareas. Para crear una nueva variable, se elige el menú “Variables” de la barra de herramientas y se selecciona “Nueva variable”. Se asigna un nombre y un valor inicial para ella. El nombre debe comenzar por al menos una letra y no debe tener más de 14 caracteres. Imagen 55. Creación de una nueva variable Imagen 56. Creación de una variable desde un módulo www.moway-robot.com MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 52 de 87 Las variables pueden ser editadas desde la barra de herramientas, en “Variables – Variables”. Imagen 57. Ventana de Variables 5.5 Funciones / Subrutinas Una función o subrutina es un programa, normalmente un diagrama pequeño, que puede ser usado (llamado) por otro programa, por ejemplo, desde el diagrama principal. A continuación se muestra un ejemplo en el que se define un diagrama que encienda el LED frontal, espere un segundo, apague el LED frontal y por último espere otro segundo. Si este programa se define como una Función, puede ser llamado desde el diagrama principal. Para crear una función nueva, se pulsa el icono “+” que se encuentra en la zona superior del editor de diagramas y se le asigna un nombre (por ejemplo, “MyFunction”). Aparecerá una nueva pestaña “MyFunction”. Imagen 58. Creación de una función www.moway-robot.com MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 53 de 87 El funcionamiento del LED explicado anteriormente se define en esta función de usuario. Imagen 59. Diagrama de “MyFunction” Para regresar al diagrama principal, se pulsa sobre la pestaña “Principal”. Desde este diagrama se puede llamar a la función “MyFunction” con el módulo “Control de Flujo – Llamada a Función”. En este módulo se selecciona la función “MyFunction” En este ejemplo, la función se llama tres veces desde el diagrama principal. Por tanto, el LED frontal parpadeará tres veces. Imagen 60. Llamada a función 3 veces desde el diagrama principal www.moway-robot.com MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 54 de 87 6. Aplicaciones 6.1 Ventana de comunicaciones La ventana de comunicaciones permite enviar y recibir comandos RF utilizando el RFUSB conectado al ordenador. Para lanzar esta ventana hay que pulsar el icono “Comunicaciones”. Imagen 61. Icono “Comunicaciones” La ventana de Comunicaciones aparecerá en el lado derecho del espacio de trabajo. Para empezar la comunicación RF del dispositivo RFUSB, se configura el RFUSB con dirección y canal (en este ejemplo “2” y “0”), y se pulsa el botón Iniciar. Imagen 62. Ventana “Comunicaciones” www.moway-robot.com MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 55 de 87 Para enviar un mensaje desde el ordenador a mOway, se selecciona la dirección del robot (en este ejemplo es “1”), se cambia los datos a enviar (ordenados desde el Dato 7 hasta el Dato 0) y se pulsa en botón Enviar. Si se selecciona “0” en la “Dirección de Moway” el mensaje será recibido por todos los robots al alcance. Cuando el RFUSB recibe un mensaje desde un mOway, muestra la hora en la que se ha recibido el mensaje y los datos del mismo con el siguiente formato: El número entre paréntesis es la dirección del robot que ha enviado el mensaje. El resto de números son los datos enviados por el robot, ordenados desde el Dato 7 hasta el Dato 0. 6.2 MowayCam La aplicación MowayCam permite mostrar en el PC las imágenes enviadas por el módulo de cámara Moway Camera Board y guardar capturas de dichas imágenes en cualquier dispositivo de almacenamiento conectado al PC. Esta aplicación se lanza desde la pestaña “Ver -> mOway Cam” o desde el icono indicado: Imagen 63. Acceso a MowayCam www.moway-robot.com MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 56 de 87 Una vez pulsado el icono, aparecerá el panel lateral de MowayCam. Imagen 64. Panel de MowayCam En esta ventana se muestra las imágenes de la cámara. También permite habilitar y deshabilitar la capturadora de vídeo y guardar dichas imágenes en el dispositivo de almacenamiento que elija el usuario. Botón Actualizar: recarga en la lista los dispositivos de vídeo conectados al ordenador. Dependiendo de la versión del driver, el receptor de vídeo de Moway puede identificarse como “Moway Videocap”, “STK1160 Grabber” o “USB2.0 ATV”. Botón Iniciar: activa el receptor de vídeo Moway Camera Board. Botón Detener: desactiva el receptor de vídeo Moway Camera Board. Botón Capturar: guarda la imagen actual de la cámara en la ubicación especificada y con el nombre indicado. IMPORTANTE: Una vez activada la captura de vídeo, NO DESCONECTAR el receptor de vídeo Moway Camera Board del puerto USB del ordenador. Si se desconectase mientras el receptor está activado, el ordenador podría reiniciarse. Para desconectarlo, pulsar el botón Detener o cerrar el panel MowayCam. www.moway-robot.com MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 57 de 87 6.3 MowayRC MowayRC es una aplicación que permite controlar a mOway como si fuera un dispositivo de radio control y monitorizar todos los sensores del robot. Es una herramienta que se vale de los módulos de RF BZI-RF2GH4 y del RFUSB muy útil para todos aquellos usuarios que quieran explorar el campo donde se desenvolverá el microbot. El concepto de funcionamiento es el siguiente: la aplicación transmite comandos por USB al RFUSB y ésta los transmite a mOway, que previamente ha sido grabado con un programa que interpreta esos comandos (mOway_RC_Client incluido en mOway Pack). R F PC MOT_DIR Moway_RC Center.exe Moway USB RFUsb Moway_RC _Client .hex Imagen 65. Diagrama mOway RC Esta aplicación se lanza desde la pestaña “MowayRC -> Abrir” o desde el icono indicado: Imagen 66. Acceso a Moway RC Center Una vez iniciado el proceso, se preguntará al usuario si quiere programar el “mOway_RC_Client” en el robot y la aplicación mOwayRC comenzará. A continuación se describen las diferentes partes del programa. www.moway-robot.com MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 58 de 87 Imagen 67. Aplicación mOway RC 6.3.1 Configuración En esta parte se configura el módulo RFUSB de mOway con la dirección por defecto “2” y el canal de comunicaciones “0” (canal por defecto del programa de RC de mOway). Para evitar interferencias por WIFI, Bluetooth, Microondas, u otros mOways, se puede cambiar el canal con el botón Cambiar canal. Para realizar el cambio de canal el robot tiene que estar encendido y comunicándose con el RFUSB. Cada vez que se desconecta el RFUSB el canal por defecto será el “0”. El procedimiento recomendado a seguir es el siguiente: 1) Encender el robot 2) Conectar el RFUSB. 3) Probar el canal mandado comandos a mOway 4) Si el robot no responde bien cambiar el canal y probar de nuevo En caso de que el robot no haya sido cargado con el “mOway_RC_Client”, se puede reprogramar con el botón Programar mOway. 6.3.2 Movimiento Una vez conectado el RFUSB podemos mandar comandos a mOway. Mediante los botones podemos controlar los movimientos del robot, o desde el teclado (teclas W, S, A, D). También existen dos barras donde definir la velocidad y la curvatura de giro. Se muestra la distancia recorrida por el robot, la cual puede ser reseteada al pulsar el www.moway-robot.com MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 59 de 87 botón Resetear distancia. 6.3.3 Luces En este apartado se controla el encendido y apagado de los cuatro LEDs de mOway. 6.3.4 Sonido En este apartado se puede encender, apagar el speaker del robot a una determinada frecuencia, así como realizar un pitido. También es posible reproducir notas musicales. 6.3.5 Estado de sensores Sensores de línea: mayor valor cuanto más oscura es la superficie. Ambiente de mOway: lecturas de luminosidad, temperatura y ruido detectados por mOway. Obstáculos: mayor valor cuanto más cerca está el objeto. Aceleración: lecturas de la aceleración sobre los tres ejes de mOway. 6.3.6 Cámara Permite activar la cámara de mOway en el canal seleccionado durante un máximo de 15 segundos. Durante el tiempo de activación de la cámara se detiene la comunicación con mOway, para evitar interferencias. Una vez finalizado este tiempo, la comunicación se restablece automáticamente. Para ver las imágenes de la cámara es necesario lanzar el panel de “Cámara”. 6.4 MowayServer Gracias a esta aplicación, el robot Moway puede ser controlado desde un teléfono móvil, una tableta o un ordenador, a través de comunicación WiFi. Estos dispositivos pueden conectarse a la red creada por el robot Moway, al que previamente se ha conectado el Módulo Wifi16. Una vez conectados, el robot puede ser controlado desde el explorador web del dispositivo. La aplicación se lanza desde la barra de herramientas. 16 Disponible según pack www.moway-robot.com MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 60 de 87 Imagen 68. Acceso a Moway Web Server Aparece el panel lateral de Moway Server. Imagen 69. Panel lateral de Moway Web Server El procedimiento para poder comunicarse con el servidor web es el siguiente: 1) Seleccionar una IP (sólo es modificable el último campo) y pulsar el botón Programar web server. 2) Después de unos segundos, el robot creará una red Wifi adhoc con nombre MowayNet***, siendo *** el número seleccionado para la IP en el paso anterior. 3) Si se está usando el ordenador para acceder al servidor web, pulsar el botón Moway web server para abrir el explorador web con la IP seleccionada. Si se www.moway-robot.com MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 61 de 87 está usando otro dispositivo, abrir el explorador web e introducir la IP seleccionada. Una vez realizados los pasos anteriores, aparecerá una pantalla como la mostrada en la imagen siguiente, desde la cual se puede controlar el movimiento y luces de mOway, así como leer ciertos sensores. Imagen 70. Servidor web de mOway NOTA: Dependiendo de la conexión wifi y del explorador web, tanto la conexión a la red como el mostrado del servidor pueden tardar un tiempo. www.moway-robot.com MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 62 de 87 7. Simulador 7.1 Introducción El simulador de MowayWorld permite probar el funcionamiento de un programa antes de grabarlo en el robot mOway. De esta forma se puede detectar los posibles errores que haya en el programa y solucionarlos rápidamente. El simulador se abre desde la barra de herramientas: Imagen 71. Acceso al simulador Al activar el simulador aparecerá en el panel lateral: Imagen 72. Panel lateral del simulador www.moway-robot.com MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 63 de 87 Las acciones disponibles en simulador son las siguientes: Ejecutar: En el modo “Ejecutar”, el simulador ejecuta el programa en “tiempo real”, es decir, a la velocidad en la que el programa se ejecutaría en el robot. Animar: En el modo “Animar”, el simulador ejecuta el programa paso a paso, deteniéndose durante un segundo en cada bloque. El bloque que está ejecutando el simulador en cada momento se indica con una flecha amarilla. Pausa: Detiene la simulación en el bloque actual. Reiniciar: Al pulsar el botón de reinicio, la simulación vuelve al estado inicial, es decir, al principio del programa. También se reinicia el valor de las variables. Paso a paso con funciones: En este modo, el simulador avanza por el programa paso a paso, deteniéndose en cada bloque. Además, avanza también por los las funciones creadas por el usuario. Paso a paso sin funciones: En este modo, el simulador avanza por el programa paso a paso, deteniéndose en cada bloque. A diferencia del modo anterior, el simulador no avanza por las funciones de usuario. 7.2 Funcionamiento En el simulador, el usuario puede variar el valor de los sensores del mOway y ver cómo esto afecta al funcionamiento del robot, en función del programa que esté siendo simulado. Los apartados del robot que pueden visualizarse y controlarse en la simulación son los siguientes: Movimiento, luces y sonido: muestra el estado de los motores, el estado de los LEDs y el altavoz de mOway. o El giro de las ruedas se indica por medio de las flechas rojas. También se refleja la distancia recorrida por el robot. o El sonido emitido por el robot se indica por medio del icono en forma de altavoz. Cuando está verde se simula que mOway emite un sonido. En rojo simula que el sonido se ha detenido. www.moway-robot.com MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 64 de 87 Sensores de línea y obstáculos: permite simular la variación del valor de los sensores de línea y obstáculos. El valor de los sensores del simulador está definido según el valor analógico de los sensores reales del robot. Por tanto, los valores de los sensores simulados son los siguientes: Sensores de línea Línea a simular Valor del sensor Blanca De 0 a 20 Gris De 21 a 229 Negra De 230 a 255 Sensores de obstáculos Obstáculo a simular Valor del sensor Obstáculo no detectado De 0 a 127 Obstáculo detectado De 128 a 255 www.moway-robot.com MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 65 de 87 Entorno: permite simular la variación del valor de los sensores de luz, temperatura y el micrófono. Sensor de luz Entorno a simular Valor del sensor Oscuridad total 0 Luminosidad intensa 100 Sensor de ruido Entorno a simular Valor del sensor Silencio 0 Ruido intenso 100 Acelerómetro: permite simular la variación del valor del acelerómetro, en sus 3 ejes. El valor del acelerómetro varía entre -2g y +2g, siendo “g” la aceleración de la gravedad (9,81m/s2). Por ejemplo, si queremos simular que mOway se encuentra sobre una superficie plana, los valores serían los siguientes: Acelerómetro Eje del acelerómetro Valor del acelerómetro (g) Eje X 0 Eje Y 0 Eje Z 1.00 www.moway-robot.com MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 66 de 87 Comunicaciones: permite simular el envío de datos por radiofrecuencia al robot mOway, así como simular la recepción de datos enviados por mOway. En el apartado “Datos del emisor” se simula el envío de datos al robot. En el apartado “Datos de mOway” se muestra los datos enviados por el robot simulado. Registros: muestra un listado de las variables creadas en el programa con su valor en cada momento. www.moway-robot.com MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 67 de 87 7.3 Ejemplo de simulación En el siguiente ejemplo se muestra la simulación de un programa en el que el robot avanza recto durante 12 cm y después enciende el LED frontal. Pulsando el botón de “Animar” o “Paso a paso”, una flecha amarilla indica en qué punto del diagrama se encuentra el simulador. Mientras el simulador ejecuta el bloque “Recta”, se indica la dirección de giro de las ruedas y se va incrementando la distancia recorrida. www.moway-robot.com MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 68 de 87 Una vez que el bloque “Recta” ha terminado (el robot habría recorrido 12 cm), el simulador ejecuta el bloque “Luces”, en el que se enciende el LED frontal. Una vez hecho esto, el simulador termina. www.moway-robot.com MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 69 de 87 8. mOway Scratch 8.1 Introducción Ahora mOway es también compatible con Scratch. La comunicación entre Scratch y mOway es bidireccional, de modo que Scratch recibe el valor de los sensores de mOway y a su vez mOway recibe comandos provenientes de Scratch. Para implementar esta funcionalidad se hace uso de las conexiones mediante sockets de Scratch para obtener datos de sensores remotos y de los comandos “enviar a todos” para enviar órdenes a mOway. La aplicación “mOway Scratch” actúa de pasarela de datos entre Scratch y mOway. mOway Scratch Scratch Robot mOway La conexión entre mOway y Scratch se realiza a través de los módulos de radiofrecuencia mOway y el módulo RFUSB conectado al ordenador. Es por tanto necesario tener el módulo de radiofrecuencia colocado en la ranura de expansión mOway y el módulo RFUSB conectado a un puerto USB del ordenador. 8.2 Funcionamiento La comunicación mOway – Scratch se activa por medio de la aplicación “mOway Scratch”. www.moway-robot.com MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 70 de 87 El botón “Programar” descarga el firmware necesario en mOway para que la conexión con Scratch sea correcta. Para ello el robot mOway debe estar conectado a través del puerto USB. El firmware se grabará para funcionar en el canal seleccionado en la caja “canal”. Para iniciar la comunicación se pulsa el botón “Conectar al canal …”. El robot mOway deberá tener el firmware de Scratch previamente grabado, el módulo RFUSB deberá estar conectado y Scratch abierto con alguno de los programas de ejemplo de mOway. Una vez establecida la conexión desde Scratch es posible obtener los valores de cualquiera de los sensores de mOway y es posible enviar órdenes a mOway para realizar acciones de movimiento, encender o apagar LEDs y zumbador. Para configurar estas acciones se hace uso de algunas variables dentro de Scratch. 8.3 Paso a paso 1. Conectar el módulo RF al conector de expansión del robot mOway. 2. Conectar el RFUSB al ordenador. 3. Conectar el robot mOway al ordenador. 4. Abrir la aplicación “mOwayScratch”: www.moway-robot.com MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 71 de 87 5. Seleccionar el idioma en el que se van a realizar los programas de Scratch (en este caso, Español): 6. Pulsar el botón “Programar” (no es necesario si el robot ya ha sido programado previamente de esta forma). 7. Una vez programado correctamente, desconectar el robot mOway del ordenador y encender el robot. 8. Abrir uno de los proyectos para mOway en Scratch. Se puede acceder a estos proyectos a través del menú “Inicio -> Todos los programas -> mOway Pack v3 -> mOway Scratch projects”. Por ejemplo, abrir el proyecto “moway_RC.sb”. www.moway-robot.com Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 72 de 87 MOWAY 9. Pulsar “OK”. Para Scratch 2.0: 1- Presiona "Shift" sin soltar, haz clik en Archivo y elegir "Importar la version experimental de la extension HTTP" 2- Ruta C:\Program Files\mOwayPack v4 \mOwayScratchV2 \Projects\Library\English\MowayLibrary.s2e 3-Para ver los bloques de los sensores, ir al aparatdo "Mas Bloques" 10. Una vez abierto el proyecto en Scratch, pulsar el botón “Conectar al canal…” en la aplicación. El estado del panel de la aplicación será el siguiente: 11. Volviendo a la ventana de Scratch se verá cómo varían los valores de los sensores de mOway. Al pulsar los cursores del teclado (flechas), el robot mOway se desplazará. www.moway-robot.com MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 73 de 87 Si se quiere emplear varios robots en diferentes ordenadores, es necesario asignar un canal diferente a cada robot para que no haya interferencias entre ellos. Para ello, seguir los siguientes pasos: 1. Si la conexión con Scratch se ha iniciado, pulsar el botón “Desconectar”. 2. Asignar un canal diferente a cada robot (en este caso, se elige el canal 4): 3. Reprogramar el robot pulsando en botón “Programar”. www.moway-robot.com MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 74 de 87 4. Una vez programado correctamente, desconectar el robot mOway del ordenador y encender el robot. 5. Pulsar el botón “Conectar al canal…”. 8.4 Comandos y Sensores A continuación se presenta la relación de acciones disponibles para ejecutar desde el entorno Scratch y las variables que configuran cada acción. El envío de comandos a mOway se realiza empleando el bloque de control “enviar a todos”. Por ejemplo, el mensaje “giro(izquierda)” realizaría un giro hacia la izquierda: Comando adelante atras izquierda derecha mediavuelta parar reset(distancia) adelante(recto) Descripción mOway avanaza recto de forma indefinida, con una velocidad del 50%. mOway retrocede recto de forma indefinida, con una velocidad del 50%. mOway realiza un giro de 90º hacia la izquierda. mOway realiza un giro de 90º hacia la derecha. mOway gira media vuelta. mOway se detiene. Resetea el contador de distancia total de los motores. mOway avanza recto a una velocidad determinada durante la distancia “distancia” o el tiempo “tiempo”. Si “tiempo” y “distancia” son iguales a cero, mOway avanzará indefinidamente. atras(recto) mOway retrocede recto. Su comportamiento es idéntico a “adelante(recto)”, pero en sentido contrario. adelante(izquierda) mOway avanza en una curva hacia la izquierda de un radio determinado a una velocidad determinada durante la distancia “distancia” o el tiempo “tiempo”. Si “tiempo” y “distancia” son iguales a cero, mOway avanzará indefinidamente. www.moway-robot.com Variables empleadas - MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 75 de 87 adelante(derecha) mOway avanza en una curva hacia la derecha. Idéntico pero en dirección opuesta a “adelante(izquierda)”. atras(izquierda) mOway retrocede en una curva hacia la izquierda. Idéntico pero en sentido opuesto a “adelante(izquierda)”. atras(derecha) mOway retrocede en una curva hacia la derecha. Idéntico pero en sentido opuesto a “atras(izquierda)”. giro(izquierda) mOway realiza una rotación a una velocidad determinada de un ángulo determinado hacia la izquierda, sobre su eje o sobre una rueda. Si el ángulo (“rotación”) es igual a cero, la rotación se realiza de manera indefinida. giro(derecha) mOway realiza una rotación hacia la derecha. Idéntico a “giro(izquierda)”, pero en dirección opuesta. ledfrontal(on) ledfrontal(off) ledfrontal(parpadeo) ledfreno(on) ledfreno(off) ledfreno(parpadeo) ledverde(on) ledverde(off) ledverde(parpadeo) ledrojo(on) ledrojo(off) ledrojo(parpadeo) leds(on) leds(off) leds(parpadeo) sonido(on) sonido(off) melodia(carga) melodia(fallo) encerrado Activa el LED frontal. Desactiva el LED frontal. Parpadea el LED frontal. Activa el LED de freno Desactiva el LED de freno Parpadea el LED de freno. Activa el LED verde superior Desactiva el LED verde inferior Parpadea el LED verde. Activa el LED rojo superior Desactiva el LED rojo superior Parpadea el LED rojo superior. Activa todos los LEDs. Desactiva todos los LEDs. Parpadea todos los LEDs. Activa el altavoz con un sonido a una frecuencia determinada. Desactiva el altavoz. Suena una melodía de “a la carga”. Suena una melodía de “fallo”. Subprograma para que mOway se quede www.moway-robot.com - - Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 76 de 87 MOWAY encerrado dentro de un círculo negro. Avanza cuando está sobre una superficie blanca y cuando llega a una línea negra, da la vuelta. Subprograma para detectar objetos. mOway empujar busca los objetos y los empuja. Subprograma para que mOway expulse defensor objetos dentro de un círculo negro. Combina los subprogramas “encerrado” y “empujar”. Subprograma para seguir una línea negra por seguirlinea(izquierda) el lado izquierdo. Subprograma para seguir una línea negra por seguirlinea(derecha) el lado derecho. - En la siguiente tabla se muestran la relación de variables con los valores que pueden tomar para la correcta ejecución de los comandos: Variable Descripción Rango de Valores distancia Distancia a recorrer en mm 0 – 255 mm ( 0 – 25,5 cm ) frecuencia Frecuencia de la señal del altavoz 0 – 16000 Hz radio Radio de curvatura 0- 100 (radio + velocidad < 100) rotacion Ángulo de rotación en grados 0 – 360 º eje-rotacion Eje de rotación “rueda” – Sobre rueda Cualquier valor – Sobre centro velocidad Velocidad de movimiento 30 -100 % tiempo Tiempo de movimiento décimas de segundos en 0 – 255 (0 - 25,5 segundos) www.moway-robot.com MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 77 de 87 En la siguiente tabla se muestran las variables de mOway que podemos leer en Scratch utilizando el bloque “valor del sensor”. Por ejemplo, este bloque indicaría el valor del sensor de línea derecho del robot: Variable Descripción Rango de Valores Obstaculos lateral izquierdo Sensor de obstáculos izquierdo lateral 0 (sin obstáculo) 100 (obstáculo muy cerca) Obstaculos central izquierdo Sensor de obstáculos izquierdo central 0 (sin obstáculo) 100 (obstáculo muy cerca) Obstaculos central derecho Sensor de obstáculos derecho central 0 (sin obstáculo) 100 (obstáculo muy cerca) Obstaculos lateral derecho Sensor de obstáculos derecho lateral 0 (sin obstáculo) 100 (obstáculo muy cerca) Linea izquierdo Sensor de línea izquierdo 0 (blanco) – 100 (negro) Linea derecho Sensor de línea derecho 0 (blanco) – 100 (negro) Luz(R) Sensor de luz ambiente 0 – 100% Distancia Contador de km en mm - Microfono Nivel de ruido ambiental Eje-X g Aceleración en g en el eje X -2.0 – 2.0 g Eje-Y g Aceleración en g en el eje Y -2.0 – 2.0 g Eje-Z g Aceleración en g en el eje Z -2.0 – 2.0 g Motor Fin Sensor que se activa cuando el último comando enviado al motor ha finalizado www.moway-robot.com 0- 100% 0-1 MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 78 de 87 8.5 Prácticas Para entender mejor la integración con mOway, dentro del instalador MowayWorld se incluyen cinco prácticas de ejemplo. Por defecto se encuentran en la carpeta de proyectos de Scratch: “Mis Proyectos -> mOway Robot -> Spanish”. También puede accederse desde el menú “Inicio -> Todos los programas -> mOway Pack v3 -> mOway Scratch projects”. 8.5.1 Movimiento por radiocontrol Cada vez que pulsamos una de las flechas del teclado, Scratch enviará un comando de movimiento a mOway. Por ejemplo, al pulsar la flecha “arriba”, el comando enviado es “adelante”. Esto hace que el robot avance. Si se pulsa la flecha “abajo”, el robot se para. De forma parecida, al pulsar las flechas “derecha” o “izquierda”, el robot gira 90º hacia el lugar correspondiente. En este caso, el robot de Scratch mostrará los giros del robot real. Para ello, se usan los bloques “girar 90 grados”. www.moway-robot.com MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 79 de 87 Verás que el robot en Scratch copia los movimientos del robot real. 8.5.2 LEDs por radiocontrol El programa consiste activar los LEDs cada vez que se pulse la tecla correspondiente. Las flechas “arriba” y “abajo” controlan los LEDs frontal y de freno. Las flechas “izquierda” y “derecha” controlan los LEDs verde y rojo. Por ejemplo, al pulsar la tecla “arriba”, lo primero que se hace es cambiar el dibujo del robot en el que el LED frontal está encendido. Después se envía al robot real el comando para encender el LED frontal. Después se envía el comando de apagar el LED de freno. NOTA: En un principio, este último comando no parece necesario, pero es útil si previamente hemos pulsado la flecha “abajo” y el LED de freno estaba encendido. De este modo, nos aseguramos de que cada vez que pulsamos la flecas “arriba” o “abajo”, queda encendido un solo LED. www.moway-robot.com MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 80 de 87 La parte del programa, que controla los LEDs rojo y verde, es muy similar a lo explicado antes. Por último, al pulsar la tecla “espacio” el dibujo del robot vuelve a ser como el inicial y todos los LEDs del robot se apagan. 8.5.3 Sigue la línea En este ejercicio vamos a practicar los comandos de mOway de “seguirlinea(izquierda)” y “seguirlinea(derecha)”. Para ello necesitaremos utilizar una pista en la que pintaremos una línea negra sobre un fondo blanco. También se pueden descargar algunas pistas dentro de la sección Club Moway en http://moway-robot.com. Para familiarizarnos con los comandos de “seguirlinea”, el ejercicio propuesto es un sencillo radiocontrol que va cambiando de un comando de “seguirlinea(izquierda)” a un comando de “seguirlinea(derecha)” a través de las teclas de dirección. La tecla espacio detiene el mOway y la flecha atrás envía un comando de “mediavuelta”. www.moway-robot.com Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 81 de 87 MOWAY En el escenario, la representación de mOwayse mueve al lado izquierdo o derecho de la línea con el cambio de comando. “seguirlinea(izquierda)” “seguirlinea(derecha)” www.moway-robot.com Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 82 de 87 MOWAY Anexo I. mOway Scratch en euskera 9.1 Introducción El funcionamiento de la aplicación mOway Scratch es el mismo que el visto en el capítulo anterior. La única diferencia será que los comandos se escribirán en euskera. Del mismo modo, si se selecciona el idioma “Euskera” en el entorno Scratch, el nombre de los bloques también cambiará. Por ejemplo: Castellano Euskera Para cambiar el idioma de Scratch, se hace clic en el icono indicado: A continuación se muestra un listado con los comandos, variables y sensores de mOway en euskera. www.moway-robot.com MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 83 de 87 9.2 Comandos y Sensores A continuación se presenta la relación de acciones disponibles para ejecutar desde el entorno Scratch y las variables que configuran cada acción. El envío de comandos a mOway se realiza empleando el bloque de control “bidali denei”. Comando aurrera atzera ezkerrera eskuinera biraegin gelditu hasieratu(distantzia) aurrera(zuzen) Descripción mOway avanaza recto de forma indefinida, con una velocidad del 50%. mOway retrocede recto de forma indefinida, con una velocidad del 50%. mOway realiza un giro de 90º hacia la izquierda. mOway realiza un giro de 90º hacia la derecha. mOway gira media vuelta. mOway se detiene. Resetea el contador de distancia total de los motores. mOway avanza recto a una velocidad determinada durante la distancia “distantzia” o el tiempo “denbora”. Si “denbora” y “distanztia” son iguales a cero, mOway avanzará indefinidamente. atzera(zuzen) mOway retrocede recto. Su comportamiento es idéntico a “aurrera(zuzen)”, pero en sentido contrario. aurrera(ezker) mOway avanza en una curva hacia la izquierda de un radio determinado a una velocidad determinada durante la distancia “distantzia” o el tiempo “denbora”. Si “denbora” y “distanzia” son iguales a cero, mOway avanzará indefinidamente. aurrera(eskuin) mOway avanza en una curva hacia la derecha. Idéntico pero en dirección opuesta a “aurrera(ezker)”. www.moway-robot.com Variables empleadas - MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 84 de 87 atzera(ezker) mOway retrocede en una curva hacia la izquierda. Idéntico pero en sentido opuesto a “aurrera(eskuin)”. atzera(eskuin) mOway retrocede en una curva hacia la derecha. Idéntico pero en sentido opuesto a “atzera(ezker)”. biratu(ezker) mOway realiza una rotación a una velocidad determinada de un ángulo determinado hacia la izquierda, sobre su eje o sobre una rueda. Si el ángulo (“biraketa”) es igual a cero, la rotación se realiza de manera indefinida. biratu(eskuin) mOway realiza una rotación hacia la derecha. Idéntico a “biratu(ezker)”, pero en dirección opuesta. aurreleda(piztu) aurreleda(amatatu) aurreleda(dirdir) balaztaleda(piztu) balaztaleda(amatatu) balaztaleda(dirdir) ledberdea(piztu) ledberdea(amatatu) ledberdea(dirdir) ledgorria(piztu) ledgorria(amatatu) ledgorria(dirdir) ledak(piztu) ledak(amatatu) ledak(dirdir) soinua(piztu) soinua(amatatu) melodia(kargatua) melodia(galdu) gartzelaturik Activa el LED frontal. Desactiva el LED frontal. Parpadea el LED frontal. Activa el LED de freno Desactiva el LED de freno Parpadea el LED de freno. Activa el LED verde superior Desactiva el LED verde inferior Parpadea el LED verde. Activa el LED rojo superior Desactiva el LED rojo superior Parpadea el LED rojo superior. Activa todos los LEDs. Desactiva todos los LEDs. Parpadea todos los LEDs. Activa el altavoz con un sonido a una frecuencia determinada. Desactiva el altavoz. Suena una melodía de “a la carga”. Suena una melodía de “fallo”. Subprograma para que mOway se quede encerrado dentro de un círculo negro. Avanza cuando está sobre una superficie blanca y cuando llega a una línea negra, da la vuelta. www.moway-robot.com - - - Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 85 de 87 MOWAY bultzada jagole marrajarraitu(ezker) marrajarraitu(eskuin) Subprograma para detectar objetos. mOway busca los objetos y los empuja. Subprograma para que mOway expulse objetos dentro de un círculo negro. Combina los subprogramas “gartzelaturik” y “bultzada”. Subprograma para seguir una línea negra por el lado izquierdo. Subprograma para seguir una línea negra por el lado derecho. - - - En la siguiente tabla se muestran la relación de variables con los valores que pueden tomar para la correcta ejecución de los comandos: Variable Descripción Rango de Valores distantzia Distancia a recorrer en mm 0 – 255 mm ( 0 – 25,5 cm ) maiztasuna Frecuencia de la señal del 0 – 16000 Hz altavoz radioa Radio de curvatura biraketa Ángulo de rotación en 0 – 360 º grados biraketa-ardatza Eje de rotación “gurpila” – Sobre rueda Cualquier valor – Sobre centro abiadura Velocidad de movimiento 30 -100 % denbora Tiempo de movimiento en 0 – 255 (0 - 25,5 segundos) décimas de segundos 0- 100 (radio + velocidad < 100) www.moway-robot.com MOWAY Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 86 de 87 En la siguiente tabla se muestran las variables de mOway que podemos leer en Scratch utilizando el bloque “sentsorean balioa”. Por ejemplo, este bloque indicaría el valor del sensor de línea derecho del robot: Variable Descripción Rango de Valores Ezker alboko oztopo Sensor de obstáculos izquierdo lateral 0 (sin obstáculo) 100 (obstáculo muy cerca) Ezker erdiko oztopo Sensor de obstáculos izquierdo central 0 (sin obstáculo) 100 (obstáculo muy cerca) Eskuin erdiko oztopo Sensor de obstáculos derecho central 0 (sin obstáculo) 100 (obstáculo muy cerca) Eskuin alboko oztopo Sensor de obstáculos derecho lateral 0 (sin obstáculo) 100 (obstáculo muy cerca) Ezker marra Sensor de línea izquierdo 0 (blanco) – 100 (negro) Eskuin marra Sensor de línea derecho 0 (blanco) – 100 (negro) Argi(R) Sensor de luz ambiente 0 – 100% Distantzia Contador de km en mm - Mikrofonoa Nivel de ruido ambiental X-Ardatza g Aceleración en g en el eje X -2.0 – 2.0 g Y-Ardatza g Aceleración en g en el eje Y -2.0 – 2.0 g Z-Ardatza g Aceleración en g en el eje Z -2.0 – 2.0 g Motore amaiera Sensor que se activa cuando el último comando enviado al motor ha finalizado www.moway-robot.com 0- 100% 0-1 MOWAY www.moway-robot.com Título: Manual Principiante Rev: v3.1.2 – Abril 2013 Página: 87 de 87