domingo, 25 de septiembre de 2011

Estado de mi cabina.

Solo 2 fotos para mostraros el estado actual de mi cabina de simulacion.

Gauges (Indicadores de Aguja)

La entrada de hoy es para comentar la pagina http://www.thegaugesfactory.org/ y sus estupendos productos freeware.
Aunque mi idea final es crear instrumentos de carne y hueso (en realidad de metal y tornillos) una manera rapida y que mucha gente utiliza es utilizar un segundo monitor y dibujar en el los instrumentos, y luego con una cubierta taparlos y hacerlos bonitos.

Mi tarjeta grafica admite un segundo monitor, y tengo una pequeña TV de 10" con entrada HDMI que tiene casi casi el tamaño de los 6 instrumentos standar de todo avion (si os fijais en la foto, en la parte de abajo de los instrumentos se ve el borde de la TV.
Al principio habia utilizado un software llamado GenericGauges V2.1 de jeehellware que encontre en el foro de http://www.mycockpits.org desgraciadamente no se ajusta a mis necesidades, ya que esta pensado para que el instrumento entero este dentro de la pantalla, y yo necesitaba que lo "desbordase" un poco.
Ademas hay dos problemas secundarios, y es que no es posible poner el FSX a pantalla completa, pues ocupa tambien el segundo monitor, y esta TV tiene un aspect-ratio un poco raro, por lo que me salen los instrumentos ovalados, en cualquier caso, es una solucion temporal.
Esta claro que la solucion ideal es tener un segundo ordenador con un monitor grande y suficiente, pero...
El caso es que los instrumentos de http://www.thegaugesfactory.org/ son una maravilla, tienen una calidad estupenda, no cargan la maquina en esceso, y se pueden configurar para que se coloquen en cualquier parte de la ventana.
La gracia de todo esta en el marco que hice a la TV, con los bordes de los instrumentos en relieve, tornillos falsos, etc... que camuflan la TV, hacen que parezca mas grande de los que es y a la vez sirve de soporte para el monitor.Visitar la pagina, por que esta en activo, y cada poco hace nuevos gauges, ademas de estos 6 basicos, tiene para otro tipo de avionetas, indicadores para los equipos de radio-navegacion, motor, etc, etc...

domingo, 3 de abril de 2011

DIY pedales (rudder pedals)

Bueno, despues de mucho tiempo, y mucho pensar me lie la manta a la cabeza y finalize los pedales que hace años habia intentado hacer.
No estoy del todo convencido de como han quedado, y hay varias cosas que cambiare con el tiempo, pero por ahora me sirven perfectamente para practicar los taxis y el giro coordinado.
Detalle general de los pedales, su muelle y el potenciometro que manda la señal al ordenador. y primeros errores:
Supuse que con los dedos de los pies tendria fuerza suficiente como para llevar el pedal en horizontal, falso, la bisagra que los bascula deberia estar puesta en los primeros 5-10cm del pedal, y ademas el angulo esta mal, esa es la posicion que tendrian que tener pisados a tope, y sin pisar estar como a 60º de la horizontal.
Otro error es utilizas DMF y no pretaladar donde van los tornillos, en varios casos se me abrio la "madera" en algunos casos llegando a separarse en 2 como el trozo triangular que sirve de refuerzo en el pedal.
En esta imagen se puede apreciar el mecanismo de centraje, el potenciometro del timon y como hago que cuando un pedal se adelante el otro retroceda, lo del medio es una simple U de aluminio.
Y este es el mecanismo que sujeta el pedal a la U, un tornillo, el sistema es bastante eficaz, aunque un poco ruidoso, y carga demasiado el tornillo central, acabara cediendo.
La cabeza del tornillo era ligeramente mas grande que el hueco de la U, asi que lo puse en el traladro y lo lije hasta que cogio la medida justa para entrar en la U.

Los patines estan sujetos a la base de madera con dos carriles de cajon, esos tornillos sirven de tope y limitan el recorrido de los pedales, en la direccion contraria no hay tope, para eso esta el otro pedal.

Y por ultimo un detalle de la electronica, que de momento es la placa de joystick de Opencockpits, que se puede comprar en su web, aunque espero algun dia ponerme a programar un pic para que no aparezcan los ejes y botones fantasma que ahora no uso.

lunes, 14 de marzo de 2011

Utilizando subrutinas

Mientras estube configurando la parte relativa a entradas, no me encontre con la necesidad de utilizar subrutinas en SIOC, pero al configurar las salidas, si.
El siguiente ejemplo muy sencillo, es para que si no hay corriente, no se enciendan las luces del tren de aterrizaje, para por ejemplo, si se nos para el motor y se nos acaba la bateria en pleno vuelo.
No tiene ningun misterio escepto que como hay dos variables desde las cuales se puede cambiar el estado de las salidas, en lugar de repetir el codigo dos veces, usamos subrutinas.


var 0046, name sub_gearr, link SUBRUTINE
{
if &fs_mainbusvolt = 0
{

L1 = 0
L2 = 0
}
ELSE
{
L0 = &fs_gearr
if L0 > 10
{
if L0 > 16370
{
L1 = 0
L2 = 1
}
ELSE
{
L1 = 1
L2 = 0
}
}
ELSE
{
L1 = 0
L2 = 0
}
}
&LED_R3 = l1
&LED_V3 = l2
}
Var 0060, name LED_R3, Link IOCARD_OUT, Output 11
Var 0061, name LED_V3, Link IOCARD_OUT, Output 12
var 0229, name fs_mainbusvolt, link FSUIPC_INOUT, offset $2840, length 8
{
CALL &sub_gearr
}
var 0228, name fs_gearr, link FSUIPC_INOUT, offset $0Bf0, length 4
{
CALL &sub_gearr
}

viernes, 11 de marzo de 2011

Nostalgia: Mi antigua web.

Mientras revolvia entre las copias de seguridad acabe entrando en mi antigua pagina web (ni me acordaba que la tenia) y ¡¡SORPRESA!!, aun esta ahi.
Asi que si quereis podeis ver mi antiguo panel en esta pagina, y en esta otra , una idea mas general de lo que entonces era el proyecto

Decimales en Variables SIOC

Siempre resulta de utilidad leer el manual, si como yo no lo haces, te ahorrara dolores de cabeza saber que las variables SIOC solo almacenan numeros enteros (con signo), pero que las variables
L0, L1 y L2 si admiten decimales.
Tambien que existe C0, C1 y C2, variables booleanas, utiles en comparaciones e if complicados.
Asi que si quieres guardar algun numero con decimales, multiplicalo por algo y guardalo aparte, y luego utiliza Lx para trabajar con el.

martes, 8 de marzo de 2011

Peleando con encoders.

si en SIOC pones una linea como esta:

Var 0039, Link IOCARD_ENCODER Input 33, Aceleration 1, type 1

Y tratas de ver su valor en el IOCPCONSOLE, te vas a encontrar con que no funciona, o solo ves durante unos breves segundos algun numero que cambie, pero siempre esta a cero.

Esto es normal, esa variable se pone a -1 o +1 (o a otros valores dependiendo del valor de aceleracion), pero solo en el momento que el encoder hace "click" y luego vuelve a cero.

Si en lugar de esa linea aislada hubiesemos puesto:

Var 0039, Link IOCARD_ENCODER Input 33, Aceleration 1, type 1
{
V0040 = ROTATE 0, 359, &V0039
}
Var V0040


Desde IOCPCONSOLE veriamos como el encoder funciona perfectamente ( o no :-) )