Professional Documents
Culture Documents
Este tutorial permitir conocer el manejo del robot vex como manejarlo a travs del
joystick y/o de forma autnoma tambin como se ha manejado la forma inalmbrica y los
problemas que surgieron.
Primeramente veremos o describiremos fsicamente (hardware) al prototipo armado que
tenemos, sealando como van conectados los motores los switch etc.
Ms tarde veremos el uso del software easyC para crear programas para nuestro robot y
como cargarlos en l, y como estn 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 mando joystick
Tiene dos joysticks analgicos de 2 ejes, 4 botones de disparo en la parte trasera y dos pads
direccionales de 4 botones en la parte superior. Tambin tiene un acelermetro que
proporciona valores de inclinacin XY. Que de momento nos sirve para manejar al de
forma almbrica o inalmbrica mediante las key vexnet 2.0.
Etiquetas de leds:
JOYSTICK: si esta roja significa que las bateras estn descargadas.
ROBOT: si esta rojo se detecto la batera del robot baja
o el
microcontrolador es incompatible
VEXnet: color rojo indica que no se ha detectado key vexnet.
GAME: se enciende de color verde al manejar el robot, el color rojo
indica un reinicio (se encienden todos los dems led en rojo)
La key
VEXnet 2.0
Usando Easy C:
Al empezar a programar se debe escoger que tipo de programa ser implementado, 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.
Al
sector izquierdo existe una lista de comandos que se pueden utilizar, estos estn separados
por secciones algunas de las ms usadas son:
Inputs: para los dispositivos que envan seales de entrada ej: limitswitch,
bumper swicth, line follower etc.
Outputs: para los dispositivos que necesitan seales de entrada, ej los motores
Joystick: (solo aparece en joystick project(wifi)) instrucciones para el manejo del robot a
travs del uso del joystick
Cdigos usados
Como primera prueba se busca darle movimiento autnomo al vex usando easy C para ello
de la lista de comandos a la izquierda en la seccin program Flow se arrastra la opcin
while, para crear un while infinito while(1), esto es para que las instrucciones dentro
del while se realizan constantemente al ejecutar el programa.
Luego se setean los motores para el movimiento arrastrando desde la seccin outputs la
opcin motor module donde se define el puerto donde este insertado el motor y la
potencia que tendrn que puede ser entre el intervalo de -127 y 127 en este caso se usa los
valores de 50 y -50.
Se puede ir cambiando los valores de la potencia de los motores para crear variacin en los
movimientos.
Luego en el easy C en el men de barra la parte superior se busca la opcin build and
download para descargar el programa al controlador.
Luego de
la
correcta
compilacin aparece el sgte aviso para descargar el programa al controlador.
Al finalizar la descarga aparece el sgte aviso que muestra que el programa se ha descargado
con xito.
Programa autnomo
Para crear el programa autnomo se agregaron 2 limit switch y 2 bumper switch a vex los
cuales fueron conectados al sector de seales digitales ya que estos sensores presentan 2
estados (1 y 0).
Luego en
la
seccin variables se crean las variables locales limit_der, limit_izq, bumper_der y
bumper_izq que correspondern a los sensores agregados estos son creados como unsigned
int
NOTA: Tambin estn los tipos de dato int, char, unsigned char.
En la columna Name se agrega el nombre de la variable.
En la columna Value se desinga un valor por defecto.
En la columna Comment se agregan los comentarios para especificar la
variable.
Se toma desde la seccin 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 estn insertados cada
sensor y la variable a la que ser asignada y se agrega dentro del while.
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, y
tambin es agregada la funcin wait, la cual detiene el avance del cdigo un tiempo
medido en milisegundos (ej 2000ms = 2 segundos), para que detenga la ejecucin del
programa durante el tiempo deseado.
Tambin se puede setear los motores para el movimiento arrastrando desde la seccin
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.
NOTA: como el robot tiene las ruedas fijas (sin eje) no puede girar, por lo tanto, para darle
movimiento al robot y que logre moverse a los lados hacemos que las ruedas de un sector
vayan ms lento disminuyendo la potencia de los motores.
Para cumplir con las condiciones indicadas para los limit switch, se debe modificar dentro
del if que usa los limit switch la potencia de los motores a 127 y -127 (estos son los
mximos valores permitidos) para aumentar la velocidad del robot.
Cualquier cambio que se desee realizar se debe corregir el cdigo, luego compilar y cargar
nuevamente en el controlador.
Actualmente el firmware del joystick, del controlador y de las key vexnet, estn
actualizadas, por lo tanto, ahora son compatibles y operativas.
En este caso se
usaran los ejes 2 y
3 que
corresponden a
los ejes
verticales de
los joystick
analgicos
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.
Usando el joystick
El joystick se puede conectar al controlador mediante un cable USB para manejarlo de
manera almbrica.
Si se desea usar el wireless debemos conectar las key vexnet una al joystick y otra al
controlador.
Luego encender ambos y esperar de 5 a 10 segundos para que se sincronicen
NOTA: si el led etiquetado como joystick esta en rojo, significa que se debe cargar las
bateras y por lo tanto la funcin wireless se deshabilita. Si es necesario se puede conectar
con un cable usb el MANDO y el VEX, para continuar controlando el robot.