Como conectar pantalla LCD 1.8 TFT SPI Arduino

Una pantalla LCD TFT en color de 1.8 o 2.4 pulgada es esencial para los proyectos que requieren salida de texto. Por ejemplo, para crear un reloj con alarma con Arduino o una estación meteorológica DIY. Veamos las características de la pantalla LCD TFT en color con SPI y la conexión del módulo de pantalla 1.8″ TFT SPI 128×160 v1.1 al Arduino Uno o la conexión de la pantalla 2.4″ TFT SPI 240×320 al microcontrolador Arduino.

Para esta actividad necesitaremos:

  • Arduino Uno / Arduino Nano / Arduino Mega
  • 1.8″ TFT SPI 128×160 v1.1
  • cables de conexion

Display 1.8″ TFT SPI Arduino datasheet, pinout

Con una placa Arduino y una pantalla LCD TFT, se puede mostrar en la pantalla una amplia gama de información gráfica y de texto. La abreviatura TFT significa «transistor de película fina». Esta pantalla debe su nombre al hecho de que cada píxel está formado por un condensador y un pequeño transistor parecido a una película fina. Gracias a ello, a diferencia de las pantallas LCD, el contraste de la pantalla aumenta considerablemente.

Pantalla LCD TFT SPI Arduino datasheet, pinout
Pantalla LCD TFT 1.8 SPI Arduino pinout, datasheet

Características pantalla 1.8 TFT SPI Arduino:

  • Tensión de funcionamiento: 3,3 – 5 V
  • Corriente de funcionamiento: 90 mA
  • Diagonal: 1,8 pulgadas
  • Resolución: 128×160
  • Tecnología: TFT
  • Interfaz: SPI
  • Controladores de matriz: ST7735
  • Número de colores: 65536
  • Dimensiones: 50,8×36,6 mm

La pantalla gráfica TFT en color de 1,8″ tiene una resolución de 128 x 160 píxeles. El controlador ST7735R, capaz de mostrar hasta 65.000 colores en formato RGB, es el responsable del módulo de visualización. En la parte posterior del módulo hay una ranura para tarjetas SD que permite descargar imágenes. La conexión display TFT ST7735 con el microcontrolador Arduino se realiza a través de una interfaz SPI de cuatro hilos.

Conectar display LCD TFT 1.8″ SPI Arduino

Conexión pantalla LCD TFT SPI a Arduino
Conexión pantalla LCD TFT 1.8 SPI a Arduino
TFT spi 1.8 Arduino Uno Arduino Nano Arduino Mega
LED 3.3V 3.3V 3.3V
SCK 13 13 52
SDA 11 11 51
A0 9 9 9
RESET 8 8 8
CS 10 10 10
GND GND GND GND
VСС 5V 5V 5V

Conecte la pantalla tft a través del bus spi al Arduino como se muestra en el diagrama anterior. Tenga en cuenta que los puertos SCK y SDA de la placa Arduino Mega se encuentran en los puertos 52 y 51 respectivamente. Para manejar la pantalla ST7735 por primera vez, no es necesario instalar ninguna librería adicional. En el programa se utilizan las librerías estándar TFT.h (librería para display) y SPI.h (librería para el bus spi).

Programa Arduino para pantalla LCD TFT 1.8″

#include "TFT.h"
#include "SPI.h"

#define cs 10 // pin para conexión CS
#define dc 9 // pin para conexión A0
#define rst 8 // pin para conexión reset

TFT screen = TFT(cs, dc, rst);

void setup() {
  screen.begin();

  // color de la pantalla ( r , g , b )
  screen.background(0, 0, 0); 
  // tamaño de letra
  screen.setTextSize(1);
  // color del texto en pantalla ( r , g , b )
  screen.stroke(255, 255, 255);

  // mostrar texto en pantalla con coordenadas x e y
  screen.text("Hello, World!", 45, 20);
  delay(1000);
}

void loop() {
  // limpieza de la pantalla
  screen.background(0, 0, 0);
  // tamaño de letra
  screen.setTextSize(2);

  // cambio suave del color del texto
  for (int i = 0; i <= 255; i=i+5) {
    screen.stroke(i, 255 - i, 255);
    screen.text("Hello, World!", 5, 50);
    delay(5);
  }
  delay(1000);

  // limpieza de la pantalla
  screen.background(0, 0, 0);
  // tamaño de letra
  screen.setTextSize(4);
 
  // desplazamiento de derecha a izquierda
  for (int i = 130; i >= -360; i = i - 10) {
    screen.background(0, 0, 0);
    screen.stroke(0, 255, 0);
    screen.text("sp.arduino-france.site", i, 40);
    delay(5);
  }
  delay(1000);
}

Explicación del código para control del LCD TFT 1.8″:

  1. la paleta RGB se utiliza para definir los colores de la pantalla y del texto;
  2. screen.setTextSize(1); – définit la taille du texte. La taille 1 correspond à 10 pixels de hauteur, la taille 2 correspond à 20 pixels et ainsi de suite.

El siguiente programa de ejemplo para la pantalla 1.8 TFT SPI 128×160 v1.1 demuestra la capacidad de dibujar varias formas geométricas en la pantalla utilizando comandos de la librería TFT.h. Las funciones de esta librería le permiten mostrar formas con diferentes parámetros – color del contorno, relleno y tamaño. Recuerde que la pantalla LCD TFT de 1.8 tiene 128 puntos horizontalmente y 160 verticalmente.

Programa Arduino para dibujar en la display TFT

#include "TFT.h"
#include "SPI.h"

#define cs 10 // pin para conexión CS
#define dc 9 // pin para conexión A0
#define rst 8 // pin para conexión reset

TFT screen = TFT(cs, dc, rst);

void setup() {
  screen.begin();

  // color de la pantalla ( r , g , b )
  screen.background(255, 255, 255);
  // color de los objetos en pantalla ( r , g , b )
  screen.stroke(200, 100, 0);

  // dibujar círculos
  screen.fill(255, 255, 255);
  screen.circle(60, 50, 21);  
  screen.circle(60, 50, 20);
  screen.circle(100, 50, 21);
  screen.circle(100, 50, 20);
  delay(500);

  // dibujar rectángulos
  screen.fill(200, 100, 0);
  screen.rect(99, 40, 4, 20);
  screen.rect(91, 48, 20, 4);
  screen.rect(51, 48, 20, 4);
  delay(500);

  // color del texto en pantalla ( r , g , b )
  screen.stroke(0, 0, 0);
  screen.setTextSize(2);
 
  // salida de texto
  screen.text("ARDUINO", 40, 85);
  delay(500);
}

void loop() {
 
}

Explicación del código dibujar formas geométricas en TFT:

  1. para eliminar screen.background(); se puede utilizar en cualquier parte del programa.

Descripción de las funciones de la librería TFT.h

  • screen.begin() – inicializa la pantalla
  • screen.background(red, green, blue) – el comando borra todo lo mostrado en la pantalla en el color especificado. La función se utiliza para borrar la pantalla
  • screen.stroke(red, green, blue) – el comando se ejecuta antes de mostrar texto o dibujar un objeto en la pantalla y define el color de las líneas y bordes alrededor de las formas
  • screen.noStroke() – después de llamar a este comando, los objetos no tendrán color de trazo
  • screen.fill(red, green, blue) – esta función define el color de relleno de los objetos
  • screen.noFill() – después de llamar a esta función, los objetos no tendrán color de relleno
  • screen.setTextSize(size) – define el tamaño del texto. El tamaño 1 corresponde a una altura de 10 píxeles, el tamaño 2 corresponde a una altura de 20 píxeles y así sucesivamente
  • screen.text(text, xPos, yPos) – muestra el texto en la pantalla tft en las coordenadas especificadas
  • screen.point(xPos, yPos) – función para mostrar un punto en las coordenadas dadas
  • screen.line(xInicio, yInicio, xFin, yFin) – dibuja una línea entre dos puntos
  • screen.rect(xInicio, yInicio, anchura, altura) – muestra un rectángulo en la pantalla. Es necesario especificar 4 argumentos en la función, los dos primeros argumentos – la esquina superior izquierda de la forma, los dos últimos parámetros – la anchura y la altura del rectángulo
  • screen.circle(xPos, yPos, radius) – la función dibuja un círculo en la pantalla, con el centro especificado en la función y el diámetro especificado, que siempre será un número impar
  • screen.image(image, xPos, yPos) – muestra la imagen de la tarjeta SD en el lugar especificado de la pantalla tft

Conclusión. Como has visto, la pantalla TFT asociada a la placa Arduino permite cambiar el color de la pantalla y el texto mostrado, utilizar diversos elementos gráficos y mostrar imágenes desde la tarjeta SD. Esta funcionalidad se tratará en el próximo artículo. Si todavía tienes preguntas sobre la conexión de la 1.8 TFT SPI 128×160 v1.1 a Arduino y su firmware – déjalas en los comentarios de este artículo.


One Reply to “Como conectar pantalla LCD 1.8 TFT SPI Arduino”

Deja una respuesta

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