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 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: 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.

Este ultimo trae una buena cantidad de 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 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:

Arduino: El LCD 16x2

ESP32 oled 128x32 velocímetro RC Dashboard

Arduino ejemplos: LCD con I2c

Un saludo y espero les sirva!!!

2 comentarios :