LCD TFT 1.8″ comunicación SPI
LCD TFT 1.8″ comunicación SPI
El siguiente tutorial fue realizado para mostrar la funcionalidad de la pantalla LCD TFT 1.8” donde utilizaremos distintas librerías que son necesarias para establecer la comunicación y mostrar ya sea algún mensaje o valores obtenidos de alguna lectura. Esta pantalla TFT es de gran ayuda al trabajar ya que te ayuda a obtener un buen resultado puesto que la opción de tener gráficos de color es de gran ayuda.
La pantalla LCD TFT 1.8” se comunica por el puerto serie SPI, se alimenta de un voltaje máximo de 5V, su resolución es de 128*160, su forma de usar es muy fácil ya que cuenta pocos pines de comunicación, les damos una breve explicación de los pines de la pantalla LCD TFT 1.8”
- LED: Pin que ilumina la LCD
- SCK: Pin que recibe la señal por parte del microcontrolador.
- SDA: Pin de entrada de datos del microcontrolador a la LCD.
- A0: Pin comando/dato.
- RESET: Señal de reset.
- CS: Es la señal que activa el controlador de la pantalla.
- GND: Señal de tierra.
- VCC: Voltaje de alimentación
Para poder trabajar con ella debemos tener las siguientes librerías las cuales pueden descargar directamente de aquí: GFX y ST7735, estas librerías las debemos cargar a nuestro IDE de Arduino.
Material necesario:
El ejemplo que haremos será utilizar los comandos que se pueden usar en esta pantalla LCD TFT 1.8” para mostrar solo texto y se pueda apreciar las propiedades como su tamaño, orientación, posición y color, mencionamos que también es posible cambiar el color de fondo de la pantalla LCD TFT y mostrar distintas figuras ya sean líneas o cuadros entre otras solo basta con realizar combinaciones entre comandos y secuencia de pasos.
Tabla conexión entre Arduino y TFT
A continuación les mostramos una tabla de conexión entre Arduino y la pantalla LCD TFT 1.8”

Diagrama entre Arduino y TFT
La siguiente imagen muestra la conexión entre Arduino y Pantalla LCD TFT 1.8”

Código para Arduino y TFT
Una vez realizado nuestras conexiones proseguimos con una breve explicación de las líneas de código para finalizar con el código completo listo para mostrar texto en distintas posiciones, colores, tamaño y orientación gracias a las librerías que utilizamos con la pantalla LCD TFT 1.8”. Es importante mencionar que tenemos acceso a distintos ejemplos con las librerías.
La siguiente linea nos permite utilizar los comandos necesarios en el resto del programa.
[code language=»cpp»]</pre>
Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_RST); // Comandos utilizados
<pre>[/code]
Estas primeras cuatro líneas nos ayudan a establecer el color de fondo, orientación, posición de texto.
[code language=»cpp»]
// secuencia de texto que muestra
tft.setTextWrap(false);
tft.fillScreen(ST7735_BLACK); // Fondo negro
tft.setRotation(2); // Rotación orientación
tft.setCursor(10, 0); // Escribe en la posicion del cursor
[/code]
Con las siguientes líneas establecemos su color, tamaño y el texto a mostrar.
[code language=»cpp»]
tft.setTextColor(ST7735_RED); //Color de texto
tft.setTextSize(3.5); // Tamaño texto
tft.println("HETPRO"); // Texto a mostrar
[/code]
Se agrego una serie de comandos para que notifique al usuario que la pantalla LCD TFT esta por iniciar y lo muestra por el monitor serial.
[code language=»cpp»]
Serial.begin(9600);
Serial.println("Tutorial TFT 1.8 HETPRO");
tft.initR(INITR_BLACKTAB); // Iniciando chip
Serial.println("INICIANDO");
uint16_t time = millis();
tft.fillScreen(ST7735_GREEN);//PRIMER COLOR EN PANTALLA PARA INICIAR
time = millis() – time; // tiempor en el que tarda en iluminar
Serial.println(time, DEC);
delay(500);
Serial.println("Hecho");
delay(1000);
[/code]
Para finalizar mostramos el código completo y las imágenes de resultado al aplicar estos comandos en la pantalla LCD TFT 1.8”
[code language=»cpp»]
#include <Adafruit_GFX.h> // Librería graficos
#include <Adafruit_ST7735.h> // Librería Hardware
#include <SPI.h>
#define TFT_CS 10
#define TFT_RST 9 // Reset
#define TFT_DC 8
Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_RST); // Comandos utilizados
#define TFT_SCLK 13 // SCLK
#define TFT_MOSI 11 // MOST
void setup(void) {
Serial.begin(9600);
Serial.println("Tutorial TFT 1.8 HETPRO");
tft.initR(INITR_BLACKTAB); // Iniciando chip
Serial.println("INICIANDO");
uint16_t time = millis();
tft.fillScreen(ST7735_GREEN);//PRIMER COLOR EN PANTALLA PARA INICIAR
time = millis() – time; // tiempor en el que tarda en iluminar
Serial.println(time, DEC);
delay(500);
Serial.println("Hecho");
delay(1000);
}
void loop()
{
// secuencia de texto que muestra
tft.setTextWrap(false);
tft.fillScreen(ST7735_BLACK); // Fondo negro
tft.setRotation(2); // Rotación orientación
tft.setCursor(10, 0); // Escribe en la posicion del cursor
tft.setTextColor(ST7735_RED); //Color de texto
tft.setTextSize(3.5); // Tamaño texto
tft.println("HETPRO"); // Texto a mostrar
tft.setTextColor(ST7735_YELLOW);
tft.setTextSize(2);
tft.println("HETPRO");
tft.setTextColor(ST7735_GREEN);
tft.setTextSize(3);
tft.println("HETPRO");
tft.setTextColor(ST7735_BLUE);
tft.setTextSize(3.5);
tft.println("HETPRO");
delay(1500);
tft.setTextWrap(false);
tft.fillScreen(ST7735_GREEN); // Fondo negro
tft.setRotation(3); // Rotación orientación
tft.setCursor(30, 0); // Escribe en la posicion del cursor
tft.setTextColor(ST7735_GREEN);
tft.setTextSize(3);
tft.println("HETPRO");
tft.setTextColor(ST7735_BLUE);
tft.setTextSize(4);
tft.println("HETPRO");
delay(1500);
tft.setTextWrap(false);
tft.fillScreen(ST7735_WHITE);
tft.setCursor(3, 8);
tft.setTextColor(ST7735_GREEN);
tft.setRotation(4); // Rotación orientación
tft.setTextSize(3); // Tamaño texto
tft.print("HETPRO");
delay(1500);
}
[/code]



