You are on page 1of 27

Guía de manejo y uso del robot vex

Este tutorial permitirá conocer el manejo del robot vex como manejarlo a través del
joystick y/o de forma autónoma también como se ha manejado la forma inalámbrica y los
problemas que surgieron.
Primeramente veremos o describiremos físicamente (hardware) al prototipo armado que
tenemos, señalando como van conectados los motores los switch etc.
Más tarde veremos el uso del software easyC para crear programas para nuestro robot y
como cargarlos en él, y como están creados los programas ya probados e instalados.

Hardware:
El cuerpo o chasis del robot está compuesto por barras de metal .
Presenta 4 motores que sostienen a las 4 ruedas, los motores son conectados al controlador
VEX mediante controladores de motor (motor controller).

El controlador central (cortex)
se sitúa al centro del vex sobre una placa metálica, en este controlador
se conectan los motores y switch que desees agregar, también dispone
de pines disponibles para señales digitales y análogas, se puede
considerar la parte más importante del robot, ya que aparte de conectar
los demás elementos del vex es donde implementas o cargas el programa.

En la parte superior cuenta con un puerto usb
para conectarlo al computador y poder cargar
los nuevos programas.

lo que significa que el interruptor de parachoques se apaga cuando no se presiona. 4 botones de disparo en la parte trasera y dos pads direccionales de 4 botones en la parte superior. El mando joystick Tiene dos joysticks analógicos de 2 ejes. También tiene un acelerómetro que proporciona valores de inclinación XY. Que de momento nos sirve para manejar al de forma alámbrica o inalámbrica mediante las key vexnet 2. Lo hace mediante el mantenimiento de una señal de alto en su puerto del sensor. El final de carrera puede emitir sólo dos señales: ON y OFF. . Las fuerzas externas.Bumper switch (interruptor de parachoques) Es un pulsador que cuando presiona puede hacer que el robot para responder a lo programado. producen una señal digital ON. tales como colisiones.0. Limit Switch (final de carrera) Se utiliza para determinar la proximidad de los equipos (la sección Aplicaciones ilustra algunos ejemplos). que permanece encendido hasta que se suelta el brazo de palanca.

tiene los ejes 3 y 4. El joystick analógico derecho. el color rojo indica un reinicio (se encienden todos los demás led en rojo) CONFIG: es un botón de reinicio del joystick. . GAME: se enciende de color verde al manejar el robot. sirve para calibrarlo nuevamente.El mando presenta una serie leds que nos muestran el estado del joystick y marcas (números) que representan los grupos de botones. tiene los ejes 1 y 2. El joystick analógico izquierdo. Etiquetas de leds: JOYSTICK: si esta roja significa que las baterías están descargadas. ROBOT: si esta rojo se detecto la batería del robot baja o el microcontrolador es incompatible VEXnet: color rojo indica que no se ha detectado key vexnet.

0 Proporciona comunicación inalámbrica entre controlador Cortex y VEXnet joysticks. Esta clave utiliza el nuevo protocolo de comunicación VEXnet 2.0 sobre un radio personalizada 2. Y los de la parte superior 7 y 8. .Los botones de la parte trasera tienen 5 y 6.4 GHz. La key VEXnet 2.

el joystick y la key Vexnet usando VEXnet-Key-2. pero easy C brinda una licencia gratuita por una semana así que usaremos este software.0-Update-Utility-Version-3.5.withInst para no tener problemas de compatibilidad con el programa al compilar o al intentar usar el wireless del joystick. NOTA: actualmente están actualizados y compatibles.0-withInst y VEXnetUpgradeV4. ambos piden una licencia.Manejo de software y programación de vex.1. Cada uno de estos archivos tiene un manual de instrucciones propio. Para programar el controlador vex tenemos la posibilidad de usar 2 software: RobotC y easy C (instalador diponible versión 4218). Usando Easy C: . Tambien se necesita actualizar el firmware del controlador.

BEGIN: señaliza el inicio de la ejecución del programa (main). Variables: se declaran las variables locales a usar.Al empezar a programar se debe escoger que tipo de programa será implementado. . Globals: aquí se puede declarar las variables globales que tendrá el programa. en pantalla por defecto aparecen las siguientes estructuras. Al iniciar un nuevo proyecto o programa. ej: definir el algún motor conectado con un nombre específico. Características principales de easy C Cabe destacar que easy C es un software que permite la programación por bloques haciendo que sea más fácil crear un programa. ya que puedes arrastrar las instrucciones definidas y cambiar los parámetros usados. joystick Project nos sirve si queremos manejar el robot con el joystick vex o autonomous only Project que nos permite generar una especie de rutina para el robot y este se mueva de manera independiente.

estos están separados por secciones algunas de las más usadas son: .Al sector izquierdo existe una lista de comandos que se pueden utilizar.

etc Inputs: para los dispositivos que envían señales de entrada ej: limitswitch. line follower etc. .ProgramFlow: se encuentran las sentencias más comunes de la programación como los son los “if”. “wait”.”whiles”. bumper swicth.

Outputs: para los dispositivos que necesitan señales de entrada. ej los motores Joystick: (solo aparece en joystick project(wifi)) instrucciones para el manejo del robot a través del uso del joystick .

esto es para que las instrucciones dentro del “while” se realizan constantemente al ejecutar el programa.Códigos usados Como primera prueba se busca darle movimiento autónomo al vex usando easy C para ello de la lista de comandos a la izquierda en la sección “program Flow” se arrastra la opción “while”. para crear un while infinito “while(1)”. .

. Puertos Se puede ir cambiando los valores de la potencia de los motores para crear variación en los movimientos. Los números de los puertos los encontramos al borde de donde están conectados los motores.Luego se “setean” los motores para el movimiento arrastrando desde la sección “outputs” la opción “motor module” donde se define el puerto donde este insertado el motor y la potencia que tendrán que puede ser entre el intervalo de -127 y 127 en este caso se usa los valores de 50 y -50.

NOTA: se pueden crear funciones a partir de los movimientos que se van creando para usarlo en otros programas ej: las direcciones derecha.Al terminar el programa se debe compilar y descargar al controlador vex. . El signo diferente hará que los motores giren a la inversa esto sirve ya que al montar el robot. 2 motores quedan opuestos a los otros 2. NOTA: al no poder modificar la velocidad de rotación se cambia la potencia de los motores en este caso entre el rango de -127 a 127. atrás y stop. izquierda. adelante.

. Con un cable USB se debe conectar el controlador (apagado o sin la batería) al PC como se muestra en la imagen. Luego en el easy C en el menú de barra la parte superior se busca la opción “build and download” para descargar el programa al controlador.Compilando y descargando nuestro programa al robot Luego de terminar el primer programa de prueba se debe probar si funciona de manera correcta en el robot para ello se debe compilar y descargar al controlador.

Luego de la correcta compilación aparece el sgte aviso para descargar el programa al controlador. . la forma de conexión y el master code del controlador . Al señalar la respuesta “SI” aparece la siguiente ventana con la barra que muestra la descarga.

Al finalizar la descarga aparece el sgte aviso que muestra que el programa se ha descargado con éxito. si esto sucede se debe actualizar el firmware nuevamente. NOTA: en caso de falla al descargar el programa puede suceder debido a la incompatibilidad del master code. .

para crear un while infinito “while(1)”. esto es para que las instrucciones dentro del “while” se realizan constantemente al ejecutar el programa. esto se soluciona cambiando los valores de la potencia de los motores en el programa. compilando y descargando nuevamente. se enciende el robot (no olvidar conectar la batería). . El programa autónomo funcionara de la sgte forma: Bumpers Si se toca el bumper izq el robot girara a la derecha si te toca el bumper der el robot girara a la izq si se toca ambos bumper el robot retrocederá y luego se detendrá un tiempo Limit switch Si se toca el limit izquierdo o derecho la velocidad aumentara Si se toca ambos limit el robot se girara a la derecha y luego se detendra Primero de la lista de comandos a la izquierda en la sección “program Flow” se arrastra la opción “while”. Programa autónomo Para crear el programa autónomo se agregaron 2 limit switch y 2 bumper switch a vex los cuales fueron conectados al sector de señales digitales ya que estos sensores presentan 2 estados (1 y 0).Después de compilar y descargar el programa. puede darse el caso de que las ruedas giren en sentido contrario.

En la columna Value se desinga un valor por defecto. limit_izq. En la columna Comment se agregan los comentarios para especificar la variable. unsigned char. Se toma desde la sección inputs (lista de comandos a la izq) los limit y bumper switch donde se abre una ventana nueva la que se define el puerto en el que están insertados cada sensor y la variable a la que será asignada y se agrega dentro del while.Luego en la sección “variables” se crean las variables locales limit_der. . En la columna Name se agrega el nombre de la variable. char. bumper_der y bumper_izq que corresponderán a los sensores agregados estos son creados como unsigned int NOTA: También están los tipos de dato int.

.

.Luego se crean varios “if” para cumplir las condiciones descritas más arriba.

También se puede setear los motores para el movimiento arrastrando desde la sección outputs motor module donde se desplega una una ventana en la cual se asigna el puerto donde se inserto el motor y la potencia que tendrá. . para que detenga la ejecución del programa durante el tiempo deseado.Dentro de cada “if” se debe cambiar nuevamente las condiciones de los motores para que cada caso produzca el movimiento deseado. en este caso se usan funciones creadas. la cual detiene el avance del código un tiempo medido en milisegundos (ej 2000ms = 2 segundos). y también es agregada la función “wait”.

NOTA: como el robot tiene las ruedas fijas (sin eje) no puede girar. por lo tanto. se debe modificar dentro del “if” que usa los limit switch la potencia de los motores a 127 y -127 (estos son los máximos valores permitidos) para aumentar la velocidad del robot. para darle movimiento al robot y que logre moverse a los lados hacemos que las ruedas de un sector vayan más lento disminuyendo la potencia de los motores. Para cumplir con las condiciones indicadas para los limit switch. .

luego compilar y cargar nuevamente en el controlador. . Cualquier cambio que se desee realizar se debe corregir el código.Luego al terminar el programa se debe y descargar como fue explicado anteriormente. Uso del joystick y manejo del wireless Para este caso se debe empezar un proyecto nuevo con la opción joystick Project (wifi) Al iniciar un programa en esta opción aparece un nuevo bloque de comandos en la lista a la izquierda llamado joystick.

ahora son compatibles y operativas.Se muestran los posibles comandos para utilizar el joystick Actualmente el firmware del joystick. por lo tanto. del controlador y de las key vexnet. . Para empezar un nuevo programa se inicia nuevamente con un while infinito. están actualizadas.

Al arrastrar el bloque JoysticktoMotor se abre una ventana donde se ingresa el puerto al cual están conectados los motores y si debe ser invertida o no la señal (recordar que hay 2 motores opuestos y estos si deben invertirse). se designa el número del “mando” que se utilizara. luego se asigna una función a cada joystick. referenciando cada eje a los motores (los ejes están marcados en el joystick con su número respectivo) . como solo existe un mando o control en este caso es el número 1.

En este caso se usaran los ejes 2 y 3 que corresponden a los ejes verticales de los joystick analógicos izquierdo y derecho del joystick vex. Luego si se desea probar se va a la parte superior build and download y se compila y descarga. .

Luego encender ambos y esperar de 5 a 10 segundos para que se sincronicen NOTA: si el led etiquetado como joystick esta en rojo. para continuar controlando el robot. significa que se debe cargar las baterías y por lo tanto la función wireless se deshabilita. . Si se desea usar el wireless debemos conectar las key vexnet una al joystick y otra al controlador.Usando el joystick El joystick se puede conectar al controlador mediante un cable USB para manejarlo de manera alámbrica. Si es necesario se puede conectar con un cable usb el MANDO y el VEX.