Fischertechnik RoboPro: Interfaz en Nivel Principiante

0
905

Como parte de nuestro interés por colaborar con el desarrollo de la robótica en nuestro país, Panama Hitek pondrá este espacio a disposición de docentes y estudiantes entusiastas de la robótica y tratará de contribuir con este movimiento a través e la publicación de artículos y tutoriales sobre este tema. Sobre esta iniciativa ya hemos escrito un artículo dando a conocer los motivos por los cuales nos hemos propuesto participar de este movimiento.
En esta ocasión compartiremos con ustedes los conocimientos que hemos adquirido sobre el módulo ROBO TX Controller de la marca Fischertechnik. Sobre esta plataforma ya escribimos un artículo para Panama Hitek:

En dicho artículo hicimos una descripción de los componentes de hardware que forman el RTC. En esta ocasión procederemos a describir el software que se utiliza para programar el RTC, es decir, el RoboPro.

RoboTX Pro

Este software puede ser descargado gratuitamente desde la página oficial de fischertechnik. La versión más reciente del software hasta el día de hoy (13 de enero de 2016) es la versión 4.2.3.

Una vez instalado el software (que incluye los drivers conrrespondientes) estamos listos para empezar a programar. La programación en el RoboPro se da a través de diagramas de flujo, lo cual no es lo mismo que un diagrama de bloques. Ya en Panama Hitek hemos hecho una introducción teórico-conceptual-reflectiva acerca de algunos conceptos de programación, entre ellos los diagramas de flujo:

El software presenta una interfaz sencilla y práctica, la cual presenta opciones según el nivel de opciones que la persona necesite. Estos niveles los podemos modificar en la barra de herramientas, en el menú Nivel. Veamos:

RoboTX Pro

Cuando escogemos la opción “Principiantes” veremos algunos íconos en la parte de la izquierda de la interfaz del RoboTX Pro.

RoboTX Pro

Estos símbolos desaparecen cuando escogemos un nivel superior al “Principiante” en favor de un árbol de opciones donde encontraremos más símbolos, opciones y funciones. Por lo pronto, trabajaremos con las opciones que nos presenta la interfaz “Principiante”.

El RoboPro tiene una barra de opciones con algunos iconos rápidos que nos permiten lograr resultados de forma rápida sin tener que acudir a la barra de herramientas.

RoboTX Pro

Algunas de estas opciones son muy obvias, otras las iremos descubriendo a medida que avanzamos en los tutoriales. Por lo pronto necesitamos conocer los principales símbolos de la interfaz “Principiante” que es con la que trabajaremos en esta ocasión.

Creamos un nuevo programa (clic en “Nuevo”) y empezaremos a explorar los símbolos con los que contamos y cada una de las opciones que nos brindan.

Símbolos para programación por diagramas de flujo – Nivel Principiante
  • Bloques de Inicio/Fin de flujoRoboTX ProComo ya explicamos anteriormente en nuestro artículo sobre diagramas de flujo, todo diagrama de flujo (valga la redundancia) debe poseer un principio y un fin bien definido. Estos símbolos, el de inicio (verde) y el de final (rojo) deben estar presentes en todos y cada de los programas que hagamos utilizando esta plataforma.
  • Bifurcación Digital
    RoboTX Pro
    Se trata de una estructura selectiva tal como la que ya vimos en el post introductorio sobre diagramas de flujo. El funcionamiento de este bloque depende de una entrada digital (véase Fischertechnik ROBO TX Controller: Conceptos básicos). Si la entrada digital está en HIGH el flujo tomará un camino. De lo contrario el flujo irá en otro sentido. Esto lo podemos apreciar en el siguiente esquema:RoboTX Pro
    En el post de entradas y salidas analógicas y digitales explicamos que en las entradas digitales un estado HIGH se da cuando en la entrada hay un voltaje aplicado (aproximadamente 9 voltios, aunque desde 4 o 5 voltios ya se considera HIGH) y el estado LOW representa ausencia de señal de voltaje en la entrada.
    Los interruptores y algunos sensores oscilan entre estados HIGH y LOW, por lo que este bloque es utilizado para “leer” el estado lógico de este tipo de dispositivos. La entrada que deseamos utilizar como entrada analógica la podemos escoger dándole clic derecho al ícono de la bifurcación.
    RoboTX Pro
    Podemos escoger la entrada digital, entre la 1 y la 8. La Interfase/Extensión la dejamos tal como está. La imagen la podemos cambiar por 4 distintas opciones. Lo demás lo dejamos tal como está. El funcionamiento es sencillo, pero bajo los principios lógicos correctos, este bloque puede formar parte de diagramas más complejos y elaborados donde sea necesario hacer lectura de estados lógicos definidos.
  • Bifurcación Analógica
    RoboTX Pro
    La bifurcación analógica, tal como la digital, permite seguir 2 caminos distintos dependiendo de si se cumple o no una condición dada. Sin embargo, en este caso no se toma una decisión en base a 2 niveles (HIGH o LOW). Las entradas analógicas miden niveles de voltajes, tal como explicamos en el post sobre entradas y salidas analógicas y digitales. RoboPro nos permite hacer lectura de un voltaje en una entrada analógica y decidir qué acción ejecutar. Para ello el usuario establece un nivel analógico predeterminado. El controlador decidirá las acciones a llevar a cabo si el voltaje leído es mayor, menor o igual (improbable) al voltaje preestablecido. Debemos recordar que el nivel de voltaje que apliquemos a cualquier entrada analógica no debe superar los 9 voltios. Si hacemos clic derecho sobre el icono podremos configurar la bifurcación a nuestro antojo:RoboProEs necesario escoger el parámetro que vamos a leer, si es tensión (voltaje) o resistencia. Esto ya lo explicamos en el post introductorio sobre el RTC. Podemos escoger el valor analógico que utilizaremos como referencia. El usuario puede escoger ñla condición de comparación, ya sea mayor que, mayor o igual que, igual a, menor o igual a, menor que, diferente de.
  • Tiempo de esperaRoboTX Pro
    Es el equivalente a un “delay”, es decir, introduce una pausa en el diagrama de flujo. Esta pausa durará la cantidad de tiempo que sea establecida por el usuario.
  • Salida de motor (Salida digital)
    RoboTX Pro
    La salida de motor es una salida digital, es decir, puede alternar entre 2 estados definidos, sea HIGH o LOW. Cuando la salida está en HIGH, esta puede entregar 250mA @ 9V. Cuando la salid está en LOW se convierte en un equivalente de tierra (GND). Se le llama salida de motor debido a que si conectamos un motor entre esta salida y tierra, el motor girará. Hay algunos parámetros que podemos variar en este bloque:

    RoboProSi cambiamos la Imagen simplemente haremos eso, cambiar el icono que nos aparece en el diagrama. Si modificamos la salida estaremos cambiando el puerto en el cual debemos conectar la carga. Al cambiar la acción modificamos la polaridad del puerto, lo cual es un uso casi exclusivo de aplicaciones con motores. La velocidad (entre 1 y 8) es un índice que indica el ancho del pulso para el control de la energía que se entrega a la carga a través de PWM (véase Arduino PWM: Modulación por ancho de pulsos). Con esto podemos variar la velocidad de un motor o cambiar la intensidad luminosa de un LED, entre otras cosas.
  • Esperar a entrada
    RoboTX Pro
    Este bloque se utiliza para desencadenar un flujo de instrucciones una vez se produzca una entrada. Esta entrada puede ser un estado lógico o un cambio de estados lógicos. Esto se puede apreciar en la ventana de propiedades:
    RoboTX Pro
    En “Esperar a:” tenemos las opciones:
    – 1 para esperar un 1 lógico
    – 0 para esperar un 0 lógico
    – 0 -> 1 para esperar un cambio de 0 a 1 (flanco positivo)
    – 1 -> 0 para esperar un cambio de 1 a 0 (flanco negativo)
    – 0 -> 1 ó 1 -> 0 para cualquiera de las 2 opciones anteriores.
    Una vez más es posible cambiar la imagen que se muestra en el software por alguna de las disponibles en el combo de “Imagen”.

  • Contador de impulso
    RoboTX Pro
    Este bloque permite contar una cantidad de pulsos determinada, a través de lecturas en las entradas analógicas/digitales. Se establece una cantidad de pulsos a contar (10 en caso de la imagen) para luego proceder con el recorrido del flujo en el diagrama. Las opciones que se pueden configurar:

    RoboProEl número de impulsos es la cantidad de pulsos a detectar antes de proceder. El tipo de impulso define si el pulso es de 0 a 1 (flanco positivo), de 1 a 0 (flanco negativo) o si se permite cualquier tipo de cambio. Es posible escoger la entrada donde queremos colocar este contador.
  • Bucle contador
    RoboTX Pro
    Esta estructura es el equivalente al ciclo for que encontramos en la mayoría de los lenguajes de programación. Esta estructura repite que una acción se repita un número finito de veces. Esta cantidad de repeticiones puede ser establecida por el usuario en los parámetros del bloque:
    RoboTX Pro
    La forma como trabaja este bloque la explicamos a continuación.RoboTX Pro
    A este tipo de bloques con su estructura asociada le dedicaremos un post en los próximos días donde esperamos demostrar a través de ejemplos prácticos cómo se da el flujo dentro de esta estructura.

Con los símbolos mostrados es más que suficiente para construir toda clase de algoritmos interesantes, algunos de los cuales esperamos compartir con ustedes en los próximos días. Esperamos que la información compartida sea de utilidad para usted. Saludos.