Interfaz LCD TFT de 1,8″ con Arduino Uno

Para interconectar la pantalla LCD TFT con Arduino, para diseñar pantallas LCD TFT HMI personalizadas, proporcione colores intensos, imágenes detalladas y gráficos brillantes con su modo RGB a todo color, viene en diferentes píxeles 128 x 160 píxeles, 320 × 240 píxeles y muchos más.

En este tutorial, conectaremos la pantalla LCD TFT de 1.8 con Arduino Uno. Aprenderá a conectar la pantalla LCD TFT con Arduino para escribir texto en esta pantalla LCD. Este tutorial presenta la codificación, el diagrama de cableado y la lista de componentes necesarios para la pantalla LCD.

Introducción a la pantalla LCD TFT

Crear una interfaz entre el usuario y el sistema es muy importante. Esta interfaz se puede crear mostrando datos útiles y menús. Hay varios componentes para lograr esto. LED, 7 segmentos, OLED y LCD TFT a todo color. El componente adecuado para sus proyectos depende de la cantidad de datos que se mostrarán y el tipo de interacción del usuario.

TFT LCD es una variante de una pantalla de cristal líquido (LCD) que utiliza tecnología de transistor de película delgada (TFT) para mejorar las cualidades de la imagen, como la direccionabilidad y el contraste. En el caso de Arduino, la frecuencia del procesador es baja. Por lo tanto, no es posible mostrar movimientos complejos y de alta velocidad. Por lo tanto, las pantallas LCD TFT a todo color solo se pueden usar para mostrar datos y comandos simples. Este TFT tiene 128 x 160 píxeles. La pantalla TFT de 1.8 puede cargar imágenes desde una tarjeta SD. Tiene una ranura para tarjeta SD en la parte posterior. Puede ver las vistas frontal y posterior de la pantalla LCD TFT en las siguientes figuras.

Vista trasera LCD 1.8TFT Vista frontal LCD 1.8TFT

Fenómenos de trabajo de TFT LCD

TFT es una abreviatura de «Thin Film Transistor». Tiene transistores hechos de películas delgadas de silicio amorfo. Sirve como válvula de control para proporcionar un voltaje adecuado a los cristales líquidos para subpíxeles individuales. El principio de funcionamiento es muy simple: la pantalla LCD TFT se compone de muchos píxeles que pueden emitir luz de cualquier color. La imagen deseada se logra controlando cada píxel para mostrar el color correspondiente. En TFT LCD, generalmente se utiliza la tecnología de retroiluminación. Para controlar con precisión el color y el brillo de cada píxel, es necesario instalar un interruptor similar a un obturador después de cada píxel. Cuando se abren las “persianas”, la luz puede pasar a través de ellas. Cuando las persianas están cerradas, la luz no puede pasar a través de ellas.

Lo que necesitamos

Como de costumbre, sugiero agregar desde ahora a su carrito de compras de comercio electrónico favorito todo el hardware necesario, para que al final pueda evaluar los costos generales y decidir si continúa con el proyecto o los elimina del carrito de compras. Entonces, el hardware será solo:

Consulta precios de hardware en los siguientes enlaces:

Procedimiento paso a paso

Diagrama de cableado de 1.8 TFT LCD con Arduino

La pantalla TFT se comunica con el Arduino a través de la comunicación SPI. Para conectar el 1.8 TFT LCD con Arduino necesitamos:

  • Conectar tierra a tierra
  • Conecte el pin VCC al pin Arduino 5v
  • Conecte el pin SCK al pin 13 de Arduino
  • Conecte el pin SDA al pin 11 de Arduino.
  • Conecte el pin RESET al pin 8 de Arduino
  • Conecte el pin A0/DC al pin 9 de Arduino
  • Conecte el pin CS al pin 10 de Arduino
  • Conecte el pin LED a Arduino 3.3V

Diagrama de cableado de TFT LCD con Arduino Uno

Obtenga el código y la Biblioteca TFT

Conecte su PC a Arduino y abra Arduino IDE. Para los primeros pasos, puede consultar el tutorial Conexión de PC con Windows con Arduino. Puede obtener el código .ino y las bibliotecas desde mi área de descarga con el siguiente enlace:

tft_code.ino

También necesita instalar las siguientes bibliotecas, de acuerdo con mi tutorial Instalar bibliotecas de Arduino: métodos para agregar bibliotecas con el IDE de Arduino.

Adición de TFT LCD por el administrador de la biblioteca Arduino

tft_code.ino Explicación

Sección 1:

Esta es la sección antes de la configuración que se usa para definir variables de globo y adiciones de bibliotecas. TFT.h es la biblioteca para TFT LCD Display y se usa para escribir y dibujar en la pantalla. La pantalla TFT se comunica con el Arduino a través de la comunicación SPI, por lo que debe incluir la biblioteca SPI.

#include <TFT.h>   #include <SPI.h> #define cs   10 #define dc   9 #define rst  8 TFT TFTscreen = TFT(cs, dc, rst);

Sección 2:

Esta es la sección de configuración en la que se inicializa Serial.begin(9600). TFTscreen.begin() se usa para inicializar la biblioteca. TFTscreen.background(0, 0, 0) se usa para personalizar el color de fondo de la pantalla aquí. TFTscreen.background(0, 0, 0) significa que el color de fondo es negro. TFTscreen.setTextSize(2) se utiliza para establecer el tamaño de fuente.

void setup()  {   Serial.begin(9600);     TFTscreen.begin();   TFTscreen.background(0, 0, 0);   TFTscreen.setTextSize(2); }

Seccion 3;

En la sección de bucle primero, imprimiremos el mensaje “Hi_peppe8o!” en el centro de la pantalla LCD y estará en tres colores diferentes (Rojo, Verde, Azul) puede elegir cualquier color usando los diferentes códigos de color. Después de 300 milisegundos se mostrará una línea recta, después de 300 milisegundos se mostrará un cuadrado, después de 300 milisegundos se mostrará un círculo, y después de 300 milisegundos la pantalla se volverá negra/borrará y todas estas formas y el texto se repetirán en el bucle vacío.

void loop()  {   int redRandom = random(0, 255);   int greenRandom = random (0, 255);   int blueRandom = random (0, 255);      TFTscreen.stroke(redRandom, greenRandom, blueRandom);   TFTscreen.text("Hi_peppe8o!", 6, 57);   delay(300);    //erase all    TFTscreen.background(0,0,0);   delay(300); }

Resultados

La pantalla LCD muestra el texto «Hi_peppe80» y luego muestra la línea, el cuadrado y el círculo y luego borra todo después de completar esta secuencia. El comando utilizado para borrar todos los datos es TFTscreen.background(0,0,0):

Pantalla LCD TFT