Guía Rápida: Controlador SPFD5408 y Pantalla TFT - Tecneu

Guía Rápida: Controlador SPFD5408 y Pantalla TFT

Comentarios

 

Introducción

La Shield TFT SPFD5408 es una placa de expansión (o "shield") que incorpora una pantalla TFT LCD (Thin Film Transistor Liquid Crystal Display) de 2.4 pulgadas que puede ser usada para mostrar gráficos en color, texto e imágenes.

Cuenta con una resolución de 240x320 píxeles, está diseñada para encajar directamente en placas Arduino estándar, como Arduino Uno, facilitando su instalación y uso . Tiene una pantalla táctil resistiva.

El controlador esta incorporado con un búfer de RAM, liberando al microcontrolador de casi todo el trabajo. Sin embargo, la shield requiere muchas conexiones.SPDF5408

 Uso en Arduino

La librería que usaremos es una modificación de la librería Adafruit TFT de Adafruit Industries, diseñada para facilitar el uso de pantallas TFT LCD con controladores como ILI9341, ILI9163, ST7735, S6D02A1, entre otros, en conjunción con placas de microcontroladores como Arduino, modificada para poder trabajar con el controlador SPFD5408, proporciona funciones para dibujar una variedad de formas gráficas, que incluyen líneas, rectángulos, círculos y triángulos. También permite mostrar texto en varias fuentes y tamaños.

La puedes descargar haciendo clic aquí, para integrarla al IDE de Arduino vamos a Sketch> Include Library> Add .ZIP Library.

SPFD5408

 Antes de poder usarla debemos ir al archivo "SPFD5408_Adafruit_TFTLCD.cpp" que se encuentra en la carpeta que contiene las librerias de arduino, normalmente  \Documents\Arduino\libraries\SPFD5408-master y cambiar las lineas de código siguientes, esto para evitar que el eje Y este invertido al usar el touchscreen debido a que viene así en este controlador.

Código

 

 Cambia por esto:

Código

 

Cierra el IDE de Arduino y al volver a abrir ya estaria lista.

Basta con montar la SHIELD al arduino y subir un código de ejemplo para probarla.

Ejemplos TFT

 El programa "spfd5408_graphicstest" dibuja en la pantalla una serie de animaciones en las que hace uso de las funciones que incluye la libreria y que nos da una idea de que funciones podemos implementar en nuestros proyectos.

 Antes de usar el touchscreen es necesario calibrarlo, para esto debemos cargar el ejemplo "spfd5408_calibrate" y hacer clic en los puntos que dibuja el programa.

calibracion

Al finalizar muestra los valores que se aprecian en la siguiente imagen los cuales usaremos en nuestros programas para definir los mínimos y máximos del touchscreen.

valores de calibracion

 Abrimos el ejemplo "spfd5408_tftpaint" y cambiamos los siguientes valores por los obtenidos en el paso anterior:

calibracion

 Al subirlo se despliega en la pantalla un editor que nos permite dibujar en varios colores.

paint

Aquí tienes un ejemplo de código sencillo que crea una interfaz con un "botón" rojo que, al ser presionado, cambia de color a verde momentáneamente y envía un mensaje al monitor serial.

Código

 

A continuación se describe el funcionamiento del código:

Declaraciones e inicializaciones: Se definen los pines de conexión para la pantalla táctil y se configuran los valores de calibración para la misma. Se definen también una instancia de las bibliotecas TouchScreen y Adafruit_TFTLCD, que manejarán la pantalla táctil y LCD, respectivamente. Además, se definen varios colores en formato RGB565.

Función setup(): Se inicializa la pantalla LCD, el puerto serial y se dibuja un borde en la pantalla junto con un texto de bienvenida. También se imprime un círculo rojo que funcionará como un botón, acompañado de un mensaje que indica tocar dicho "botón". Finalmente, se configura el pin 13 como salida.

Función loop(): Se obtienen las coordenadas (x, y) y la presión (z) de la pantalla táctil. Si la presión está dentro de un rango definido, se verifica si el área donde se presionó corresponde a la ubicación del botón rojo en la pantalla. Si es así, se imprime un mensaje en el monitor serial y se dibuja un círculo verde (que simula un feedback visual de que el botón ha sido presionado) que después de medio segundo vuelve a ser rojo.

Función drawBorder(): Rellena la pantalla con el color azul y dibuja un rectángulo blanco más pequeño dentro de la pantalla, creando un efecto de "borde".

 tecneu

Conclusión

A partir de este momento, cuentas con los fundamentos necesarios para liberar tu creatividad y dibujar en la pantalla utilizando las diversas funciones que la biblioteca ofrece. Esta potente herramienta puede ser combinada con diversos sensores para dar vida a proyectos interesantes. Por ejemplo, puedes elaborar una estación meteorológica interactiva, capaz de mostrar en tiempo real datos como temperatura, humedad, presión atmosférica y las condiciones actuales del clima. Otra opción intrigante es desarrollar una interfaz de usuario personalizada para controlar robots, mejorando la interactividad y accesibilidad de tus proyectos de robótica. La oportunidad de innovar es ilimitada gracias a las capacidades versátiles de esta librería y tu imaginación.

Productos Relacionados

Ver artículo

Ver artículo

Comentarios 

Sin comentarios

Dejar un comentario
Tu correo no será publicado, los campos requeridos estan marcados con *
Suscríbete
Suscríbete a nuestro boletín y recibe las últimas ofertas y novedades.