lunes, 26 de septiembre de 2016

Arduino: Pantalla TFT de 3.5" primeros pasos

Muy buenas a todos los Arduineros y Arduineras!!!

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 pero 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: 8 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 y Mcufriend kbv 2.90.

Mcufriend kbv trae una buena cantidad de ejemplos de las cosas que puede llegar a hacer este Shield para Arduino.

Por supuesto, el primer programa que quiero hacer es para que aparezca 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 librería


// Después 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 con la función setCursor().


tft.setCursor(0,20);

Donde el primer valor, 0 se refiere a la posición x y el segundo valor, 20 a la posición y.

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 fondo 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);	// Posición del cursor.
  tft.setTextSize(4);	// Tamaño de la fuente.
  tft.setTextColor(0xF800); // Color de la fuente en rojo.
  tft.println("Hola Mundo!!!"); // Texto que se mostrará en la pantalla.
}
  

Una vez este cargado el programa en nuestro Arduino, 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 ;).

Puedes visitar los siguiente enlaces relacionados con pantallas y Arduino:

Un saludo y espero les sirva de ayuda!!!

2 comentarios :