Cabina casera Flight Simulator con Air Manager y Arduino

Empezamos a ponernos serios con la construcción de la cabina del Cessna 152 para usarlo con Flight Simulator 2020, en esta entrada y video, empiezo con la programación del altímetro en Air Manager, junto con mi placa Arduino 2560 Mega y los encoders, también usando los cables dupont para conectarlo todo.

DONDE DESCARGAR AIR MANAGER BETA 4.0

Para descargar lo necesario en el PC donde estéis ejecutando el simulador, ya sea, Prepar3D, FSX, X-Plane o Microsoft Flight Simulator, click aquí

Tanto si usáis un segundo PC como si solo usáis uno solo, necesitaréis el programa Air Manager, que podréis descargar haciendo click aquí

El usuario y clave para esta beta es BETA, más adelante cuando el programa ya sea definitivo, habrá que comprar una licencia para utilizarlo, la licencia actual para la versión 3.0 ronda los 60 euros, por lo que entiendo que esta nueva 4.0 será del mismo precio, si vais a hacer la cabina bajo MSFS, no compréis la versión 3.0 porque no es compatible y os volverían a cobrar el software en la nueva versión.

PROGRAMANDO ALTIMETRO CON AIRMANAGER Y ARDUINO

Gracias a la ayuda de mi amigo Javier Enrique Traid, que es todo un fenómeno cuando se trata de ingeniárselas para hacer cualquier tema electrónico, hicimos el código necesario para programar el altímetro aún a falta de hacer un pequeño invento, que no es otro que aprovechando el botón que incluye el encoder, hacer el auto ajuste del QNH del campo.

Si tenéis alguna traba en alguna parte de vuestro proyecto, os recomiendo que contactéis con Javier que os podrá asesorar y ayudar con el proyecto.

El código final que nos quedó para el uso del altímetro con Air Manager y mi Arduino 2560 Mega fue el siguiente.

— Button, switches and dials functions —
function new_baro(baroset)

if baroset == 1 then
xpl_command(“sim/instruments/barometer_up”)
fsx_event(“KOHLSMAN_INC”)
fs2020_event(“KOHLSMAN_INC”)
elseif baroset == -1 then
xpl_command(“sim/instruments/barometer_down”)
fsx_event(“KOHLSMAN_DEC”)
fs2020_event(“KOHLSMAN_DEC”)
end

end

— Add images in Z-order —
baro_img_id = img_add(“baro_dial.png”, 206, 130, 241, 241)
img_add_fullscreen(“altitude_scale.png”)
img_small_k_needle = img_add_fullscreen(“round_needle.png”)
img_small_needle = img_add_fullscreen(“small_needle.png”)
img_big_needle = img_add_fullscreen(“long_needle.png”)
img_add_fullscreen(“scratches.png”)

— Functions —
function PT_altimeter(altitude, pressure)
k = (altitude/10000)*36
h = ( (altitude – math.floor(altitude/10000)*10000)/1000 )*36
t = ( altitude – math.floor(altitude/10000)*10000 )*0.36

rotate(img_small_k_needle, k)
rotate(img_small_needle, h)
rotate(img_big_needle, t)

kk = k/3.6
hh = h/36
tt = t/0.36-hh*1000

end

— This function will be called when new pressure value is received from X-plane
function baro_callback(pressure)

— Only show values between 28.0 and 31.0
pressure = var_cap(pressure, 28.0, 31.0)

— Calculate image rotation (degrees) from pressure (hg)
— full scale in degrees divided by full scale in hg (360 / 3.0)
— Also add 90 degrees since the lowest value (28.0) is on the image top, and we need it on the right
angle = 92 – ( (pressure-28.0) * (360 / 3.0) )

— Rotate the image
rotate(baro_img_id, angle)

end

— Buttons, switches and dials —
dial_baro = dial_add(“barset_dial.png”, 33, 409, 83, 83, new_baro)

— Bus subscribe —
xpl_dataref_subscribe(“sim/cockpit/misc/barometer_setting”, “FLOAT”, baro_callback)
xpl_dataref_subscribe(“sim/cockpit2/gauges/indicators/altitude_ft_pilot”, “FLOAT”,
“sim/cockpit/misc/barometer_setting”, “FLOAT”, PT_altimeter)
fsx_variable_subscribe(“KOHLSMAN SETTING HG”, “inHg”, baro_callback)
fs2020_variable_subscribe(“INDICATED ALTITUDE”, “Feet”,
“KOHLSMAN SETTING HG”, “inHg”, PT_altimeter)
fs2020_variable_subscribe(“KOHLSMAN SETTING HG”, “inHg”, baro_callback)

–ENCODER–
enc_alti = hw_dial_add(“ARDUINO_MEGA2560_A_D52”, “ARDUINO_MEGA2560_A_D53”,”TYPE_2_DETENT_PER_PULSE”,1, new_baro)

Tened en cuenta, que habrá que cambiar los valores si la placa no es la misma y si las conexiones no coinciden, concretamente los datos a revisar son los que os he marcado en negrita, puesto que son los que podrían variar si no tenéis la misma placa y si no conectáis en los mismos pines que he conectado yo.

Si te gustó este post, seguro que te interesa los siguientes…

Peso y centrado de una aeronave

Peso y centrado de una aeronave

El peso y centrado es uno de los factores esenciales para la seguridad en vuelo, el peso es la tracción con que la fuerza de gravedad atrae a los cuerpos, esa fuerza de atracción es el producto de la masa por la aceleración en este caso la gravedad. Por eso cuanto más...

IndiaFoxtEcho Long-EZ para Microsoft Flight Simulator

IndiaFoxtEcho Long-EZ para Microsoft Flight Simulator

En este artículo os presentamos el Rutan Model 61 Long-EZ, primer avión que ha sacado al mercado el desarrollador Dino Cattaneo, bajo su marca IndiaFoxtEcho Visual Simulations, para Microsoft Flight Simulator. Con una amplia experiencia en el desarrollo de aviones...

0 comentarios

Enviar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *