LA LIBRERÍA Adafruit_TFTLCD

Facebooktwittergoogle_pluslinkedinmailFacebooktwittergoogle_pluslinkedinmail

Esta librería está concebida para la gestión de pantallas TFT. Se ocupa de todo lo relacionado con la inicialización y configuración de la pantalla, así como de la visualización de datos y gráficos en la misma. En el mercado existe una gran variedad de librerías que hacen esto. Elegir una u otra es, en la mayoría de los casos, una cuestión de criterio. Con determinados dispositivos, es probarlas y ver cual se adapta mejor a lo que necesites. En mi caso, esta es la que mejor resultado me ha dado. Puedes descargarla en este enlace.

Esta librería hace uso, a su vez de la librería Adafruit_GFX para gráficos, que puedes descargar en este enlace. En versiones anteriores era necesario incluir, en el sketch, ambas librerías. En la versión actual, incluimos Adafruit_TFTLCD y esta, a su vez, se ocupa de cargar Adafruit_GFX de forma transparente. Por supuesto, ambas deben haber sido incorporadas a la lista de librerías de Arduino.

EL CONSTRUCTOR

Cómo ya sabemos, el constructor de una clase se ocupa de instanciarla en un objeto para poder usarla en el sketch. El constructor de esta clase se atiene a la siguiente sintaxis genérica:

Adafruit_TFTLCD objetoTFT (CS, CD, WR, RD, RESET);

Los argumentos corresponden a los pines de Arduino donde se conectan los terminales del mismo nombre de la pantalla TFT.

EL MÉTODO begin()

Este método se usa para inicializar la pantalla TFT. Como argumento hay que pasarle el indicativo del controlador que usa nuestra TFT. Si compras una TFT en Internet o en tienda física, deberás buscar en la Red la datasheet del modelo, para saber que controlador emplear.

EL MÉTODO drawChar()

Se emplea para dibujar un carácter único en la pantalla. Recuerda que los caracteres se generan sobre la base de una matriz de seis píxeles de ancho y ocho píxeles de alto, y que esta librería (y otras similares) sólo maneja una tipografía, para ahorrar espacio en memoria. Recibe los siguientes seis argumentos:

  • Coordenada X de la esquina superior izquierda de la matriz del carácter. Ten en cuenta que la coordenada 0 corresponde al lateral izquierdo (según la orientación de tu pantalla).
  • Coordenada Y de la esquina superior izquierda de la matriz del carácter. Ten en cuenta que la coordenada 0 corresponde al borde superior (según la orientación de tu pantalla).
  • El carácter. Es el que queremos mostrar, encerrado entre comillas simples, o una expresión que lo represente.
  • El color del texto.  Expresado en hexadecimal, como se explica en el articulo relativo a TFT.
  • El color del fondo.  Expresado en hexadecimal, como se explica en el articulo relativo a TFT.
  • Un multiplicador. Si el tamaño de seis por ocho píxeles es muy pequeño para lo que necesitamos, se puede multiplicar. Por ejemplo, si en este valor se pone 10, la matriz será de 60 x 80, y el carácter aumentará en proporción.

EL MÉTODO drawCircle()

Dibuja una circunferencia (un círculo sin relleno) en la pantalla. Recibe los siguientes cuatro argumentos:

  • Coordenada X del centro. Ten en cuenta que la coordenada 0 corresponde al lateral izquierdo (según la orientación de tu pantalla).
  • Coordenada Y del centro. Ten en cuenta que la coordenada 0 corresponde al borde superior (según la orientación de tu pantalla).
  • Radio. Se expresa en píxeles. Ten en cuenta que la circunferencia tendrá más tamaño del que piensas, ya que lo que expresas es el radio, no el diámetro.
  • Color.  Expresado en hexadecimal, como se explica en el articulo relativo a TFT.

EL MÉTODO drawLine()

Traza una línea recta de un píxel de grosor. Recibe cinco argumentos:

  • Coordenada X del punto de inicio. Ten en cuenta que la coordenada 0 corresponde al lateral izquierdo (según la orientación de tu pantalla).
  • Coordenada Y del punto de inicio. Ten en cuenta que la coordenada 0 corresponde al borde superior (según la orientación de tu pantalla).
  • Coordenada X del punto de final. Ten en cuenta que la coordenada 0 corresponde al lateral izquierdo (según la orientación de tu pantalla).
  • Coordenada Y del punto final. Ten en cuenta que la coordenada 0 corresponde al borde superior (según la orientación de tu pantalla).
  • Color.  Expresado en hexadecimal, como se explica en el articulo relativo a TFT.

EL MÉTODO drawPixel()

Este método dibuja un píxel individualmente en la pantalla. Recibe tres argumentos, que son los siguientes:

  • Coordenada X del píxel. Ten en cuenta que la coordenada 0 corresponde al lateral izquierdo (según la orientación de tu pantalla).
  • Coordenada Y del píxel. Ten en cuenta que la coordenada 0 corresponde al borde superior (según la orientación de tu pantalla).
  • Color del píxel. Expresado en hexadecimal, como se explica en el articulo relativo a TFT.

EL MÉTODO drawRect()

Dibuja un rectángulo sin relleno (sólo el perímetro, de un píxel de grosor). Recibe los siguientes cinco argumentos:

  • Coordenada X de la esquina superior izquierda. Ten en cuenta que la coordenada 0 corresponde al lateral izquierdo (según la orientación de tu pantalla).
  • Coordenada Y de la esquina superior izquierda. Ten en cuenta que la coordenada 0 corresponde al borde superior (según la orientación de tu pantalla).
  • Anchura. Expresada en píxeles.
  • Altura. Expresada en píxeles.
  • Color. Expresado en hexadecimal, como se explica en el articulo relativo a TFT.

EL MÉTODO drawRoundRect()

Dibuja un rectángulo sin relleno (sólo el perímetro, de un píxel de grosor), con las esquinas redondeadas. Recibe los siguientes seis argumentos:

  • Coordenada X de la esquina superior izquierda. Ten en cuenta que la coordenada 0 corresponde al lateral izquierdo (según la orientación de tu pantalla).
  • Coordenada Y de la esquina superior izquierda. Ten en cuenta que la coordenada 0 corresponde al borde superior (según la orientación de tu pantalla).
  • Anchura. Expresada en píxeles.
  • Altura. Expresada en píxeles.
  • Radio de las esquinas. Expresado en píxeles.
  • Color. Expresado en hexadecimal, como se explica en el articulo relativo a TFT.

EL MÉTODO drawTriangle()

Dibuja un triángulo en pantalla, sin relleno (sólo el perímetro, de un píxel de gorsor). Recibe los siguientes siete argumentos:

  • Coordenada X del primer vértice. Ten en cuenta que la coordenada 0 corresponde al lateral izquierdo (según la orientación de tu pantalla).
  • Coordenada Y del primer vértice. Ten en cuenta que la coordenada 0 corresponde al borde superior (según la orientación de tu pantalla).
  • Coordenada X del segundo vértice. Ten en cuenta que la coordenada 0 corresponde al lateral izquierdo (según la orientación de tu pantalla).
  • Coordenada Y del segundo vértice. Ten en cuenta que la coordenada 0 corresponde al borde superior (según la orientación de tu pantalla).
  • Coordenada X del tercer vértice. Ten en cuenta que la coordenada 0 corresponde al lateral izquierdo (según la orientación de tu pantalla).
  • Coordenada Y del tercer vértice. Ten en cuenta que la coordenada 0 corresponde al borde superior (según la orientación de tu pantalla).
  •  Color. Expresado en hexadecimal, como se explica en el articulo relativo a TFT.

EL MÉTODO fillCircle()

Dibuja un círculo sólido. Recibe los mismos argumentos que drawCicle().

EL MÉTODO fillRect()

Dibuja un rectángulo sólido. Recibe los mismos argumentos que drawRect().

EL MÉTODO fillRoundRect()

Dibuja un rectángulo sólido con las esquinas redondeadas. Recibe los mismos argumentos que drawRoundRect().

EL MÉTODO fillScreen()

Rellena TODA la pantalla en el color que recibe como argumento (expresado en hexadecimal). En la práctica se usa para borrar la pantalla, ya que no hay un método específico para esto, y este cumple perfectamente.

EL MÉTODO fillTriangle()

Dibuja un triángulo sólido. Recibe los mismos argumentos que drawTriangle().

EL MÉTODO height()

No recibe argumentos, y devuelve la altura de la TFT, expresada en píxeles.

EL MÉTODO print()

Escribe en la pantalla una cadena de texto, o el valor de una expresión, que le pasamos como argumento. La escritura empieza en la posición en que se encuentre el cursor, establecida con setCursor().

EL MÉTODO println()

Escribe en la pantalla una cadena de texto, o el valor de una expresión, que le pasamos como argumento. La escritura empieza en la posición en que se encuentre el cursor, establecida con setCursor(). Al final, inserta un salto de línea.

EL MÉTODO setCursor()

Posiciona el cursor en unas coordenadas específicas de la pantalla. Se usa cuando vamos a escribir texto, para que empiece a escribirse a partir de las coordenadas especificadas. Recibe dos argumentos:

  • Coordenada X. Ten en cuenta que la coordenada 0 corresponde al lateral izquierdo (según la orientación de tu pantalla).
  • Coordenada Y. Ten en cuenta que la coordenada 0 corresponde al borde superior (según la orientación de tu pantalla).

EL MÉTODO setRotation()

Establece la orientación de la pantalla (en vertical u horizontal). Recibe un único argumento, que será 0 para la orientación vertical de arriba a abajo; 1, para la horizontal de izquierda a derecha; 2 para la vertical de abajo a arriba; por último, 3 para la horizontal de derecha a izquierda.

EL MÉTODO setTextColor()

Establece el color del texto. Como único argumento recibe el color deseado, expresado en hexadecimal. A partir de ese momento, todo lo que se escriba con print() o println() saldrá en el color indicado, a menos que hagamos otro cambio.

EL MÉTODO setTextSize()

Establece el tamaño del texto. Recibe como argumento un valor o expresión entre 1 y 10 (de más pequeño a más grande).

EL MÉTODO setTextWrap()

Determina si el texto que no quepa en una línea continuará en la siguiente. El argumento es un valor booleano (true o false). El valor por defecto es true. Si estableces false, el texto que no quepa en una línea quedará truncado y no será visible.

EL MÉTODO width()

No recibe argumentos, y devuelve la anchura de la TFT, expresada en píxeles.

 

     

Un comentario:

  1. Pingback: ARD17 – Pantalla táctil TFT » eldesvandejose.com

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *