TODOPIC

FORO TÉCNICO => Foro Técnico => Mensaje iniciado por: elgarbe en 07 de Marzo de 2015, 18:31:02

Título: Teoría de funcionamiento pantalla y touch 2.4"?
Publicado por: elgarbe en 07 de Marzo de 2015, 18:31:02
Buenas, alguien a probado de usar una de estas pantallitas:

http://misc.ws/wp-content/uploads/2013/11/Foto-Oct-31-12-59-43-PM-300x225.jpg

Estoy buscando una simple explicación del funcionamiento inicial de la pantalla. Por lo que veo es con 8 bits de datos y algunos bits de control, pero como nunca use una pantalla GLCD no tengo idea de como empezar. Funcionan de acuerdo al chip (driver) que posee? hay algo mas o menos estandar para manejar estas pantallas, como sucede con los clásicos 2x16?

He encontrado código para arduino, pero poco he podido leer sobre el funcionamiento....

Desde ya gracias!
Título: Re: Teoría de funcionamiento pantalla y touch 2.4"?
Publicado por: juaperser1 en 07 de Marzo de 2015, 19:21:38
perdona pero en la foto no se ve la pantalla, o es la pantalla desde atras de cualquier modo es una foto pequeña no tienes hoja de datos o algo?
Título: Re: Teoría de funcionamiento pantalla y touch 2.4"?
Publicado por: elgarbe en 07 de Marzo de 2015, 19:47:27
Perdon, tenes razon:

http://www.aliexpress.com/item/2-4-Inch-2-4-TFT-LCD-Shield-Touch-Panel-Module-TF-Micro-SD-For-Arduino/1954323517.html

es esa la que compra....

Saludos y gracias!
Título: Re: Teoría de funcionamiento pantalla y touch 2.4"?
Publicado por: KILLERJC en 07 de Marzo de 2015, 20:01:52
No se sobre la teoria de funcionamiento, yo tome 2 drivers para LCD el de Suky (SSD1298) y el UTFT (este tiene para varios controladores), compare, estudie un poco y llegue a la siguiente conclusion:

Son iguales xD, lo unico que cambia son las letras/formas de hacer dibujos etc ( todo se hace pixel a pixel )

Casi todos utilizan la misma inicializacion, a no ser que quieras cambiar las coordenadas X por Y ( es decir portrait a landscape ) de comienzo. Se seteean las correcciones de gamma de cada color, el formato, voltajes, Lo que si yo no escribia de a 8 bits como esas librerias sino que lo hacia directamente con 16 bits ( es decir tenia que mandar un dato menos ). Tendrias que buscar que controlador tiene ese LCD (creo que el tuyo es un ILI9320 ) para que veas cuales son los registros, y formas de comunicacion, ejemplo con 18 bits formarias un 666 en RGB con 16 bits que yo mando lo hago 565 RGB sino mal recuerdo. Y con 8 bits tal ves lo mismo pero lo tengas que enviar en 2 pasos.

Como se actualiza la pantalla ?

Marcas como un cuadro (seccion del LCD)... es decir un punto X,Y inicial y uno final (Tenes registros para esto ), y luego escribis todos los pixel uno detras de otro. No tenes que refrescarlo por que quedan guardados en la RAM del LCD, entonces escribis y listo.
No se como sera con un micro con controlador de LCD, ahi estuve viendo el que puso juanperser1, un ST con controladora de LCD que permite supuestamente mantener como 4 layers separados u algo asi, pero no me meti demasiado en eso. Aunque me interesaria saber mas sobre eso.

Esto puede que te sirva:
http://misc.ws/2013/11/08/touch-screen-shield-for-arduino-uno/
https://learn.adafruit.com/2-8-tft-touch-shield/overview

El C lo hace realmente portable.

Con respecto al touch, es un ADC... tenes un pin de interrupcion para avisarte que alguien toco la pantalla, tenes que enviar un comando por cada eje si no mal recuerdo ( por SPI o algunos lo hacen manual ) y este te devuelve en 2 bytes por cada lectura ( si esta configurado como 10bits ). Al menos esa fue mi experiencia debido a que era un ads7843
Luego muchos promedian estos valores de esa forma obtienen una lectura mas estable..

Mi experiencia fue esta:
http://www.todopic.com.ar/foros/index.php?topic=43599.0

un error en la configuracion de comienzo y fin de la RAM a escribir hacia que no escribiera nada.. en ves de poner maximo X:239 Y:319, lo puse al reves y no funciono.

Aunque no esta todo el codigo y la parte del LCD deberia usar el puerto paralelo con FIFO que ofrece el micro y no el manejo de puertos directamente.
Título: Re: Teoría de funcionamiento pantalla y touch 2.4"?
Publicado por: elgarbe en 07 de Marzo de 2015, 20:16:25
Fantástico, de a poco voy armando el rompecabezas.

En teoría el controlador es el ST7783 o el spfd5408. Según la descripcion de dx es el último, pero un usuario dice que es el primero...
Voy a dejar el touch para el final, ovbio, ahora estoy investigando esto:

https://code.google.com/p/lpc1343codebase/source/browse/trunk/drivers/lcd/tft/hw/?r=185

Ahí hay varios drivers para el LPC1343 y como quiero usar el LPC1167 me vienen justo.

En cuanto al conexionado tengo LCD_D0 a LCD_D7, luego LCD_RST, _CS, _RS, _WR, _RD. Por lo que veo las típicas señales de un LCD e 2x16, por lo que entiendo el cableado es simple, solo debería buscar que LCD_D0 a D7 estén continuos.

Como haces para manejarlo a 16bits? tenes mas pines de dato?

Saludos!
Título: Re: Teoría de funcionamiento pantalla y touch 2.4"?
Publicado por: KILLERJC en 08 de Marzo de 2015, 00:09:38
Asi es:

Este es el que tengo.. con los controladores que ya dije
http://www.dx.com/p/3-2-320-x-240-tft-lcd-touch-screen-module-blue-235123
Título: Re: Teoría de funcionamiento pantalla y touch 2.4"?
Publicado por: elgarbe en 15 de Marzo de 2015, 12:14:23
Bueno, finalmente lo pude hacer andar!
Encontre unas librerías para el LPC1343 (https://code.google.com/p/lpc1343codebase/source/browse/trunk/drivers/lcd/tft/hw/st7783.c)
En el mismo codebase estan las librerías de dibujos y algunas fuentes.

(https://farm8.staticflickr.com/7616/16614813317_9f832ecf3f_z.jpg) (https://flic.kr/p/rjcg9z)

Lamentablemente el touch esta roto. No sé si bino de los chinos roto o se me rompio a mi cuando enchufe la placa al protoboard...

Bueno, por lo menos puedo avanzar con la parte gráfica.

Saludos!
Título: Re: Teoría de funcionamiento pantalla y touch 2.4"?
Publicado por: KILLERJC en 15 de Marzo de 2015, 15:00:37
Primero que nada, felicidades por hacerlo funcionar.

Por que pensas que esta roto ? o no da señal para nada ?

Yo crei que estaba roto mi LCD y era un problema mio :P
Título: Re: Teoría de funcionamiento pantalla y touch 2.4"?
Publicado por: elgarbe en 15 de Marzo de 2015, 16:10:48
porque tiene una raya de quebrado de punta a punta  :?

saludos!
Título: Re: Teoría de funcionamiento pantalla y touch 2.4"?
Publicado por: elgarbe en 15 de Marzo de 2015, 19:28:08
alguna idea de como saber si el touch se usa con el ADC o con el SPI?

es resistivo y posee 4 pines:
· 4-wire resistive touchscreen

sds
Título: Re: Teoría de funcionamiento pantalla y touch 2.4"?
Publicado por: KILLERJC en 15 de Marzo de 2015, 20:22:11
Puede que te sirva:

http://www.picbasic.co.uk/forum/content.php?r=473-4-Wire-resistive-touch-screen

Algunos vi que usan X- X+, Y- Y+.
Mientras que el que compre yo ya posee un ADC y me comunico por SPI con el mismo. ( aunque tiene mas pines pines, CS , CLK, DATA in, DATA out y IRQ )
Título: Re: Teoría de funcionamiento pantalla y touch 2.4"?
Publicado por: elgarbe en 15 de Marzo de 2015, 20:41:43
a esa teoría me refería al principio cuando pedía info!!! jeje, gracias!!!! leyendo y leyendo....

El problema con el que estoy lidiando es que en mi TFT no están identificados cuales son los pines del touch!!!

asi se ve de abajo:

http://misc.ws/wp-content/uploads/2013/11/Foto-Oct-31-12-59-43-PM.jpg

ahora, ese modulo es un shield de arduino, revisando librerías de arduino para ese módulo veo esto:

Código: [Seleccionar]
#define YP A1  // must be an analog pin, use "An" notation!
#define XM A2  // must be an analog pin, use "An" notation!
#define YM 7   // can be a digital pin
#define XP 6   // can be a digital pin

#define TS_MINX 150
#define TS_MINY 120
#define TS_MAXX 920
#define TS_MAXY 940

// For better pressure precision, we need to know the resistance
// between X+ and X- Use any multimeter to read it
// For the one we're using, its 300 ohms across the X plate
TouchScreen ts = TouchScreen(XP, YP, XM, YM, 300);

#define LCD_CS A3
#define LCD_CD A2
#define LCD_WR A1
#define LCD_RD A0
// optional
#define LCD_RESET A4

Por lo que entiendo YP es el mismo pin que LCD_WR y cae en A1 del arduino, XM es LCD_CD (o LCD_RS) y cae en A2 de arduino. Lo que no entiendo es porque define YM como 7 y XP como 6.... que son ese 6 y 7? En arduino uno los pines A0-A5 son PC0-PC5 entonces no se porque ese 6 y 7.

alguna ayuda con esto?

en otra parte del código tengo esto:

Código: [Seleccionar]
  digitalWrite(13, HIGH);
  Point p = ts.getPoint();
  digitalWrite(13, LOW);

En esas lineas se obtienen las coordenadas del touch. Ese 13 que figura ahí, a que corresponde? al pin 13 del arduino? en ese caso el pin13 es PD7 y podría coincidir con ese 7 que tengo alla arriba.... pero no conozco el lenguaje de arduino  :(

Por cierto, todo el código que estoy viendo lo pueden bajar de acá para seguirlo mejor:

http://www.airspayce.com/mikem/TFTLCD-mikem.zip

puntualmente tftpaint.ino y TouchSreen.cpp

Saludos y gracias!
Título: Re: Teoría de funcionamiento pantalla y touch 2.4"?
Publicado por: elgarbe en 15 de Marzo de 2015, 21:17:26
el que busca encuentra...

http://www.smokeandwires.co.nz/blog/a-2-4-tft-touchscreen-shield-for-arduino/

ahi esta la correspondencia de pines!!!

Saludos!
Título: Re: Teoría de funcionamiento pantalla y touch 2.4"?
Publicado por: KILLERJC en 15 de Marzo de 2015, 21:19:46
Yo tampoco conozco el lenguaje de arduino, estaba por mandar el mensaje, cuando me aviso que habia llegado uno nuevo al tema.

Y era el tuyo con la misma pagina que te estaba por pasar... xD


Ahora que revise, si.. ese pin corresponde al pin 13 digital del arduino
http://www.electronicaestudio.com/i/f/ArduinoUnoR3Front.jpg
Título: Re: Teoría de funcionamiento pantalla y touch 2.4"?
Publicado por: elgarbe en 15 de Marzo de 2015, 21:54:36
si, ahora si cierra todo, ya que los pines 6 y 7 digitales estan conectados a LCD_D6 y LCD_D7, tal como lo indica la pagina que encontramos.

Si mido con el tester entre los pines del touch, no debería medir resistencia? de que orden?

Saludos y gracias!
Título: Re: Teoría de funcionamiento pantalla y touch 2.4"?
Publicado por: MGLSOFT en 15 de Marzo de 2015, 21:57:59
En Arduino hay una libreria de hardware (configuracion) que dice a que pines corresponde cada señal.
Hay que buscarla por supuesto... :mrgreen: :mrgreen: :mrgreen:
Título: Re: Teoría de funcionamiento pantalla y touch 2.4"?
Publicado por: KILLERJC en 15 de Marzo de 2015, 22:01:10
Ni idea de que orden es o de cuanto es la resistencia del touch. O si se puede medir asi nomas.

Pero si queres probarla pone 5V en X+, GND en el otro punto X- y medi con el multimetro que tension tenes en Y+ o Y- y si varia al tocar en algunas partes. Luego haces lo contrario para el otro eje.
Título: Re: Teoría de funcionamiento pantalla y touch 2.4"?
Publicado por: elgarbe en 15 de Marzo de 2015, 22:03:00
En Arduino hay una libreria de hardware (configuracion) que dice a que pines corresponde cada señal.
Hay que buscarla por supuesto... :mrgreen: :mrgreen: :mrgreen:

ni idea de que que librería sería ya que ni idea donde buscarla ni que buscar  :(
igual ya encontre la correspondencia.


Si mido con el tester entre los pines del touch, no debería medir resistencia? de que orden?

Saludos y gracias!

Si, Leo, tenes que medir unos 300ohm en los extremos.

Ok, hice la medicion y verifique que esta roto el touch en un eje. Tengo 375ohm en X e infinito en Y...

el touch quedará para cuando me llegue otro display...

Saludos!
Título: Re: Teoría de funcionamiento pantalla y touch 2.4"?
Publicado por: elgarbe en 21 de Marzo de 2015, 10:31:04
Una duda más que me surge. Que diferencias hay entre las diversas alternativas de TFT que hay en el mercado?
Porque veo las de los chinos, que son re baratas y despues hay pantallas como estas:
https://www.sparkfun.com/products/11677
En principio creo que lo que cambia es el driver de la pantalla, estimo que los mas caros serán mas rapidos. Alguien conoce alguna comparativa por aplicaciones o por fabricante como para ver la sopciones que hay dando vuelta y que combiene en cada caso?

Saludos!
Título: Re: Teoría de funcionamiento pantalla y touch 2.4"?
Publicado por: KILLERJC en 21 de Marzo de 2015, 11:18:56
The µLCD-32PTU is a combination of a 3.2” (240x320) LCD Screen,
audio amplifier and speaker,
micro-SD card connector,
Lithium Polymer (LiPo) battery support,
along with a group of general purpose input/output pins (GPIO’s), including I2C and serial COMMS.  Tiene un controlador grafico y no solo un driver como los demas, el controlador tiene:

Comprehensive set of built in high level graphics functions and algorithms that can draw lines, circles, text, and much more.
Supports all available Windows fonts and characters (imported as external fonts).
etc etc ( es el que proveee el PWM para el sonido, tambien provee funciones directas para el manejo de FAT16 en la SD, es decir como una API pero ya incorporada al micro )
Interesante tener directamente funciones como: Mostrar video directamente desde la SD o imagenes de la SD

Mientras que las otras tenes que hacerlo todo vos :) o directamente comprate el 4DLABS PICASO-SGC  ( que es el controlador ese ) y lo pones a controlar el TFT