X
X

Inicia sesión


Guía sobre el uso de TFT en Arduino

Publicado por el 5 septiembre, 2017
CC BY-SA 4.0

CC BY-SA 4.0



Cuando se trata de crear una interface humano máquina podemos optar por muchas técnicas en función de cual sea el objetivo que se persigue. Una de las más extendidas a día de hoy es el uso de TFT bien sea táctil o no. Vamos a repasar los métodos que tenemos a nuestra disposición en la librería TFT para el uso de TFT en Arduino.



Librerías

Lo primero que debemos tener en cuenta es que necesitamos varias librerías para poder usar la pantalla TFT en Arduino, la primera es “TFT” y la segunda es “SPI”. Por suerte, ambas están incluidas entre las librerías que vienen instaladas con el IDE de Arduino, por tanto, si tienes instalado el IDE, ya tienes las librerías instaladas.

La librería SPI nos permitirá comunicarnos con la librería, ya que la mayoría de estas pantallas TFT usan SPI (Serial Peripheral Interface) el cual está compuesto por líneas de datos, de reloj, de selección y alguna otra.

La librería TFT es la encargada de manipular la pantalla, dibujar, escribir y cargar imágenes en ella, en resumen casi todo lo que necesitamos para realizar el uso de TFT.

Uso de TFT para crear menu interactivo

TFT menú interactivo

Creación del objeto e configuración de pines

Lo primero que debemos hacer después de incluir las librerías y en todos los casos es crear el objeto de la TFT e indicarle al constructor que pines usaremos para las líneas especiales de la pantalla y que no son las del SPI.

Debemos configurar los pines CS (chip select), RST (reset) y DC.

Puedes aprender un poco más sobre el uso de TFT y su conexión en este otro artículo de iniciación a su uso

Un ejemplo clásico de configuración es:


#define CS   10
#define DC   9
#define RESET  8 

Por otro debemos crear el objeto y pasarle al constructor los pines anteriores


TFT myScreen = TFT(CS, DC, RESET);

Inicialización

En el setup debemos inicializar la pantalla, lo haremos una sola vez con:


pantalla.begin();

Puede ser que debamos cambiar la orientación de la pantalla debido a que la tengamos en vertical, para ello usamos el siguiente método. 90 es el ángulo de giro.


pantalla.setRotation(90);

 


 

Métodos para el uso de TFT

pantalla.background(rojo, verde, azul); 

Elimina todo lo que haya en la pantalla y pone de fondo el color que le indiquemos como combinación RGB.

Rojo, verde y azul con parámetros que indican el color del fondo. Son de tipo entero y su valor puede ir desde 0 a 255.

pantalla.stroke(rojo, verde, azul);

Se usa para indicar el color del borde de el siguiente objeto. Por ejemplo para indicar el color del borde de un rectángulo, primero se llama a stroke y luego se dibuja el rectángulo.

Rojo, verde y azul con parámetros que indican el color de la línea. Son de tipo entero y su valor puede ir desde 0 a 255.

pantalla.noStroke();

Todas las formas que se dibujen después de noStroke, no tendrán línea de borde exterior.

pantalla.fill(rojo, verde, azul);

Se usa para seleccionar el color de relleno de los objetos. Por ejemplo para seleccionar el color de relleno de un círculo, primero se llama a fill y luego se dibuja el círculo.

Rojo, verde y azul con parámetros que indican el color de relleno. Son de tipo entero y su valor puede ir desde 0 a 255.

pantalla.noFill();

Todas las formas que se dibujen después de llamar a noFill no tendrán relleno

pantalla.text(texto, xPos, yPos);

Se usa para escribir texto

– texto: El texto a mostrar

– xPos: La posición en el eje X para empezar a escribir

– yPos: La posición en el eje Y para empezar a escribir

pantalla.setTextSize(size);

Fija el tamaño del texto que se escriba después de llamar a setTextSize()

– Size: Tipo entero comprendido entre 1 y 5. (1 = 10 pixeles; 2 = 20 pixeles; etc)



pantalla.point(xPos, yPos);

Dibuja un punto en la posición indicada

– xPos: Posición en eje X

– yPos: Posición en eje Y

pantalla.line(xStart, yStart, xEnd, yEnd);

Dibuja una línea entre los puntos indicados

– xStart: Posición en eje X de inicio

– yStart: Posición en eje Y de inicio

– xEnd: Posición en eje X de fin

– yEnd: Posición en eje Y de fin

pantalla.rect(xStart, yStart, width, height);

Dibuja un rectángulo

– xStart: Posición en eje X de inicio

– yStart: Posición en eje Y de inicio

– width: Ancho del rectángulo

– height: Altura del rectángulo

pantalla.circle(xPos, yPos, radius);

Dibuja un círculo

– xPos: Posición del centro del circulo en el eje X

– yPos: Posición del centro del círculo en el eje Y

– radius: radio del círculo

pantalla.width();

Devuelve un valor tipo int que indica el ancho en píxeles de la pantalla.

pantalla.height();

Devuelve un valor tipo int que indica el alto en píxeles de la pantalla.

pantalla.loadImage(name);

Carga una imagen desde la tarjeta SD, debe haberse importado la librería SD y haberse inicializado la tarjeta SD.

– name: El nombre de la imagen que se busca en la raíz de la tarjeta SD.

Devuelve un objeto tipo PImage;

pantalla.image(image, xPos, yPos);

Dibuja una imagen en la pantalla

– Image: Objeto de tipo imagen (creado antes del setup y cargado con loadImage();)

– xPos: Posición en el eje X

-yPos: Posición en el eje Y



Tienes más información en la web de arduino sobre el uso de la librería.

Aviso de Cookies

En RincónIngenieril usamos las cookies para el funcinamiento de la web y aplicaciones, si sigues navegando por esta web, asumo que aceptas el uso de cookies. Puedes aprender más acerca de las cookies pulsando en el botón "Leer más".

Leer más De acuerdo