Autor Tema: Proyecto: Cabina de avión casera  (Leído 6782 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado zivit

  • PIC10
  • *
  • Mensajes: 22
Proyecto: Cabina de avión casera
« en: 05 de Marzo de 2014, 13:32:58 »
Hola a todos,

os explico, estoy realizando un proyecto en el cual quiero comunicar unos paneles (botones y leds) con un simulador de avión.
Para hacerlo, estoy desarrollando una placa basada en PIC, que se comunica por USB como puerto COM, y basicamente lo que tiene que hacer es leer los estados de los interruptores y enviar la información al PC. El problema viene ahora, y es que no se como "hablarle" al simulador. He leído que el programa tiene unas variables que puedes extraer valores, pero estas variables las dan como "offsets" en la memoria del programa o del PC.
Como en el mundo de la simulación es todo muy cerrado no he podido leer nada mas.
Alguien sabría decirme como puedo modificar estos valores desde el PIC?

Gracias!
un saludo,
Zivit.

Desconectado ppyote

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 929
Re: Proyecto: Cabina de avión casera
« Respuesta #1 en: 05 de Marzo de 2014, 14:08:35 »
Puedes usar el pic comunicando con el pc emulando un teclado usb, el pic dependiendo de el botón pulsando, envía al pc un carácter, como sí hubieras pulsando una tecla del teclado normal
Ahora sólo tienes que asignar en el juego a cada tecla de tú circuito con cada tecla asignada en el juego
PPyote... siempre estareis en mi corazon.... Te quiero Hermano...

Desconectado zivit

  • PIC10
  • *
  • Mensajes: 22
Re: Proyecto: Cabina de avión casera
« Respuesta #2 en: 05 de Marzo de 2014, 14:34:51 »
Puedes usar el pic comunicando con el pc emulando un teclado usb, el pic dependiendo de el botón pulsando, envía al pc un carácter, como sí hubieras pulsando una tecla del teclado normal
Ahora sólo tienes que asignar en el juego a cada tecla de tú circuito con cada tecla asignada en el juego

Hola, primero gracias por contestar.
ya había pensado en hacerlo así pero como necesito que el ordenador me envíe parámetros también a la placa, como es el estado de ciertos LED, y ademas las funciones de este juego no te permiten asignar botones justamente a los interruptores que voy a usar.

gracias,
un saludo.

Desconectado ppyote

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 929
Re: Proyecto: Cabina de avión casera
« Respuesta #3 en: 05 de Marzo de 2014, 15:15:50 »
Que trabaja con interfaz gráfica LUA?
 
PPyote... siempre estareis en mi corazon.... Te quiero Hermano...

Desconectado zivit

  • PIC10
  • *
  • Mensajes: 22
Re: Proyecto: Cabina de avión casera
« Respuesta #4 en: 05 de Marzo de 2014, 16:00:07 »
No se que interfaz grafica es, se que trabaja con OpenGl, el programa se llama Project Magenta Systems, y la función que tiene es de comunicarse con el simulador Flight Simulator y modificarle las variables de entrada y adquirir las de salida.
Lo que estoy intentando hacer es conseguir que se comunique mi PIC con el Project Magenta, hay empresas de simulación que lo han hecho, es por eso que imposible no lo es.
Estoy mirando que el programa tiene unos valores de memoria por ejemplo: 0x5654, que de alguna manera se tendria que poder adquirir el valor y modificarlo desde el PIC.
Pff la verdad estoy un poco perdido en este tema, a ver si me podeis abrir los ojos si habeis hecho algo parecido o cualquier cosa.

un saludo

Desconectado ppyote

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 929
Re: Proyecto: Cabina de avión casera
« Respuesta #5 en: 05 de Marzo de 2014, 16:59:46 »
Yo lo he hecho, con el juego Would of warcraft que utiliza la interfaz lua con un 18f2550 pero abandoné el proyecto cuando dejé de lugar al juego.
Lo utilizaba como bot para farmear. Cuando al pj le quedaba poca vida, poco mamá o cualquier otra cosa... el circuito hacia lo que debía.
Cuando aparecieron los primeros bots por software y blizzare empezó a banear, venia muy bien puesto que mi bot no seguía una base de tiempos estricta, puesto que seguía unas condicionales, lo que he comentado, poca vida, poco mamá... Hecha la ley, hecha la trampa
PPyote... siempre estareis en mi corazon.... Te quiero Hermano...

Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
Re: Proyecto: Cabina de avión casera
« Respuesta #6 en: 05 de Marzo de 2014, 22:33:51 »
Hola.

En El Flight Simulator hay muchos programas que pueden extraer la info por ti, pero todos pasan por el SimConnect:

http://msdn.microsoft.com/en-us/library/cc526983.aspx

Saludos
"All of the books in the world contain no more information than is broadcast as video in a single large American city in a single year. Not all bits have equal value."  -- Carl Sagan

Sólo responderé a mensajes personales, por asuntos personales. El resto de las consultas DEBEN ser escritas en el foro público. Gracias.

Desconectado PCCM

  • PIC16
  • ***
  • Mensajes: 109
Re: Proyecto: Cabina de avión casera
« Respuesta #7 en: 06 de Marzo de 2014, 02:33:19 »
He escuchado de flight simulator, pero nunca lo he usado ni he visto como es, yo utilizo el simulador flightgear.

En mi caso, tuve que hacer un programa en C en ubuntu para que se comunique vía comunicación por sockets con el simulador(en esta comunicación obtenía y colocaba cualquier dato del simulador), y este programa en C a la vez se comunicaba por rs232 con el microcontrolador.

En tu caso parece ser parecido, el programa en C que se comunica con el simulador y el exterior en tu caso es el Project Magenta, este project magenta parece que se comunica vía 232 con el exterior según este link, con una configuracion de(19200,N,8,1):

http://www.projectmagenta.com/pmoffsets/

Corrígeme si me equivoco, ya que no entiendo bien sus términos de este software.

Saludos.

Desconectado ALE1973

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 229
Re: Proyecto: Cabina de avión casera
« Respuesta #8 en: 06 de Marzo de 2014, 08:08:23 »
Hola, yo estoy armando una con IOCP server, que para uso domestico es gratuito, y rapido, para probar uso 2 PC, una corriendo el FSX, la otra
corre un programita en VB6, que lee una placa USB (casera), que tiene 8 ejes, y 8 encoders, tambien por USB maneja el panel de radios, todo
programado casero en CCS, en proyectos hay un joy de 8 ejes y 24 botones, esa es la placa base para leer los encoders y los ejes, despues
de varias pruebas, hice todo en transferencia modo BULK en la placa, porque me da mejor resultado que HID.
Cualquier cosa que necesites y pueda ayudarte....


SAludos
Alejandro.

Desconectado tannke

  • PIC16
  • ***
  • Mensajes: 176
Re: Proyecto: Cabina de avión casera
« Respuesta #9 en: 11 de Marzo de 2014, 07:01:49 »
En este hilo ya hablamos un poco de esto: http://www.todopic.com.ar/foros/index.php?topic=40235.msg339386#msg339386

Esto es lo que hice yo:

http://m.youtube.com/#/watch?v=X_B2V0ElGq0
"no se si se verá, desde el trabajo no tengo acceso a youtube y he tenido que buscar la dirección desde el movil. Si acaso en casa ya modificaré"

Yo al final utilicé las librerías de FSUIPC, seguramente lo tengas instalado ya que muchos addons precisan de el, ademas que corrige algunos errores del FSX. El cerebro del cacharo es un 18f4550 conectado por USB modo HID (así no precisa drivers y a mi me va perfecto). Y la interface está programada en C# haciendo uso de las librerías que proporciona el creador de FSUIPC.

Edit. El problema de FSUIPC es la comunicación con aviones que no utilizan los offsets nativos de FSX tipo PMDG's, cuando yo lo hice no había manera o no di con ella, para esto había que utilizar directamente  simconect y las librerías del propio avión.

Un saludo

« Última modificación: 17 de Marzo de 2014, 03:18:57 por un Moderador, Razón: He editado el mensaje para que se vea el vídeo »

Desconectado zivit

  • PIC10
  • *
  • Mensajes: 22
Re: Proyecto: Cabina de avión casera
« Respuesta #10 en: 15 de Marzo de 2014, 13:42:32 »
Hola, muchisimas gracias a todos.
Bueno primero de todo, he desistido de utilizar PM ya que no he encontrado la manera de interactuar.
Ahora estoy haciendo directamente la comunicación con Flight Simulator, y parece que funciona.

A PCCM:
Me han hablado de Flightgear, pero no he tenido ocasión de probarlo. Según he visto al ser código abierto hay muchas facilidades respecto a programación, un amigo me contó que programó una app para android que simulaba un panel de aviacion general.
Pero segun he visto aun no esta muy avanzado en tema graficos... Algún día lo probaré!!

A ALE1973:
utilizas modo BULK en la transferencia? a mi entender este modo se utiliza para grandes envíos de datos. Yo utilizo en configuración CDC por interrupción. También es verdad que no estoy haciendo un joystick sino una especie de extensión del teclado por decirlo de alguna manera. Que tipos de problemas te da el modo HID?

A tannke:.
Gracias por la info, le pegare un vistazo. Respecto al video, sigo el link pero me da error y no puedo verlo.

un saludo y gracias!

Desconectado ALE1973

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 229
Re: Proyecto: Cabina de avión casera
« Respuesta #11 en: 16 de Marzo de 2014, 17:28:18 »
Hola zivit,

Mis primeras pruebas fueron con transferencia HID, anduvo bien, para los mandos (alerones, elev, etc..) luego quise operar los OBS de los instrumentos analogicos, enviando un pulso para incrementar la posicion del OBS, anduvo, pero se necesitaban 360 pulsos para girar completamente el OBS, entonces quise enviar pulsos mas rapidamente, a fin de que cuando uno gira el encoder mas rapidamente, el
OBS lo haga tambien, y alli no pude hacerlo, intente buscar de hacer como un "repeat" de los joysticks, pero no pude hacerlo andar (lo tengo pendiente todavia ya que me dicen que se puede hacer), no se si
es un problema del HID, o que el FSimulator, no puede recibir pulsos tan rapido, no tengo claro eso todavia. Entonces hice todo en bulk, asi puede enviar a la pc pulsos con mas frecuencia, y tomo
esos pulsos en un programita hecho en visual basic, y ahi los paso por ethernet al simulador (IOCP), en este programa tambien hago la aceleracion del encoder, si en un lapso de tiempo llegan mas de X pulsos, en
lugar de incrementar de a 1 los grados, lo hago de a 10, como eso me funciono a la primera lo deje asi, y asi anda actualmente.
http://www.todopic.com.ar/foros/index.php?topic=31189.0 esta es la placa que utilizo actualmente.

Saludos.
Alejandro.


 

anything