Recomendación pantalla táctil LCD serie

Hola a todos.

¿Me podéis recomendar alguna pantalla LCD táctil para trabajar con Arduino? me interesa que trabaje en serie (RT/RX). Algo que no sea muy caro, tampoco no es necesario que sea enorme, con 3" esta bien.

Muchas gracias.
Un saludo,
Daniel.

No conozco ninguno (o sea, nunca he usado ninguno), pero buscando en google, me han salido estos dos resultados:

No me parece muy buena idea, porque eso será un TFT con touch normal con un "arduino" para recibir comandos por la puerta serie y dibujar en la pantalla.

Gracias por la respuesta luisilval. La verdad es que pantallas de estas hay bastantes pero quería saber si alguien ya se ha pegado con ellas y me podía recomendar alguna. Por lo que he visto no todas tienen ejemplos o código funcionando con Arduino, o no esta a la vista este código, y esto me asusta un poco.

Si hay pero son algo caras, por ejemplo busca esta en internet: SmartGPU 2 - LCD320X240 - 2.4"

Yo hice el esfuerzo por conseguir la de 3.5" y valió mucho la pena, apenas usa 5 pines (RST, GND, 3.3V, RX, TX), con la posibilidad de disponer de todos los pines digitales, SPI y analógicos del arduino Due.

La librería de control tiene capacidad para manejar imagenes JPG, BMP de 24 bits, tiene una herramienta con la que puedes convertir videos y reproducirlos en la pantalla, tienes también acceso a una pantalla táctil y trae bastantes ejemplos para que trastees con las funciones que tiene.

Te dejo algunos videos para que veas lo que se puede hacer. Planeo construir un control central que pueda controlar la iluminación de la PC, ventiladores, y más adelante tengo planes para controlar con ella la iluminación de la casa.

Aun sigo trabajando en ellla

PD: mas información http://playground.arduino.cc/SmartGPU2/SmartGPU2

Tiene muuuuy buena pinta! He buscado info y de momento el único sitio donde he encontrado para comprarla es: http://www.vizictechnologies.com/#!products/c161y, 28€ gastos de envío xD. ¿Conoces algún otro sitio? Imagino que para la MEGA también funcionara aunque en la web solo habla de UNO-DUE.

Interesante tu proyecto ^_^.

Gracias por la ayuda.

Estas pantallas SmartGPU son las que elegí para mi proyecto industrial.
Se conectas usando el SPI.
Son baratas considerando el tamaño y su potencial es significativo.
Tienen gran número de soluciones gráficas resueltas asi que tu programación se limita a lo que necesitas.
También hay gran número de ejemplos para arduino.

De hecho la adquirí en la página que mencionas. La vi en ML y en otra página de componentes electrónicos, pero me decanté por la página del fabricante. Todo el tiempo me han asesorado con algunas dudas y lo más importante la pantalla me llegó acorde a los tiempos que me indicaron y en perfectas condiciones.

Si funciona en el MEGA, las primeras pruebas las hice en esa placa, solo hay que seguir las instrucciones de configuración inicial de la librería.

PD: vi otra pantalla que funciona con su propio entorno de programación: PIcadillo-35T de 4D systems; también se puede conectar al arduino con 5 hilos. Solo que por acá hay que formarse en una lista de espera de hasta 11 semanas XD, creo que las arman en Australia.

Me parece que me voy a decantar por la SmartGPU, yo tengo una pantalla de 4D system que en su día me funciono muy bien pero ahora me esta dando problemas y estoy con el servicio técnico a ver si logro solucionarlo.

Muchas gracias por la ayuda.

Interesante lo que comentas, yo pensaba en adquirir una de esas. Pero me desanimaron los tiempos de entrega y las distancias precisamente por si hay que contactar a soporte técnico.

La ventaja con el S-GPU, es que la matriz está en Querétaro y me queda relativamente cerca.

Ya nos compartes como te fue con el S-GPU.

PD: así va el arreglo de pruebas

Hola,

Por fin el otro día me llego la pantalla, me decante por la de 3.5',' pero aun no he conseguido hacerla funcionar xD, no se que estoy haciendo mal, le cargo el programa de ejemplo a la placa Arduino Mega, conecto la pantalla y veo la ventana de bienvenida pero de ahí no pasa. ¿La estaré conectando mal? Como la Mega tiene varios pines TX/RX he probado con todos, por si acaso, aunque en el archivo SMARTGPU2.h he visto que se utiliza el Serial3 y el reset he probado a conectarlo al pin reset y al pin 4 que es el que define la librería y nada.

Alguien me puede ayudar??

P.D. he descomentado el define LCD480X320

Gracias!
Un saludo,
Daniel.

Primero que nada felicidades por tu nuevo LCD.

IMPORTANTE: el TFT está diseñado para trabajar con lógica de 3.3 o de 5V, pero en ambos casos debe ser alimentado solo con 3.3V.

Segundo conexiones:

SGPU235          Arduino MEGA

RX                     TX3  (pin14)
TX                     RX3 (pin15)
RST                    pin 8  (o también el 7)
GND                    GND
3.3V                   3.3V

Tercero: modificas el archivo SMARTGPU2.h, para que puedas acceder a tu pantalla con el arduino MEGA. Céntrate en las lineas resaltadas, todo lo demás no lo toques.

/USER MODIFABLE***/
//-Uncomment your preferred smartGPU2 board(only 1 at time)----------------
//#define LCD160X128 //SmartGPU2 1.8" connected via SmartSHIELD
//#define LCD320X240 //SmartGPU2 2.4" connected via SmartSHIELD
//#define LCD320X240SH //SmartGPU2 2.4" directly mounted as Arduino Shield
#define LCD480X320 //SmartGPU2 3.5" connected via SmartSHIELD
//#define LCD480X272 //SmartGPU2 4.3" connected via SmartSHIELD
//#define LCD800X480 //SmartGPU2 7.0" connected via SmartSHIELD

//If using Arduino DUE please uncomment the next line - Remember to re-wire smartGPU2 TX and RX pins to the defined Serial port of Arduino
//#define ARDUINO_DUE

//-SmartGPU2-Arduino RESET PIN definition
//-SmartSHIELD uses default Arduino pin p4 for Reset, if another pin is soldered in the SmartSHIELD(pin 7, 8 or 13), please modify here:
#define RESET 8 //Define for the RESET pin connected on the SmartSHIELD board(pin 7, 8 or 13)

//-Arduino serial port and AREF configuration using smartSHIELD
#ifdef ARDUINO_DUE //If arduino DUE is defined
#define SERIALPORT (Serial3) //(Serial2,Serial3), connect the smartGPU2 TX and RX pins to the defined serial port of Arduino
#define ARDUINOREFERENCE AR_DEFAULT
#else //Arduino UNO or similar
#define SERIALPORT (Serial3)//MEGA
#define ARDUINOREFERENCE DEFAULT //Define the AREF pin - Internal Analog reference as DEFAULT
#endif
/END OF USER MODIFABLE**

Guardas el archivo y conectas tu arduino a la PC. Sube cualquiera de los ejemplos que tiene la librería

Acá una foto del arreglo que hice con el MEGA para comprobar lo que te he mencionado

PD: parece que el serial0 solo funciona en el arduino UNO. Por las prisas no verifiqué los seriales 1 y 2, quizás podrías experimentar con ellos para ver si funcionan. Solo tendrías que usar en lugar de:
#define SERIALPORT (Serial3)//MEGA

Esta para el serial 2
#define SERIALPORT (Serial2)//MEGA

O esta para el serial 1
#define SERIALPORT (Serial1)//MEGA

Gracias por la respuesta.
No consigo que me funcione :frowning: He modificado el archivo como dices, he probado con los Serial 1, 2 y 3 y RESET 7 y 8 pero nada.

Esta es la configuracion.

/*******************USER MODIFABLE**********************/
//-Uncomment your preferred smartGPU2 board(only 1 at time)----------------
//#define LCD160X128   //SmartGPU2 1.8" connected via SmartSHIELD
//#define LCD320X240   //SmartGPU2 2.4" connected via SmartSHIELD
//#define LCD320X240SH //SmartGPU2 2.4" directly mounted as Arduino Shield
#define LCD480X320   //SmartGPU2 3.5" connected via SmartSHIELD
//#define LCD480X272   //SmartGPU2 4.3" connected via SmartSHIELD
//#define LCD800X480   //SmartGPU2 7.0" connected via SmartSHIELD

//If using Arduino DUE please uncomment the next line - Remember to re-wire smartGPU2 TX and RX pins to the defined Serial port of Arduino
//#define ARDUINO_DUE

//-SmartGPU2-Arduino RESET PIN definition 
//-SmartSHIELD uses default Arduino pin p4 for Reset, if another pin is soldered in the SmartSHIELD(pin 7, 8 or 13), please modify here:
#define RESET 8        //Define for the RESET pin connected on the SmartSHIELD board(pin 7, 8 or 13) 

//-Arduino serial port and AREF configuration using smartSHIELD
#ifdef ARDUINO_DUE                  //If arduino DUE is defined
#define SERIALPORT        (Serial3) //(Serial2,Serial3), connect the smartGPU2 TX and RX pins to the defined serial port of Arduino
#define ARDUINOREFERENCE   AR_DEFAULT
#else                               //Arduino UNO or similar
#define SERIALPORT        (Serial3)
#define ARDUINOREFERENCE  DEFAULT   //Define the AREF pin - Internal Analog reference as DEFAULT
#endif
/****************END OF USER MODIFABLE******************/

Y el ejemplo que estoy cargando es el Beginner->Circles

/*********************************************************
VIZIC TECHNOLOGIES. COPYRIGHT 2014.
THE DATASHEETS, SOFTWARE AND LIBRARIES ARE PROVIDED "AS IS." 
VIZIC EXPRESSLY DISCLAIM ANY WARRANTY OF ANY KIND, WHETHER 
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, THE IMPLIED 
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE,
OR NONINFRINGEMENT. IN NO EVENT SHALL VIZIC BE LIABLE FOR 
ANY INCIDENTAL, SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES, 
LOST PROFITS OR LOST DATA, HARM TO YOUR EQUIPMENT, COST OF 
PROCUREMENT OF SUBSTITUTE GOODS, TECHNOLOGY OR SERVICES, 
ANY CLAIMS BY THIRD PARTIES (INCLUDING BUT NOT LIMITED TO 
ANY DEFENCE THEREOF), ANY CLAIMS FOR INDEMNITY OR CONTRIBUTION,
OR OTHER SIMILAR COSTS.
*********************************************************/

/********************************************************
 IMPORTANT : This Example is created for the Arduino 1.0 Software IDE
********************************************************/

#include <SMARTGPU2.h>     //include the SMARTGPU2 library!

SMARTGPU2 lcd;             //create our object called LCD

/*********************************************************/
/*********************************************************/
void setup() { //initial setup
  //Those two functions must always be called for SMARTGPU2 support
  lcd.init();  //configure the serial and pinout of arduino board for SMARTGPU2 support
  lcd.start(); //initialize the SMARTGPU2 processor
}

/*********************************************************/
/*********************************************************/
/*********************************************************/
/*********************************************************/
void loop() { //main loop draw random colour, size and fill circles
    POINT point;
    RADIUS radius;
    COLOUR colour;
    FILLGEOM fill;
    
    lcd.baudChange(BAUD6);           //for fast drawing we need a big baudRate
    
    while(1){//forever
      randomSeed(random(0,65536));   //set different seeds to obtain a good random number 
      point.x=random(0,LCD_WIDTH);   //get a random number 0-319
      point.y=random(0,LCD_HEIGHT);  //get a random number 0-239
      radius=random(1,81);           //get a random number 1-80
      colour=random(0,65536);        //get a random number 0-65535
      fill=(FILLGEOM)random(0,2);    //get a random number 0-1
      
      //draw the circle
      if(lcd.drawCircle(point.x,point.y,radius,colour,fill) != 'O'){  //draw a circle
        while(1);                    //loop forever if different than 'O'--OK
      }      
    }
}

Creo que le voy a mandar un correo al fabricante…

Hice tres pruebas con los archivos recién descargados de la página de Vizic y probé tres combinaciones entre el reset definido como 8 y los seriales 1, 2 y 3; usando el ejemplo de círculos como el que has probado. Y en las tres ocasiones el TFT funcionó sin problemas.

Incluso copié tus correcciones y funcionan en la pantalla que tengo!!!! (acá la prueba)

1.- Intenta revisar bien tus cables, me ha pasado antes que alguno está roto y me paso horas buscando la solución en otras cosas que nada tienen que ver.

2.- Son pocos hilos, verifica que estén bien colocadas las conexiones. RX del TFT va al TX del arduino y el TX del TFT va al RX del arduino. Eso en un principio era lo que me fallaba al conectarlo.

3.- Prueba con los SMARTGPU2.h que me han funcionado. Recuerda mover los hilos RX/TX los correspondientes 1, 2 o 3 del arduino MEGA. El pin reset lo dejé en los tres casos en el pin 8 del MEGA.

4.- Asegúrate de tener el IDE arduino-1.5.7 o el arduino-1.5.6-r2, el fabricante recomienda usar el IDE a partir de la versión arduino 1.5.2 .

5.- Si aun sigue con fallas contacta a soporte para que te orienten. Te recomiendo mandar un mensaje desde la página de contacto.

joder!!! lo tenia mal conectado, tenia el TX con el TX y no con el RX como me dijiste.

Ya esta solucionado, muchas gracias y siento las molestias.

Eso mismo que te paso me ocurrió al principio. Hasta que ví el manual que tiene el fabricante en linea, me dí cuenta de que estaba conectándolo mal XD.

A hacer infinidad de programas. Suerte.

hola como están pues soy nueva en el manejo de las pantallas aunque acabo de adquirir una y tengo un problema al probarle el demo de arduino sale todo con efecto espejo es decir todo al reves no se a que se debe por favor podrían ayudarme