Conectar Arduino Mega + Ethernet w5100 + TFT LCD Shield + TFT LCD 7"

Buenas a todos,

Estoy intentando comprobar la posibilidad de conectar una pantalla tactil TFTLCD de 7" a mi arduino mega 2560 que ya tiene una Shield ethernet w5100 conectada, y me encuentro con varias dudas…

  1. la primera cuestión es que la pantalla lcd requiere de una shield especifica para conectarla a arduino, pero no se si fisicamente es compatible teniendo ya conectada la ethernet…

es posible? que modelo seria si lo conoceis?

  1. Otra duda sería si es posible utilizar las dos tarjetas SD de ambas shields al mismo tiempo, o si hay que deshabilitar alguna?

gracias por las aportaciones, adjunto documentacion del hardware al que me refiero:

Como veis en la imagen, la pantalla va conectada a un shield para poder conectarla a arduino.

Pero por disposición de los pins y demás no se si será fisicamente compatible… ya que creo que tal como va conectada coincide con los pins de la ethernet… si no me equivoco vamos…

Tambien he visto algunas shields para las pantallas tft que hacen que la tft vaya en sentido contrario y quede fuera del arduino, de esta forma:

no se si esto seria la solucion al respecto.

Alguna idea? alguien que lo haya montado? :o

Supongo que una solución sería (a nivel fisico) conectar la pantalla mediante cables a los pines correspondientes, sin utilizar ninguna shield de expansión...

Pero la duda me sigue quedando a nivel de funcionamiento, porque he visto varios hilos de gente que ha tenido problemas ya que genera ciertos conflictos...

alguien sabe a nivel de codigo cual seria la solución para solucionar los conflictos entre ambos (Ethernet y LCD)?

He encontrado este hilo en ingles de alguien que parece haberle encontrado solución: http://forum.arduino.cc/index.php?topic=309817.0

Para ver el video en funcionamiento: https://instagram.com/p/0cn_uUvdOO/

alguien puede aportar algo mas? :o

romarpas: 1) la primera cuestión es que la pantalla lcd requiere de una shield especifica para conectarla a arduino, pero no se si fisicamente es compatible teniendo ya conectada la ethernet... es posible? que modelo seria si lo conoceis?

Claro que es posible, solo debes revisar el consumo de todo el sistema. No debes superar 500mA y por ende no le entregues mas de 7V (tema que estamos debatiendo en el otro hilo con tu sistema backup). Como ves solo se conecta al conector extra que tiene el mega. Ahora yo no te recomiendo usar un MEGA con una TFT de 7", has hecho pruebas? No te resulta lenta. Estoy haciendo algo parecido pero con un DUE. Si decides colocar un conector macho hembra que los cables sean cortos y usa un cable plano. Mi compañero usó cables comunes de 20 cmts y la pantalla no funciona y esta documentado que con cables largos eso no pasa asi.

2) Otra duda sería si es posible utilizar las dos tarjetas SD de ambas shields al mismo tiempo, o si hay que deshabilitar alguna?

No creo que puedas usar las dos. Es mas habria que desabilitar alguna si esa deshabilitación por hardware esta dispnible. En la TFT no vi nada. En la Ethernet no recuerdo. Asi que te lo debo por ahora.

Pero por disposición de los pins y demás no se si será fisicamente compatible... ya que creo que tal como va conectada coincide con los pins de la ethernet... si no me equivoco vamos...

Alguna idea? alguien que lo haya montado? :o

La solución del shield invertido esta interesante.

La solución que le veo es usar un cable plano macho hembra. solo puedo ponerte los conectores para ilustrarlo. tal vez no encuentres un conector macho para conectarse al cable plano asi que usa dos hembras y luego usa un array de pines o postes (asi le dicen algunos) que sirvan de enlace entre el conector hembra del cable plano y de tu TFT. No me gusta mucho la idea porque estos pines/postes no se si haran buen contacto. Pero tal vez alguien tenga una mejor idea que yo. O sepa de una mejor alternativa.

También podría usar directamente cables de prototipado, para no tener que soldar. Hace un tiempo terminé un par de shields para las pantallas ILI9341, el diseño final se adapta muy bien sobre la placa del arduino Due.

|500x307

|500x307

No obstante para poder instalar uno de estos shields en una bahía de 5 1/4 de la PC, tuve que cablear el shield con el TFT.

|500x386

|500x386

|500x386

En el proyecto uso 14 hilos, para tu TFT usarás el doble de hilos y algunos mas.

También podrías conseguir un cable IDE, algunas tiras de pines y te podrías construir la extensión: acá hay un ejemplo

Muchas gracias por tu respuesta TFTLCDCyg y surByte,

La verdad es que si a nivel operativo no hay problema en utilizar ambas shields, lo mas util para mi seria poner la shield de la TFT separada y cablearla tal y como pone TFTLCDCyg.

Tendre que ver si hay algun problema en conectarla con cables de 20cm. si no hay perdidas ni problemas seria lo ideal...

en cuanto a la utilización de las SD de ambas shields, todavia tendre que investigar si puedo usar ambas, si puedo usar una sola y utilizarla desde ambas shields o como puedo hacerlo...

gracias por las aportaciones...

Si, TFTLCDCyg dinos a todos cual es la longitud máxima que puede usarse para conectar el TFT, porque mi compañero al montarlo tuvo problemas. O es que debe ser cable plano con determinadas características que cables comunes no tienen?

Mirar que he encontrado: http://www.adafruit.com/products/1590

Se trata de una "Driver Board" para conectar la pantalla a arduino...

Y este hilo del foro de ardafruit tiene muy buena pinta: https://forums.adafruit.com/viewtopic.php?f=47&t=60533&start=45

|449x500

Voy a investigar un poco y os cuento, no obstante si alguien conoce que tal funciona y si hay problemas de integracion con el ethernet shield que nos ilumine...

|500x375

Lo que me tiene rallado es que la shield RA8875 dfe ardafruit no utiliza (en este esquema de la foto) los pines que en teoria se utilizan para la comunicacion con el arduino (MISO, MOSI, RESET, SCK).

Ya que la duda de origen que sigo teniendo es si no se pegara la tft con la shield ethernet, que como sabeis utiliza los pines de comunicacion SPI que hay en medio de la placa.

|500x305

Y en un principio el problema que habia con las shields para conectar la pantalla era que tambien usaban los mismos, con el problema que cuando colocas la shield de ethernet conecta esos pines por debajo de la placa pero no los devuelve por encima, por lo que si le colocas una shield encima no dispones de esos pines..

|482x500

No se, llevo un cacao,... porque por otro lado hay shields LCD que no conectan a estos pines, aunque utilizan 51,52,53,54 para este cometido...

|500x500

|500x500

....................

Asi que resumiendo:

Tanto si la conecto de las siguientes formas:

Opcion 1: Arduino Mega + Ethernet Shield + Shield para la TFT (Habria que alargar los pines para que la shield tft pudiese conectarte al arduino, ya que al tener la ethernet encima no puede, habria que poner una especie de alargador macho->hembra sobre los pines de arduino).

Opcion 2: Arduino Mega + Ethernet Shield + Sin ninguna shield (simplemente cableando desde el arduino hasta la TFT, falta conocer la distancia maxima permitida de los cables para que funcione correctamente).

Y una vez conectada llega la pregunta de la comunicación, se van a pegar ambas shields, se pueden utilizar a la vez, alguien puede darle algo de luz a este tema? :o

Parece ser que se puede, he encontrado este hilo, en Italiano eso si! y tirando de traductor de google podeis ver que dicen, pero parece ser que puedes configurar los pines de SPI de la TFT para que use otros que los que usa la Ethernet...

http://forum.arduino.cc/index.php?topic=224938.0

solo falta alguien que lo haya probado y lo confirme...

Respecto a distancias: he probado con extensiones de 40 cms y funcionan sin problemas, con más de 40 cms las pantallas ILI9341 dejan de funcionar y solo se obtiene una pantalla en blanco, en ocasiones el lector SD deja de funcionar.

Hay que desconectar el arduino y esperar por lo menos un par de minutos para que al volverlo a conectar funcione nuevamente el TFT. Pero ni al caso, al poco rato vuelve a fallar. Es desesperante.

En las pruebas que he podido hacer, los hilos SPI del MEGA o del Due pueden soportar hasta tres dispositivos al mismo tiempo: un par de pantallas de 2.8" y un lector SD.

Si te deberían funcionar si conectas los shields que quieres usar, solo hay que asegurarse de que los dispositivos tengan diferente pin selector (CS), diferente pin RESET y diferente pin de datos (normalmente llamado D/C si es que lo usan varios de ellos); esos son los pines que te podrían causar problemas de mal funcionamiento.

Gracias TFTLCDCyg y algo mas. Has probado con cables comunes, existe alguna restricción respecto a capacitancia entre cables? La buena noticia es que podemos ir a 40 cmts con cierta seguridad. Es para probar claro. En mi caso no creo necesitar tanto.

He visto que hay distintas calidades, he llegado a ver cables que por fuera parecen "normales", pero por dentro solo tienen un par de hilos de cobre!!!, con ellos un cableado de 15 cms da muchos problemas de estabilidad: pantallas en blanco, congelamientos aleatorios, retroiluminación con parpadeos. Incluso el DS3231 que es bastante robusto, se queda congelado con esos pseudo-cables.

Siempre verifico continuidad antes de usar alguno de esos cables. Como las tiras de cables vienen generalmente en grupos de 40 hilos, prefiero sacrificar uno de ellos para ver que por lo menos tengan 12 hilos de cobre dentro, ya que tal parece ese debe ser el estandar para el calibre de la mayoria de cables de prototipado.

Para asegurar que los conectores no presenten falsos, les coloco un poco de estaño.

PD: aún sigo con prueba y error. Probaré armando algunas extensiones con cable plano para verificar el tema de longitud

|500x361

Muchos tenemos que poner pantallas a distancia del sitio donde esta el Arduino sea el que sea en este caso MEGA/DUE de modo que será de gran ayuda tu experiencia TFTLCDCyg

Llegando del trabajo me dediqué a soldar algunas tiras de pines y zócalos que reciclé de otros proyectos.

|500x368

|500x405

Algo rudimentaria pero para mi sorpresa funciona bastante bien con el shield ILI9341+microSD para el Due. La extensión tiene 30 cm.

|500x396

No tengo mas zócalos para hacer una extensión de 50 cms. En cuanto me sea posible consigo el material que falta y posteo por acá los resultados. Estaré monitoreando el comportamiento de la pantalla

Vaya, tambien yo estoy sorprendido. Buen trabajo. tenemos al menos 30 cmt que es mas que suficiente para muchos casos.

Perdonen por colgarme del post, pero en lugar de abrir otro, creo que va con la pregunta inicial: usar una extensión para el TFT y conectar el segundo shield en el arduino, de esta forma podrían conectarse ambos al mismo arduino.

Encontré una tira de 14 pines, quité el otro cable de 30 cm.

|500x401

En su lugar coloqué uno de 50 cm, y parece que el TFT, la pantalla táctil y el lector microSD funcionan sin problemas.

|500x401

|500x401

Dejaré el arreglo tal como quedó para ver si hay alguna falla. Ya veremos que pasa en la semana.

surbyte: Vaya, tambien yo estoy sorprendido. Buen trabajo. tenemos al menos 30 cmt que es mas que suficiente para muchos casos.

Me parece una aportación cojonuda tambien, pues yo mismo creo que con 20 o 30cm voy sobrado... de hecho lo más normal es que a la gente le vaya mejor poner la pantalla separada de lo que es el arduino, asi que gran trabajo con tu aportación... :smiling_imp:

TFTLCDCyg: Perdonen por colgarme del post, pero en lugar de abrir otro, creo que va con la pregunta inicial: usar una extensión para el TFT y conectar el segundo shield en el arduino, de esta forma podrían conectarse ambos al mismo arduino.

Encontré una tira de 14 pines, quité el otro cable de 30 cm.

En su lugar coloqué uno de 50 cm, y parece que el TFT, la pantalla táctil y el lector microSD funcionan sin problemas.

Dejaré el arreglo tal como quedó para ver si hay alguna falla. Ya veremos que pasa en la semana.

GENIAL! simplemente GENIAL tio!... ya lo he dicho antes, pero me repito, muchas gracias por la aportación...

volviendo a lo que nos ocupa....

que hay del montaje de la pantalla junto con la ethernet shield...

a nivel de conflictos y demas...

alguien lo ha montado... ya sabeis que de entrada si no me equivoco genera un conflicto los pines SPI de ambos dispositivos... :o

Casualmente el hardware de pruebas para las extensiones tiene dos dispositivos conectados a los pines SPI:

  • El TFT
  • El lector microSD

Ambos funcionan sin problemas.

En tu proyecto los pines SPI se usan para conectar los lectores: microSD en el ethernet-shield y SD en la pantalla TFT. Debes decidir cual usar ya que hasta ahora no he visto que el arduino soporte dos lectores al mismo tiempo.

Respecto a como conectar los dos shields que piensas usar: primero conectaria el ethernet shield en el MEGA, luego conseguiría algunos conectores de la misma medida que tiene el shield y los usaría a modo de extensión para los conectores restantes del MEGA. El shield que construí es similar al ethernet shield.

|500x385

En este ejemplo solo tengo un conector de 8 pines, se podrían usar 6 de 6 para cubrir todos los pines que hacen falta para hacer la extensión |500x385

Luego instalas el shield-TFT |500x385

Y finalmente el TFT |500x385

De esta forma podrías colocar los shields que quieres usar y tu pantalla. Solo debes estudiar los pines que usa cada uno para que no vayan a interferir entre si en el montaje final