- MOTIVACIONES
Son varios los motivos que me llevan a realizar este proyecto, por un lado es el hecho de que en la carrera el
único puerto de comunicaciones
usado en las practicas es el serie, por otro lado el uso del puerto serie esta en desuso y suele se sustituido por el puerto USB que
además siempre he tenido un
interés en saber como se maneja.
- OBJETIVOS
Los objetivos que me propongo en este proyecto no son solo son los concernientes a su
implementación que es en VB6 sino también a conceptos
teóricos:
- Estudio del estándar USB
- Estudio de la API de Windows para el uso de dispositivos USB
- Estudio de la
interacción entre la API de Windows y Visual Basic
- Creación de un GUI adaptado al joystick
- DESARROLLO DEL PROYECTO
Pues como he comentado anteriormente, en primer, lo primero que hago es documentarme sobre el
estándar USB,
y en segundo lugar elegir el dispositivo joystick que voy a usar.
Después de esto, paso a estudiar el funcionamiento e interacción de la API con Visual Basic, para
así crear el programa con su
GUI mas idóneo. Teniendo esto claro, paso a desarrollar el GUI que es el encargado de mostrar los cambios que se van produciendo
en el joystick, siendo estos cambios los siguientes:
- Dispone de dos desplazamientos verticales e independientes entre si. En el juego original uno es
usado para la potencia del motor (mando izquierdo) y el otro para los alerones (mando derecho)
- Dispone de dos desplazamientos horizontales e independientes entre si. En el juego original uno es
usado para la timón (mando izquierdo) y el otro para los giros con los alerones (mando derecho)
- Estos movimientos son representados por 2 barras verticales y 2 horizontales con se puede ver
en la imagen
- IMAGENES DEL PROYECTO
Pues como he comentado anteriormente, en primer, lo primero que hago es documentarme sobre el
estándar USB,
y en segundo lugar elegir el dispositivo joystick que voy a usar.
Después de esto, paso a estudiar el funcionamiento e interacción de la API con Visual Basic, para
así crear el programa con su
GUI mas idóneo. Teniendo esto claro, paso a desarrollar el GUI que es el encargado de mostrar los cambios que se van produciendo
en el joystick, siendo estos cambios los siguientes:
- Dispone de dos desplazamientos verticales e independientes entre si. En el juego original uno es
usado para la potencia del motor (mando izquierdo) y el otro para los alerones (mando derecho)
- Dispone de dos desplazamientos horizontales e independientes entre si. En el juego original uno es
usado para la timón (mando izquierdo) y el otro para los giros con los alerones (mando derecho)
- Estos movimientos son representados por 2 barras verticales y 2 horizontales con se puede ver
en la imagen
- VIDEO DEL PROYECTO
Movimientos del joystick
En el siguiente video se puede observar con los barras van registrando el valor que va
cogiendo el joystick según este va aumentando o disminuyendo, haciendo como se puede observar en tiempo real,
aunque con la calidad del video es dificil apreciarlo haber si subo otro video mas nitido.
A continuacion presento un video que muestra unicamente el interfaz del programa, en el se puede observar
mejor como las barras del interfaz van registrando el valor que va cogiendo el joystick en cada momento. Tampoco es que se vea perfecto
este video pero nos podemos hacer una idea de como el programa va registrando los cambios en los mandos del joystick.
- CONCLUSIONES
Una vez conseguido el objetivo es hora de llegar a las conclusiones:
-
Para manejar un dispositivo a través de USB es necesario manejar unas cuantas APIs, lo que complica bastante el desarrollo, esto me izo en
algún momento el plantearme dejar el proyecto ya que no
disponía de mucho tiempo y la finalidad de estos proyectos es aprender algo nuevo
mientras se disfruta de ello, pero finalmente después del
túnel siempre esta la luz y lo conseguí.
-
El manejo del USB es mas complejo y difícil de manejar que el puerto serie ya que conlleva el uso de mas APIs
para su uso.
- LÍNEAS FUTURAS
Como otros proyectos que he realizado anteriormente, este proyecto fue iniciado por el
interés que tenia por aprender a manejar el puerto USB, ya que es un puerto de gran uso y en la carrera solo vi el serie.
Habiendo realizado este proyecto Este conocimiento del USB me abra las puertas a futuros proyectos basados en este.
-
Este software me permite poder usar este o otro joystick en otras aplicaciones como por ejemplo el control ferroviario de
mi maqueta, movimiento remoto de objetos en red local o a traves de internet,
seguimiento de objetos con cámara web, etc.
-
Con este desarrollo, he conseguido crear un software que reconoce dispositivos USB y que
además es capaz de registrar cambios en el, esto me permite poder plantearme nuevos desarrollos basados en USB y
así poder desarrollar hardware que se pueda conectar al PC a través del USB y así sustituir el uso del puerto serie.
|