Tutorial mOway: introducción a la programación

Page 1

Introducci贸n a la programaci贸n del robot mOway


Tutorial de mOway

Introducción a la Programación

Índice

Introducción ............................................................................................................................ 2 Diagramas de flujo ................................................................................................................. 2 Bloques de Movimiento .......................................................................................................... 5 Condicionales ......................................................................................................................... 6 Bucles ..................................................................................................................................... 7 Operadores AND / OR ........................................................................................................... 8 Orden en los diagramas ....................................................................................................... 10

www.moway-robot.com

1


Tutorial de mOway

Introducción a la Programación

Introducción En este tutorial vamos a explicar algunos conceptos básicos para quienes van a programar el robot mOway por primera vez. La forma más fácil de comenzar es a través de la programación gráfica, en diagramas de flujo. Comentaremos aspectos básicos de la programación como por ejemplo qué es una condición, los conceptos lógicos AND y OR, y cómo pueden servir para controlar nuestro robot como nosotros queramos. Para poder entenderlo mejor, se incluyen ejemplos de programas realizados en MowayWorld, el software de programación de mOway. De esta forma, puedes probar a programar el robot con estos ejemplos y entender mejor cómo funcionan. Una vez que hayas probado los ejemplos de este tutorial, podrás atreverte con programas más complicados. Diagramas de flujo Un robot funciona según un programa, el cual consiste en una serie de acciones que el robot realiza en un orden determinado. Para programar el robot mOway se emplea diagramas de flujo. Pregunta: ¿Qué es un diagrama de flujo? Respuesta:

(…)

Un diagrama de flujo representa un programa gráficamente, por medio de bloques y flechas. Acción 1

Los bloques (o módulos) son las acciones que va a realizar el robot cuando lo programemos, por ejemplo: avanzar, encender una luz, comprobar los sensores, etc.

Acción 2

Las flechas indican el flujo del programa, es decir, el orden en el que el robot va a realizar las acciones indicadas

Etc.

en los bloques. (…)

www.moway-robot.com

2


Tutorial de mOway

Introducción a la Programación

A continuación, se enumeran unas acciones de ejemplo, que podrían ser un programa para el robot. Las acciones serían “avanzar” y “encender la luz”: 1. Inicio del programa 2. Avanza durante 1 segundo 3. Enciende la luz frontal 4. Final del programa Vamos a ver cómo se representaría el programa anterior en un diagrama de flujo. Como se ha explicado antes, las acciones se indican dentro de los bloques. El orden del programa se indica por medio de las flechas. A la derecha se muestra lo que haría el robot:

INICIO

Avanza durante 1 segundo

Enciende la luz frontal

FINAL

Esta forma de representar los programas hace que sean mucho más fáciles de entender, sobre todo si son programas complicados, con muchas acciones. De un solo vistazo podemos comprender qué acciones va a realizar el robot y en qué orden. NOTA: El orden de las acciones es importante. En el ejemplo anterior, el robot avanzaría con la luz apagada, se pararía y después encendería la luz. Si cambiásemos el orden de las acciones (primero encender la luz y después avanzar), el robot avanzaría con la luz encendida y después se pararía.

www.moway-robot.com

3


Tutorial de mOway

Introducción a la Programación

El software MowayWorld permite programar el mOway con diagramas de flujo, haciendo que sea muy fácil empezar a trabajar con el robot. El ejemplo anterior en MowayWorld se muestra a continuación. Se utiliza un bloque de “Movimiento -> Recta” y un bloque de “Luces”. Para terminar el programa, se usa un bloque “Fin”.

La configuración de los bloques “Movimiento -> Recta” y “Luces” sería la siguiente:

www.moway-robot.com

4


Tutorial de mOway

Introducción a la Programación

Bloques de Movimiento Los bloques de movimiento se usan para que el robot se desplace por medio de sus ruedas. Se puede ordenar al robot que avance, retroceda, gire o incluso controlar cada una de sus dos ruedas de forma independiente. Estos bloques tienen la opción de ejecutarse durante un tiempo determinado, durante una distancia o bien de forma indefinida. Es decir, se puede elegir que el robot se mueva durante un tiempo y después se detenga, que se mueva hasta recorrer la distancia que le indiquemos, o bien que se mueva continuamente sin detenerse.

PONLO A PRUEBA: Puedes comenzar con un programa para que mOway avance (módulo “Movimiento -> Recta”). Ve cambiando los parámetros del apartado Control de flujo (indefinidamente, tiempo constante, distancia constante…) y comprueba lo que ocurre. Si colocas un bloque de avance recto que se ejecute de forma indefinida, y a continuación

colocas un bloque de “Movimiento -> Rotación”, verás que el robot solo hará la rotación.

PONLO A PRUEBA: Programa este ejemplo en el robot y pruébalo. Verás que el robot solo realiza la rotación, sin avanzar. Si quieres saber por qué, sigue leyendo.

www.moway-robot.com

5


Tutorial de mOway

Introducción a la Programación

Al elegir la opción “indefinidamente”, el robot avanza hasta que en el diagrama se encuentre el siguiente módulo de movimiento. Pero como el siguiente módulo (rotación) se encuentra justo después, al robot apenas le da tiempo a avanzar y pasa a realizar la rotación instantáneamente. Por eso no vemos que el robot avance. Para solucionarlo, en el módulo “Movimiento -> Recta” debemos elegir bien una distancia o bien un tiempo durante el cual queremos que el robot avance antes de realizar la rotación. Condicionales Un bloque condicional es una acción cuyo resultado va a depender de una condición. Por ejemplo, imagina que queremos que mOway avance hasta que encuentre un obstáculo. Cuando lo detecte, el robot deberá pararse hasta que apartemos el obstáculo. Entonces el robot reanudará su avance.

Es decir, la condición para que el robot se detenga es que sus sensores de obstáculos detecten un obstáculo delante del robot.  Si hay un obstáculo, los sensores lo detectarán y la condición será verdadera (marca verde). Entonces el robot se parará.

 Si no hay ningún obstáculo, los sensores no detectarán nada y la condición será falsa (cruz roja). Entonces el robot avanzará.

PONLO A PRUEBA: Programa este ejemplo en el robot y pruébalo. Verás que no funciona correctamente. Si quieres saber por qué, sigue leyendo el siguiente apartado.

www.moway-robot.com

6


Tutorial de mOway

Introducción a la Programación

Bucles Hasta ahora hemos visto que los programas tienen un inicio y un final. Esto no siempre es así. El problema en el capítulo anterior era que el mOway comprobaba una sola vez los sensores de obstáculos, realizaba una acción (avanzar si no detecta obstáculo o detenerse en caso de detectarlo) y el programa finalizaba. Para que el ejemplo anterior funcione correctamente es necesario comprobar los sensores continuamente. Para ello haremos que el programa sea un bucle, es decir, un “círculo” cerrado:

1. Borramos el bloque “Fin”:

2. Unimos el bloque de “Stop” con el módulo de “Obstáculos”:

3. Finalmente, unimos el bloque de avance con el módulo de “Obstáculos”:

Acabamos de crear un bucle. De este modo el programa se repetirá continuamente y el robot estará siempre comprobando si hay un obstáculo. 

PONLO A PRUEBA: Programa este ejemplo en el robot. El bloque de obstáculos puede configurarse para comprobar los sensores centrales. El bloque de avance se configura para que se ejecute indefinidamente.

www.moway-robot.com

7


Tutorial de mOway

Introducción a la Programación

Al encenderlo, el robot avanzará. Si pones la mano delante del robot, permanecerá parado esperando a que la mano se aparte. Operadores AND / OR En los bloques condicionales de “Obstáculo” y “Línea”, además de elegir qué sensores queremos que utilice el mOway, tenemos la opción de elegir entre AND y OR. Vamos a ver cuál es la diferencia entre estas dos opciones. Pregunta: ¿Qué significan las opciones AND y OR? Respuesta: Si elegimos la opción AND, la salida del bloque será verdadera cuando se cumplan TODAS las condiciones. Por ejemplo, si activamos los dos sensores centrales de obstáculos y marcamos AND, la salida será verdadera cuando el sensor central izquierdo detecte obstáculo Y el sensor central derecho detecte también un obstáculo.

www.moway-robot.com

8


Tutorial de mOway

Introducción a la Programación

PONLO A PRUEBA: Haz un programa que encienda el LED frontal cuando la salida del bloque “Obstáculos” sea verdadera. Verás que el LED solo se enciende cuando ambos sensores detectan obstáculos.

Por el contrario, si elegimos la opción OR, la salida del bloque será verdadera cuando se cumpla ALGUNA de las condiciones. Por ejemplo, si activamos los dos sensores centrales de obstáculos y marcamos OR, la salida será verdadera cuando bien el sensor central izquierdo detecte obstáculo O bien el sensor central derecho detecte un obstáculo.

www.moway-robot.com

9


Tutorial de mOway

Introducción a la Programación

PONLO A PRUEBA: Haz un programa que encienda el LED frontal cuando la salida del bloque “Obstáculos” sea verdadera. Verás que, en este caso, el LED se enciende cuando cualquiera de los sensores detecta un obstáculo.

Orden en los diagramas Por último, algunos consejos a la hora de realizar tus diagramas: 

Colocar los bloques de forma ordenada, para comprender fácilmente el flujo del programa. A continuación, se ve un ejemplo en el que, siendo el mismo programa, se entiende mucho mejor cuando los bloques están colocados en línea (imagen de la izquierda).

www.moway-robot.com

10


Tutorial de mOway

Introducción a la Programación

Colocar las salidas verdaderas de los condicionales en el mismo lado. Por ejemplo, en un diagrama con varios bloques condicionales, colocar las acciones de las salidas verdaderas a la izquierda y las falsas a la derecha. Esto no es obligatorio, pero facilita la comprensión del programa.

Tratar de que las flechas no se crucen. Si ocurre esto, se puede modificar el trazado desplazando las mismas por medio de las marcas que aparecerán al poner el cursor sobre ellas.

www.moway-robot.com

11


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.