Cómo conducir un TFT de 3 "

0

Quiero mostrar 2 o 3 imágenes en un bucle (cada 5 segundos aproximadamente) en un TFT de 3 pulgadas. La TFT se puede encontrar aquí, Resolución 240x400 Pantalla 3 pulgadas Tft Lcd con MCU Interfaz

Utiliza una interfaz MCU, estoy buscando la forma más fácil de conducir esta pantalla. He hecho algunas cosas sobre Arduino antes, ¿podría manejar esta pantalla con un Arduino y mostrar imágenes como JPEGs?

Siempre estoy nervioso cuando se trata de comprar estas piezas a Alibaba, porque no sé si hay una biblioteca que pueda manejar la pantalla o no. También estoy tratando de hacer esto lo más rentable posible y estaba planeando conducir 10 de estas pantallas para un mini proyecto en el que estoy trabajando.

    
pregunta Antony Lawlor

3 respuestas

3

Probablemente sería un gran desafío lograr que esa pantalla funcione con un Arduino, por varias razones.

  • Tiene un conector plano flexible de 40 pines. Necesitará un zócalo adecuado para enchufarlo, lo que hace que las señales se conviertan en algo compatible con el tablero.
  • ¿Cómo interactuarás con él? Dice que tiene una interfaz de 8/9/16/18 bit, pero ¿tiene una hoja de datos que explica cómo? Probablemente esté usando una interfaz estándar, pero ¿cuál?
  • ¿De dónde vendrán las imágenes? La memoria flash de un Arduino Uno es solo de 32 KB, lo que no sería suficiente para una sola imagen.

Un mejor enfoque sería encontrar algo más amigable en SparkFun o Adafruit, como el "2.8" TFT Touch Shield para Arduino con pantalla táctil resistiva ", en enlace . Observe el" para Arduino ". Es un escudo que se conecta directamente a uno. Como beneficio adicional, también tiene una ranura para tarjeta SD, que puede contener sus imágenes. También debe incluir documentación y algunos ejemplos de código, que es una gran ayuda.

Apuesto a que uno de los programas de muestra mostrará imágenes .BMP de la tarjeta SD en la pantalla LCD. Tratar con archivos JPEG requiere descodificarlos antes de poder transferir los píxeles a la pantalla, así que quédate con BMP, que será mucho más simple.

Y el precio es solo el doble del artículo de Ali Express, que es barato para algo con las características anteriores. Pero necesitas 10 de ellos, por lo que tendrás que decidir si se ajusta a tu presupuesto.

    
respondido por el Carl Raymond
0

Dado el conector de 40 pines, lo más probable es que sea un RGB paralelo de 24 bits. Si lo adiviné correctamente, significa:

  • necesita al menos 25 GPIO para controlarlo (menos si puede vivir con una profundidad de color limitada)
  • no se requiere un protocolo especial, solo el momento debe ser correcto
  • no tiene framebuffer, por lo que su µC necesita una gran cantidad de RAM

Para su aplicación, es más sencillo buscar una pantalla con un framebuffer incorporado y una interfaz SPI.

    
respondido por el Janka
0

Su enlace parece ser el sitio móvil de Alibaba, que es difícil de usar en el escritorio, pero suponiendo que este es el mismo o al menos un listado similar aquí , indica que el controlador utilizado en el panel es un ST7793. El controlador es lo que realmente hablará cuando quiera manejar la pantalla, por lo que es importante. La forma en que se fabrican estos módulos LCD es que alguien fabrica un panel con una resolución determinada, otra persona fabrica un controlador IC que controla el panel y otra persona los ensambla. Por lo tanto, puede encontrar bibliotecas destinadas a otros paneles que usan el mismo controlador: funcionarán bien en este panel, con la advertencia de que el controlador deberá inicializarse con algunos valores que son específicos del panel, como fila / Configuración de columna y corrección gamma. Sin embargo, los valores de inicialización para otro panel de la misma resolución deberían estar lo suficientemente cerca.

La hoja de datos del controlador, que está aquí , muestra que admite 8, 9, 16 y 18 bits interfaces en dos modos diferentes (que coincide con la descripción de Alibaba). Dada la interfaz de 40 pines, el módulo que ha vinculado puede admitir cualquiera de ellos. Por lo general, los controladores utilizan la sujeción de pines para seleccionar entre diferentes modos de interfaz, por lo que probablemente pueda elegir el modo de interfaz que le resulte más conveniente. Desafortunadamente, no hay ninguna indicación del pinout del módulo, por lo que necesitaría eso antes de poder comenzar a conectarlo. Esto no está estandarizado, por lo que debería obtener esa información del vendedor.

La interfaz paralela no es la más conveniente para las placas de tipo Arduino más pequeñas simplemente por el número de pines necesarios. Además, estas interfaces paralelas generalmente se usan de manera más eficiente a través de un bus de memoria externo, que las MCU pequeñas como el ATMega328 y 32U4 no tienen. La MCU utilizada en Arduino Mega podría tener una interfaz de bus externa, tendría que consultar la hoja de datos.

El otro factor importante es cómo va a almacenar las imágenes para mostrar. Una imagen de 240x400 en color de 16 bits es de 192 kB, lo que no es enorme en términos modernos, pero definitivamente requerirá algún tipo de memoria externa para la mayoría de las MCU, especialmente si necesita almacenar más de un puñado. Podría comprimir las imágenes, pero implementar algo como la descompresión JPEG en una MCU pequeña es bastante complicado y es probable que no funcione bien, incluso si tiene suficiente RAM.

Una última cosa a tener en cuenta es que mover esa gran cantidad de datos en una pequeña MCU puede llevar algo de tiempo, especialmente si necesita moverla en pequeños fragmentos de una memoria externa a la pantalla LCD. DMA puede ayudar aquí, pero eso no es algo que se obtiene en algunas de las MCU pequeñas que se utilizan en muchas placas Arduino.

Si busca una solución fácil, probablemente haya mejores opciones que esa pantalla LCD más un Arduino. Podría considerar una Raspberry Pi, o incluso un kit específico de Arduino que tiene una pantalla LCD adecuada, memoria externa y código de ejemplo.

    
respondido por el ajb

Lea otras preguntas en las etiquetas