Mostrando entradas con la etiqueta Joystick. Mostrar todas las entradas
Mostrando entradas con la etiqueta Joystick. Mostrar todas las entradas

sábado, 28 de noviembre de 2009

Live for Speed -> VB .NET (o como leer info del juego)

Como parte de mi "proyecto" necesito leer información del Live for Speed, como puede ser: marcha actual, velocidad, rpm, etc.... todo esto para que se muestren los datos en una "pantalla" que irá con el volante.

Después de varios dias buscando información me he encontrado con un blog donde hace mención a como obtener dicha información:
El Blog de 16BITBoy
En este blog hay un link a LFS External el cual os llevará al foro oficial de Live for Speed donde encontraréis información.


Plantilla para volante

Después de buscar y buscar por internet, encontré una plantilla para un volante. Realmente no recuerdo donde la encontré así que si alguien la ve y es suya lo siento si no pongo el enlace, es que no lo guardé. Aquí la tenéis.


Aquí os pongo un par de archivos DXF con plantillas de volantes por si lo queréis abrir con Autocad, etc.

Volante 1
Volante 2

jueves, 26 de noviembre de 2009

Una fotillo..... El principio de mi "volante"

Mientras sigo buscando información (plantillas, esquemas, etc) os pongo una foto (no es muy buena, pero es lo más que puedo hacer con mi cámara, que tiene la pantalla rota :(    )  de como empieza a tomar forma mi volante.

De momento solo está el potenciometro con un "engranaje" reciclado de un lector de DVD. El siguiente paso será montarlo en una superficie "estable" y añadirle el eje principal que sujetará el volante.

Ala pues.... aquí lo tenéis.



PD: Se me había olvidado!!!! también estoy trabajando en el "display" que mostrará la información (claro está con Arduino) de momento como test funciona lo único que tengo que conseguir es poder leer la información de los juegos (nada de plugins) mediante acceso directo a la memoria y así poder mostrar información varia, pero tiempo al tiempo.

EDITO: He estado haciendo pruebas y lo mas seguro es que quite el "engranaje" ya que con la plantilla de volante que he probado no es necesario, de momento dejo la foto por si alguien quiere tomar alguna idea, pero seguro que al final no lo pondré

Leyendo datos de Arduino por el puerto COM..... en VB .NET

Una vez realizada la parte de Arduino toca la parte de VB.

Para leer los datos del puerto COM primero crearemos una instancia System.IO.Ports.SerialPort y configuraremos con la velocidad y demás necesarios para leer los datos:

       Dim ComPort as New System.IO.Ports.SerialPort()
       ComPort.PortName = puerto COM de Arduino
       ComPort.BaudRate = 115200
       ComPort.DataBits = 8
       ComPort.Parity = IO.Ports.Parity.None
       ComPort.StopBits = IO.Ports.StopBits.One
       ComPort.DtrEnable = True


Después abriremos el puerto:

        ComPort.Open()


Y por último hacer referencia al evento de recibir datos y llamar a la función para tratar los datos leídos:

         AddHandler ComPort.DataReceived, AddressOf función.
       

         Private Sub función(ByVal sender As System.Object, ByVal e As  
          System.IO.Ports.SerialDataReceivedEventArgs)
                                            ......................
        End Sub


En esta función básicamente lo que hay que hacer es un Split(ComPort.ReadLine()).ElementAt(x) , para ir leyendo los datos de las posiciones (x) separadas por un espacio,  hasta el salto de línea que manda Arduino.
De esta manera iremos teniendo los diferentes valores enviados por Arduino como pueden ser valores análogicos de los ejes, botones, etc.
Lo siguiente: mandar estos valores al joystick virtual por medio del PPJoyWrapper y simular las acciones del joystick.

lunes, 23 de noviembre de 2009

Entradas analógicas con Arduino (principio de mi joystick/volante)

Bueno, aquí os pongo como he conectado los 3 potenciometros (de 100 Kohm cada uno) que servirán para simular 3 ejes (X, Y, Z). En mi caso serán para simular el volante, pedal de acelerador y pedal de freno.


En este enlace tenéis un PDF que muestra la conexión de los potenciometros con Arduino. Es muy sencillo y con un 'Sketch' (programa para arduino) leemos las diferentes entradas analógicas y las enviaremos por el puerto COM para después recogerlas con Visual Basic (por ejemplo) y enviar las lecturas al Joystick Virtual ( PPJoy ) y simular el joystick/volante.

Como veréis en el Sketch de Arduino, envío los datos con el siguiente formato:
aeje_x beje_y ceje_z

De momento para ir realizando pruebas con VB lo envío de esta manera para poder distinguir los valores de cada eje, en la versión "final" los datos de los ejes así como de los botones únicamente irán separados con un espacio.

Con esto ya tenemos un principio , ahora falta la parte de código en VB + PPJoy para transformar las lecturas analógicas en movimiento de joystick/volante. Más adelante os pondré como poder hacer esto.

Saludos.


domingo, 22 de noviembre de 2009

Primeros pasos para simular un Joystick con Arduino ¿Que es necesario?

Bueno para comenzar este proyecto es necesario:

* Un Arduino, yo personalmente lo compré en la tienda de BricoGeek , aunque existen más de un distribuidor

* PPJoy , Este programa crea un joystick virtual , en la página del creador podéis tener más información.

* PPJoywrapper , es una DLL con la que se puede establecer conexión con el PPJoy para enviar o recibir datos al joystick virtual.

* Visual Basic .NET , la edición Express, es gratuita (siempre que sea para uso personal)

* Naturalmente componentes electrónicos (potenciómetros, cables, resistencias, etc.....), y algo de programación.

Con todo esto empezaré mi proyecto, que si todo funciona como debe finalmente veréis el resultado jejeje.