lunes, 26 de septiembre de 2016

Arduino: Pantalla TFT de 3.5" primeros pasos

     Ya estamos de vuelta del verano!! Ya hace un tiempo que he adquirido una pantalla TFT. Es una pantalla que puedes encontrar fácilmente en Ebay y a la cual se le puede sacar mucho jugo. Lo único malo es que no dispone de panel táctil aunque si adaptador de tarjeta microSD. Tiene una resolución de 480x320.





Especificaciones técnicas:


  • Dimensiones: 3.5" 
  • Controlador: ILI9481 o ILI9488 driver
  • Resolución: 480x320
  • Data bits: 8 - 16
  • Número de pines de la interfaz: 37 pin
  • Lector de tarjetas: Si, microSD





Para poder utilizar este modelo de pantalla hacen falta las librerías. En un principio he probado con varias hasta hacerlo funcionar con las siguientes librería: Adafruit_GFX Mcufriend kbv 2.90. Este ultimo trae bastantes ejemplos de las cosas que puede llegar a hacer este Shield para Arduino.

Lo primero que quiero hacer es hacer aparecer un texto en la pantalla tipo "Hola mundo!".
Para eso lo primero es cargar las librerías:

#include <Adafruit_GFX.h>;
#include <MCUFRIEND_kbv.h>;
MCUFRIEND_kbv tft; //renombramos la libreria
Despues iniciamos la pantalla TFT en el Setup:
void setup()
{
    tft.reset();
    uint16_t identifier = tft.readID();
    if (identifier == 0xEFEF) identifier = 0x9486;
    tft.begin(identifier);
}
Y ahora en el Loop escribimos el mensaje que queramos que aparezca en la pantalla:
void loop()
{ 
 tft.setCursor(20,20);
 tft.println("Hola Mundo!!!");
 }
Y este sera el resultado en la pantalla:


Como se puede ver el texto aparece en la esquina superior izquierda. todo esto se puede cambiar en setCursor.

 tft.setCursor(0,20);

Donde la primera cantidad, (0) se refiere a la altura de la pantalla y la segunda (20) a la altura. Parece bastante sencillo para empezar, y realmente lo es!!! También con unas pocas lineas más podemos cambiar color, tamaño de la letra, orientación, fondo.. vamos a poner el fodo negro y las letras un poco más grandes
#include <Adafruit_GFX.h> // Hardware-specific library
#include <MCUFRIEND_kbv.h>
MCUFRIEND_kbv tft;

void setup()
{
  tft.reset();
  uint16_t identifier = tft.readID();
  if (identifier == 0xEFEF) identifier = 0x9486;
  tft.begin(identifier);
  tft.fillScreen(0x0000); //Rellenamos la pantalla de color negro
}

void loop()
{ 
  tft.setCursor(0,20); //Posicion del cursor
  tft.setTextSize(4); //Tamaño de la fuente
  tft.setTextColor(0xF800); //Color de la fuente en rojo
  tft.println("Hola Mundo!!!"); //Texto a escribir
  }
Y este sera el resultado:

Con estas pocas lineas ya se puede empezar a trastear con la pantalla, es un código muy sencillo que se puede utilizar para, por ejemplo, comprobar el buen funcionamiento de nuestra pantalla, o incluso para dejar un mensaje, eso ya lo dejo a cada cual ;) 
Un saludo y espero les sirva!!!

2 comentarios :