Go Down

Topic: Arduino para simulador Xplane, 2 lcd´s, servos, botones, leds... ;) (Read 7934 times) previous topic - next topic

inigohe

Buenas noches...

Saludos desde Urnieta España, nuevo miembro del foro

Ante todo gracia por poder permitirme formar parte de vuestra comunidad, tengo unas ganas enormes de aprender de vuestros conocimientos.

De primeras tengo una duda, recientemente he visto un montaje que se hace con dos lcd y arduino que queria montar en mi simulador aéreo y queria preguntaros como resolver el problema:

El autor emplea un plugin de comunicación de datos entre el simulador y arduino, de forma que valores determinados de la consola del avion aparecen en los lcds



El primer problema, tengo el esquema de conexión de un solo lcd y si requiera emplear el otro lcd, ocuparia todas las salidas digitales, o me equivoco???

Si mi intención es emplear encoders y pulsadores para asignar ordenes al simulador ya no digamos...

He visto que sería posible el empleo de multiplexores para aumentar el número de conexiones disponibles, la inserción de estos dos últimos añadidos requeriria la modificación  asímismo la modificación del fichero compilado en Arduino y del plugin logicamente. Pero eso es harina de otro costal.

Soy un poco negado en esto de la electrónica y como veis con muchas dudas.

Os pongo de igual modo el link de los artistas y su trabajo, va inlcuidos el plugin y el fichero para Arduino. En principio entiendo que emplea una controladora tipo joystick para actuar con los botones en el simulador y los datos aparecen en los lcd´s.
Seria la bomba el poder gestionar todos los botones y pulsadores necesarios desde el Arduino, ahorrando el uso de la controladora de joy´s.

http://ounet.virtuel-pilote.fr/index.php?page=description#generalite

Gracias por vuestra atencion.

inigohe

SrDonGato

el problema del LCD lo puedes solventar con una salida digital más. la de ENABLE. las demás las puedes poner comunes.

nunca he probado a hacerlo asi, pero todo es probar.
con LiquidCrystal declaras 2 LCD, pero la diferencia entre ellas será el del pin ENABLE
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
LiquidCrystal lcd2(12, 10, 5, 4, 3, 2);

Pienso que asi debería funcionar. Me ha picado la curiosidad :D intentaré hacerlo yo tambien a ver si es posible y ya te cuento :)


SrDonGato

se me olvidaba, pon por favor en el subjet de que va el hilo en cuestion, será más facil para los demas que vemos el foro buscar infirmacion pasado un tiempo o a usuarios nuevos localizar soluciones

un saludo

ionhs

Lo que comenta el srdongato tiene muy buena pinta. Si quieres joustick y botones mira si te vale el nunchuck de la wii

Esog_Enaug

#4
Jul 22, 2011, 09:12 am Last Edit: Jul 22, 2011, 02:10 pm by Esog Enaug Reason: 1
Anoche puse un post en mi blog resolviendo este problema (pura coincidencia):

http://www.juanjofrancia.es/arduslot/?p=187

No os puedo subir la foto ahora mismo por que tengo el server caido.

Yo lo he solucionado con puertas lógicas y un pin de control  actuando sobre el pin ENABLE.

Para uno de los LCD uso una puerta AND: Poniendo el pin de control en 1 la salida será la misma que el pin definido como enable.

Y para el otro una puerta XOR y otra AND (alimentada desde la XOR y el pin enable del arduino) por lo que la salida final será siempre 0 a menos que apage el pin de control.

Apagando o encendiendo dicho pin manualmente se manejan las dos LCD's.

Cuando pueda subo un dibujo.

EDITO
Este seria el esquema de conexiones:


Uniseco

Hombre,
en el enlace esta claro que usan el mega, y mas si quieres ir añadiendo cosas que te surjan. Si todavía no tienes la placa hazte con una mega que dispone de mas salidas y entradas tanto digitales como analógicas.

Saludos

PD: cuando vayas avanzando si puedes ves posteando fotos... Gracias

Imagina

Existen pantallas que pueden trabajar a través de I2c, podrías conectar tantas como quisieras y utilizar un solo pin de datos...

El funcionamiento es muy sencillo, "Pantalla 1" representa este dato.....  "Pantalla 2" representa este otro dato.... etc...

Un enlace por si te puede interesar:

http://cgi.ebay.com/I2C-Serial-LCD-20x4-keypad-contr-Arduino-Microchip-/230647915069?pt=LH_DefaultDomain_0&hash=item35b3afe23d#ht_770wt_1392

Un Saludo

SrDonGato

#7
Jul 22, 2011, 05:16 pm Last Edit: Jul 22, 2011, 05:27 pm by SrDonGato Reason: 1
La solucion que propone Esog Enaug es la misma que propongo yo mas que declarando los 2 LCD en programación te ahorras circuitería externa.


Saludos


Esog_Enaug


La solucion que propone Esog Enaug es la misma que propongo yo mas que declarando los 2 LCD en programación te ahorras circuitería externa.

Saludos


No sabia que se podia declarar dos LCD en mismo programa, me hubiera ahorrado el diseñarme la circuiteria.
Pero si quieres poner mas dos LCD te sale mas a cuenta (en pines) usar puertas lógicas: con 2 pines controlarias 4 LCD´s, y declarandolas tendrias que usar 4 pines.

inigohe

Buenas noches, ante todo gracias por todas las respuestas, estoy abrumado ante todo este flujo de información.

Entiendo que la versión de gestionar los lcd's es la mas asequible en este caso. En cuanto a la patilla a conectar el segundo lcd Enable, he entendido que tiene que ser una salida digital, pero en el esquema aparece como PWM.

Como podeis ver, mis conocimientos son muy limitados, pero PWM no era para servos???

Otra cosa, una controladora tipo MJOY16 programada con Atmega16 puede funcionar como Joystick. Seria posible, juntar el sketch de los dos lcd's con el programa del Mjoy, insisto perdonadme porque seguramente acabo de pegar una patada a un monton de conceptos básicos... y una vez conectado funcionara Arduino como un hibrido de ambos montajes.

Gracias, inigohe

jinx_nk

#10
Jul 23, 2011, 09:55 am Last Edit: Jul 23, 2011, 10:00 am by jinx_nk Reason: 1
Buenas inigohe,
como ha comentado Uniseco, esto suena más a proyecto para una arduino Mega, pero si ya te hienes una Uno, se puede intentar, todo depende de lo que tengas pensado incluirle más adelante.

De momento me ha parecido una buena idea la de SrDonGato, así puedes ahorrar muchos pines, a mi no se me había ocurrido.

Respecto a lo que preguntas sobre la PWM. Si, las señales PWM se utilizan para controlar servos, motores DC, intensidad de luz, etc. Pero los mismos pins que generan señales PWM también pueden hacer otras cosas, como ser simples entradas o salidas digitales.
Si echas un vistazo en el datasheet del micro que lleva la Arduino Uno, verás más detallado lo que puede hacer cada pin. En la página 82 te vienen explicadas todas las funciones de los pins del puerto B.

No entiendo muy bien a que te refieres con lo de juntar los dos lcds con el programa de MJOY16.
Si te refieres a controlar los displays con la MJOY, depende de si está preparada para ello, sino habría que modificar el código, que por lo poco que he leído, es cerrado. Me parece que te va a resultar más fácil montar las dos cosas por separado.
Además, la MJOY16 creo que no tiene salidas, así que la puedes utilizar para controlar los mandos del avión. Y con tu placa visualizar los datos del panel.

Me gusta mucho la idea. Mucha suerte con el proyecto.
Un saludo!

velon

Hola jinx_nk, hoy 10.11.2011 a las 11:40 he visto tu comentario, espero que te sirva el siguiente comentario.

Para ampliar la capacidad de puertos de un microcontrolador Arduino, lo propio es utilizar un chip expansor de puertos con el sistema I2C. Uno bastante fácil de localizar es el PCF8574, debes fijarte en la nomenclatura, hay dos versiones el PCF8574 y el PCF8574A, si tuvieras alguna duda visita la dirección:
  http://www.hispavila.com/3ds/atmega/expansor_puerto.html

Saludos

Dragun


Buenas noches...

Saludos desde Urnieta España, nuevo miembro del foro

Ante todo gracia por poder permitirme formar parte de vuestra comunidad, tengo unas ganas enormes de aprender de vuestros conocimientos.

De primeras tengo una duda, recientemente he visto un montaje que se hace con dos lcd y arduino que queria montar en mi simulador aéreo y queria preguntaros como resolver el problema:

El autor emplea un plugin de comunicación de datos entre el simulador y arduino, de forma que valores determinados de la consola del avion aparecen en los lcds



El primer problema, tengo el esquema de conexión de un solo lcd y si requiera emplear el otro lcd, ocuparia todas las salidas digitales, o me equivoco???

Si mi intención es emplear encoders y pulsadores para asignar ordenes al simulador ya no digamos...

He visto que sería posible el empleo de multiplexores para aumentar el número de conexiones disponibles, la inserción de estos dos últimos añadidos requeriria la modificación  asímismo la modificación del fichero compilado en Arduino y del plugin logicamente. Pero eso es harina de otro costal.

Soy un poco negado en esto de la electrónica y como veis con muchas dudas.

Os pongo de igual modo el link de los artistas y su trabajo, va inlcuidos el plugin y el fichero para Arduino. En principio entiendo que emplea una controladora tipo joystick para actuar con los botones en el simulador y los datos aparecen en los lcd´s.
Seria la bomba el poder gestionar todos los botones y pulsadores necesarios desde el Arduino, ahorrando el uso de la controladora de joy´s.

http://ounet.virtuel-pilote.fr/index.php?page=description#generalite

Gracias por vuestra atencion.

inigohe


Muchas gracias por descubrirme esta opcion , soy constructor de cabinas de simulacion , normalmente trabajo con IOcards de OC  , pero voy a seguir este este tema , haber asta donde se puede llegar ...

Otra vez felicidades y muchas gracias por este nueva posibilidad para la electronica de X-plane.

Dragun

Una pasada de

yopero

@Dragun

http://www.jimspage.co.nz/uno1_interface.htm
http://www.jimspage.co.nz/intro.htm

Dragun


@Dragun

http://www.jimspage.co.nz/uno1_interface.htm
http://www.jimspage.co.nz/intro.htm


Muchas gracias

Si pero es para FS9 , no veo como seria para X-plane... alguna idea??

Go Up