sábado, 25 de abril de 2015

Unidad de Control de Vuelo - Paso 2


Lamentablemente con la primera compra no me fue muy bien. Hasta el momento ha sido un poco cansador y frustrante el no contar con buenas tiendas de electrónica en Chile, pero bueno.... basta de quejarse y continuemos.

El objetivo de este nuevo avance en la simulación del panel FCU del A320, es realizar una prueba de concepto para ir validando los conocimientos adquiridos en electrónica y respecto a la interacción con el Simulador de Vuelo. Para lograr este objetivo fue necesario realizarme las siguientes preguntas:
  • ¿Tengo conocimientos previos de electrónica? Lo básico, temas vistos en la universidad.
  • ¿Tengo conocimientos respecto al uso de placas Arduino? No...
  • ¿Tengo conocimientos de cómo acceder a los datos del Simulador de Vuelo? No...
  • ¿Tengo definida una estrategia para lograr mis pruebas de concepto? No...
 Ahora que conozco "mi estado del arte", puedo comenzar a definir mi estrategia para cumplir con la meta. Para eso tuve que fortalecer mis conocimientos en los temas antes mencionados y que mejor que ver videos de personas que explican dichos temas en YouTube. A continuación les dejo la lista de los links y videos que más me ayudaron:
Luego de días de lectura y ver videos de apoyo logre definir una estrategia para la comunicación entre el Simulador de Vuelo (en mi caso Prepar3D) y el Hardware que implemente. Esta primera estrategia consistía en crear una aplicación en lenguaje C# utilizando la librería SimConnect, la cual permite tener comunicación directa con datos del simulador, y programar la lógica del Hardware utilizando el IDE propio de Arduino. 



Las primeras pruebas pequeñas siguiendo tutoriales y accediendo a la información generar del A320, como el nombre del avión y latitud, fueron exitosas. Sin embargo, al realizar pruebas de acceso a información del panel del FCU del A320 (proveedor Aerosoft) estas fallaron, nunca logra tener acceso a los datos. Aquí les dejo un extracto del código el cual según entiendo debería entregarme la altura que marca el FCU.

simConnect.AddToDataDefinition(DEFINITIONS.Struct1, "AB_AP_ALT_Select", "feet", SIMCONNECT_DATATYPE.FLOAT64, 0.0f, SimConnect.SIMCONNECT_UNUSED);

Si alguien sabe en que falle, le agradecería me indicará mi error ya que luego de tratar varias formas de leer la información nunca pude obtenerla.

Estos son links de interés relacionados a la primera estrategia de comunicación.


El fallar con la primera estrategia de comunicación entre el Simulador de Vuelo y el Hardware no me dejo otra alternativa que buscar si existía otra opción, la cual luego de algunos dolores de cabeza la encontré.


Esta segunda estrategia para la comunicación entre el Simulador de Vuelo y el Hardware que implemente, consiste en utilizar el ad-on FSUIPC (creado por Pete Dowson para FS y Prepar3D) y crear un script en lenguaje LUA para tener acceso a los datos del simulador, y programar la lógica del Hardware utilizando el IDE propio de Arduino. Tengo el agrado de indicarles que con esta segunda estrategia todos los resultados fueron exitosos.

Estos son otros links de interés relacionados a la segunda estrategia de comunicación.


Finalizando este avance de las pruebas de concepto les dejo un video en donde muestro el resultado de lo aprendido en funcionamiento.




No hay comentarios.:

Publicar un comentario