Objetivos
- probar el display desde un nodemcu y visualizar diferentes mensajes e imágenes
Material requerido
Repasemos funcionamientos
Para comenzar vamos a poner el enlace a la entrada donde se explican algunos conceptos para programar un NODEMCU.
Esquema.
El esquema del circuito del proyecto se muestra a continuación.
El módulo TFT ST7789 que se muestra en el esquema de circuito tiene 7 pines: (de derecha a izquierda):
- GND (tierra),
- VCC,
- SCL (reloj en serie),
- SDA (datos en serie),
- RES (restablecimiento),
- DC (o D/C : datos/comando)
- BLK (luz de fondo).
- La conexión del pin BLK es opcional. La luz de fondo se apaga cuando el pin BLK se conecta a tierra (GND).
El módulo de pantalla TFT ST7789 está conectado a la placa NodeMCU de la siguiente manera:
- GND está conectado al pin GND de la placa NodeMCU,
- VCC y BL están conectados al pin 3V3,
- El pin SCL está conectado a D5 (ESP8266EX GPIO14),
- El pin SDA está conectado a D7 (ESP8266EX GPIO13),
- El pin RES está conectado a D2 (ESP8266EX GPIO4),
- El pin de CC está conectado a D1 (ESP8266EX GPIO5).
Si el módulo de visualización tiene un pin CS (selección de chip), debe conectarse al pin D8 de NodeMCU (GPIO15).
Los pines D5 (GPIO14) y D7 (GPIO13) son pines del módulo SPI de hardware del microcontrolador ESP8266EX respectivamente para SCK (reloj en serie) y MOSI (salida maestra-esclavo).
El programa de control
El siguiente código requiere dos bibliotecas de Adafruit Industries:
- La primera biblioteca es un controlador para la pantalla TFT ST7789 que se puede instalar desde el administrador de bibliotecas IDE de Arduino (Sketch -> Incluir biblioteca -> Administrar bibliotecas…, en el cuadro de búsqueda escriba «st7789» e instale el de Adafruit).
- La segunda biblioteca es la biblioteca de gráficos Adafruit que también se puede instalar desde el administrador de la biblioteca Arduino IDE.
Las 2 bibliotecas estarán incluidas en el código principal.
#include <Adafruit_GFX.h> // Biblioteca de gráficos central
#include <Adafruit_ST7789.h> // Biblioteca específica de hardware para ST7789
Las conexiones de los pines del módulo ST7789 TFT (CS, RST y DC) se definen como se muestra a continuación:
// Conexiones del módulo TFT ST7789
#define TFT_DC D1 // El pin TFT DC está conectado al pin NodeMCU D1 (GPIO5)
#define TFT_RST D2 // El pin TFT RST está conectado al pin NodeMCU D2 (GPIO4)
#define TFT_CS D8 // El pin TFT CS está conectado al pin NodeMCU D8 (GPIO15)
Los otros pines de pantalla (SDA y SCL) están conectados a los pines SPI del hardware NodeMCU (respectivamente D7 y D5).
La biblioteca Adafruit ST7789 se inicializa con esta línea:
// Inicializar la biblioteca Adafruit ST7789 TFT
Adafruit_ST7789 tft = Adafruit_ST7789(TFT_CS, TFT_DC, TFT_RST);
Y la pantalla TFT se inicializa con el siguiente comando:
// si la pantalla tiene un pin CS, intente con SPI_MODE0
tft.init(240, 240, SPI_MODE2); // Pantalla de inicio ST7789 240×240 píxeles
Es posible que la pantalla no funcione si tiene un pin CS, intente con SPI_MODE0, que es el modo predeterminado de la biblioteca, o simplemente use: tft.init (240, 240);
El resto del código se describe a través de comentarios.
Sigue leyendo →