• Foros
  • Inicio
  • Biblio
  • Vuelos
  • Buscar
  • Buscar
  • Entrar
  • General
  • Presentaciones
  • Academia
  • Reactores
  • Helicópteros
  • Históricos
  • Av Comercial
  • Espacio
  • Videojuegos
  • Hardware
Hardware

Conexion de displays de 7 segmentos en FS2020 con Mobiflight ,FSPUIC y Arduino

User avatar
Angel
Invitado

Conexion de displays de 7 segmentos en FS2020 con Mobiflight ,FSPUIC y Arduino

hace 3 semanas

Conexion de displays de 7 segmentos en FS2020 con Mobiflight ,FSPUIC y Arduino

hace 3 semanas
Bueno pues aqui estamos otra vez con un nuevo briconsejo.

Esa vez estoy probando a usar los "7-segment display" en simuladores y he logrado que funcione en FS2020 (este sistema tambien valdria para FSX/P3D y X-plane), empezamos...

¿Que es un 7-segment display?
Pues esto...
Image
Que viene muy bien para meter en paneles con radios y navegacion!

Como veis el que escogi son dos pantallas de 4 digitos unidas en una placa con un chip para controlar los leds que lo forman y asi solo necesitamos 5 cables de conexion, 2 para alimentacion (5v/GND) y 3 para controlar las pantallas (DIN/CS/CLK)

¿Que necesitamos para que esto funcione?
Solo 4 cosas...
_El panel de 7 segmentos (obviamente)
_Un Arduino Mega 2560

_El software/firmware Mobiflght que grabaremos en nuestra Arduino
_El software FSUIPC, que hace de interfaz entre nuestros mandos y paneles y FS2020.

Mientras vais comprando todo eso y soldando los cables en el panel haremos una pausa donde os enseñare a trasplantar un geranio...
Image

:laughing: Es broma prosigamos...

Conectamos el panel a la placa Arduino
Image
El panel tiene cinco pines, los de alimentacion ( VCC a 5v y GND a GND) y los de comunicacion (DIN,CS y CLK) a los pines digitales que nos de la gana ( yo he puesto 19,20 y 21 se configura despues en mobiflight)
Image

Instalamos la ultima version de FSPUIC (fspuic7 for MSFS) podemos añadir un icono en el escritorio que ejecutara FS2020+ FSPUIC.No hace falta registrarse la versiohn gratuita es mas que suficiente.

Conectamos el Arduino Mega a nuestro ordenador (si nunca hemos instalado uno debemos bajar el software de Arduino y ejecutarlo, nos instalara el IDE y los drivers)
Descargamos la ultima version de Mobiflight y la instalamos, este soft debe de reconocer la placa Arduino e instalar su firmware en ella.Y eso es todo ,nuestro Arduino es ahora una placa "Mobiflight"

El programa tiene este aspecto...
Image
Vamos a "Extras/Settings"y luego pulsamos en la pestaña "Mobiflight modules"
En "Configured modules" vemos que tenemos la "Mobiflight Mega" (nuestra tarjeta arduino), pulsamos ahi con el boton derecho y en "add device" elegimos "LED 7-segment"
Image
Ahora tenemos en nuestro "Mobiflight Mega" un "Led Module", si pulsamos en el vemos la imagen superior.En ella tenemos que configurar en que pines hemos conectado los cables de "DIN", "CS" y "CLK" (en mi caso eran los pines 19,20 y 21 ojo con no equivocarse que sino no funciona)

Image
Abajo en "Path to Arduino" ponemos la ruta donde instalamos en soft de Arduino
Finalmente pulsamos el pequeño icono de abajo a la izquierda para guardar la configuracion.

Volvemos a la pantalla inicial, ahora hacemos doble clic en una linea para crear una nueva configuracion.En mi caso le he puesto el poco original nombre de "Led 7-segment", a la derecha pulsamos en el boton en la columna de "Edit"

Pestaña "Display"
Image
Aqui podemos comprobar que la pantalla funciona correctamente.
Lo configuramos como en el pantallazo.
En "number of digits" he puesto 8 porque son los digitos que tiene el panel.
En "use display" podemos seleccionar los digitos que usaremos (6 en el caso de la radio)
En "set decimal point" seleccionamos donde ponemos el punto decimal.

Por ultimo en "Test" podemos probar como se ve nuestra configuracion.


Pestaña "FSUIPC"
Image
Aqui podemos elegir en el desplegable lo que va a mostrar nuestro panel.Yo he puesto "Radios-COM Freq"
Pulsamos "use" y configurara algunos valores (por ejemplo ese $+10000 suma esa cifra a la frecuencia de la radio porque los programadores del sim dado que todas las frecuencias empiezan por "1" se han ahorrado ponerlo en el programa y sino sale mal en la pantalla)

Guardamos nuestra configuracion y listo, vamos a probarlo!

Ejecutamos el acceso directo MSFS with FSUIPC7 y en mobiflight pulsamos "Run", si todo ha ido bien al seleccionar una Cessnapr ejemplo veremos la frecuencia de la radio en nuestra pantalla.

Last edited by Angel hace 2 semanas, edited 1 time in total.
  • Citar
User avatar
Dimoni
Cadete

Conexion de displays de 7 segmentos en FS2020 con Mobiflight ,FSPUIC y Arduino

hace 3 semanas

Conexion de displays de 7 segmentos en FS2020 con Mobiflight ,FSPUIC y Arduino

hace 3 semanas
Una pasada Angel !!! esta genial eso de que vayas dejando post por aqui. Si algún dia nos da a alguien la locura estos post no tendrán precio. :wink:

S!
Fem por o fugim ?
  • Citar
User avatar
Durin
Cadete

Conexion de displays de 7 segmentos en FS2020 con Mobiflight ,FSPUIC y Arduino

hace 3 semanas

Conexion de displays de 7 segmentos en FS2020 con Mobiflight ,FSPUIC y Arduino

hace 3 semanas
Dimoni : ↑
hace 3 semanas
Una pasada Angel !!! esta genial eso de que vayas dejando post por aqui. Si algún dia nos da a alguien la locura estos post no tendrán precio. :wink:

S!
+1
  • Citar
User avatar
Rioku
Piloto

Conexion de displays de 7 segmentos en FS2020 con Mobiflight ,FSPUIC y Arduino

hace 3 semanas

Conexion de displays de 7 segmentos en FS2020 con Mobiflight ,FSPUIC y Arduino

hace 3 semanas
Vaya crack!
Image
  • Citar
User avatar
Angel
Invitado

Conexion de displays de 7 segmentos en FS2020 con Mobiflight ,FSPUIC y Arduino

hace 3 semanas

Conexion de displays de 7 segmentos en FS2020 con Mobiflight ,FSPUIC y Arduino

hace 3 semanas
Gracias chicos!
Como veis es sencillo controlar displays led con mobiflight ya que se instala automaticamente en una placa arduino y luego lo controlamos de manera grafica con una aplicacion.
Tambien permite configurar botones, switches.,leds y hasta servos! Eso si esto es solo para MSFS y X-plane.

Os preguntareis si puede hacerse esto con DCS y la respuesta es "si, pero..."
He estado leyendo algo de documentacion acerca de DCS Bios (la libreria Arduino para construccion de cabinas) y el soporte de estas pantallas no esta del todo integrado...
Si su intención es incluir pantallas y / o medidores analógicos con sus paneles, necesitará tener conocimientos de programación adicionales. Hay pantallas en la aeronave que podrían incorporar pantallas LCD, pantallas LED o pantallas OLED. Además, hay medidores analógicos en la cabina que podrían construirse utilizando motores paso a paso, servos o incluso motores de núcleo de aire. Con una variedad tan amplia de componentes disponibles, realmente está más allá del alcance de este documento en particular proporcionar instrucciones sobre todas las soluciones posibles.
El problema es que hay varios tipos de pantallas (displays leds, pantallas de texto 18x2, pantallas oled..) y cada tipo de pantalla puede llevar un chip controlador diferente.

Ante todo esta variedad de pantallas y chips los desarrolladores de DCS Bios han tomado la decision de no dar soporte completo y se han limitado a incluir una funcion StringBuffer and IntegerBuffer que envia en una cadena de texto por ejemplo, la informacion de la frecuencia de radio y necesitamos otra libreria para mostrarla en el tipo de pantalla que estemos usando.

Por ejemplo para el display que he usado (chip MAX72199 hay una libreria para Arduino LedControl que puede manejar numeros y las letras "a,b,c,d,e,f,h,l,p" (asi que supongo que para radios bien pero para el UFC del F-18 no valdria habria que usar otro tipo de pantalla)

Como yo de programacion no tengo ni idea hasta aqui he llegado, se supone que DCS Bios nos da este codigo para la radio del AVB8 "UFC Comm 1 Channel SelectorAV8BNA/UFC_COM1_SEL"

(IntegerBuffer)
void onUfcCom1SelChange(unsigned int newValue) {
/* your code here */
}
DcsBios::IntegerBuffer ufcCom1SelBuffer(0x7814, 0xffff, 0, onUfcCom1SelChange);
Y de alguna manera debemos coger esos valores y meterlos en el codigo del LedControl para que los muestre en pantalla.

Alguien con conocimientos de programacion (C++) sabria como hacerlo?
Seguire investigando a ver, hay gente por ahi que ya lo ha hecho...


Vaya ,este tio tiene una pagina donde explica como construyo su cabina y hasta muestra su codigo para DCS Bios!
A ver si me entero de algo.
  • Citar
Hardware
Nadie por aquí

diseño: Luis Glez 'Orleans'