Guía Rápida: Controlador SPFD5408 y Pantalla TFT
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.
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.
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.
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.
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.
Abrimos el ejemplo "spfd5408_tftpaint" y cambiamos los siguientes valores por los obtenidos en el paso anterior:
Al subirlo se despliega en la pantalla un editor que nos permite dibujar en varios colores.
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".
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
No comments
comments