Después de mucho tiempo, finalmente obtuve la placa de desarrollo ESP32 + la imagen de visualización estática de la pantalla LCD pequeña ILI9431 SPI TFT.
Biblioteca: busque TFT_eSPI en la administración de la biblioteca de Arduino IDE. O descargue manualmente desde GITHUB: https://github.com/Bodmer/TFT_eSPI
El método de cableado se describirá más adelante. Después de una instalación exitosa, vaya a C: \ Users \ <usuario> \ Documentos \ Arduino \ bibliotecas \ TFT_eSPI-master.
修改 User_Setup.h , 注释掉 以下 内容 :
#define TFT_CS PIN_D8 // Pin de control de selección de chip D8
#define TFT_DC PIN_D3 // Pin de control de comando de datos
#define TFT_RST PIN_D4 // Restablecer pin (podría conectarse a NodeMCU RST, ver la siguiente línea)
找到 这句 , 并 反 注释 以下 #define :
// Para la placa ESP32 Dev (solo probado con la pantalla ILI9341)
// El SPI de hardware se puede asignar a cualquier pin
#define TFT_MISO 19
#define TFT_MOSI 23
#define TFT_SCLK 18
#define TFT_CS 15 // Pin de control de selección de chip
#define TFT_DC 2 // Pin de control de comando de datos
#define TFT_RST 4 // Pin de reinicio (podría conectarse al pin RST)
Debes entenderlo cuando veas este párrafo, en realidad es una guía de cableado.
El pin LED se puede conectar a Vcc con una resistencia de aproximadamente 100 ohmios. Si Vcc no es suficiente, también puede encontrar un puerto IO libre (como D13), configúrelo en SALIDA en Configuración y salida ALTA.
Por ejemplo, consulte Genérico-》 TFT_FLASH_BITMAP incluido en la biblioteca.
#include <TFT_eSPI.h> // Biblioteca específica de hardware
TFT_eSPI tft = TFT_eSPI (); // Invocar biblioteca personalizada
#include "Cerrar.h"
cuenta larga = 0; // Recuento de bucles
configuración vacía ()
{
//Serial.begin(115200);
tft.begin ();
tft.setRotation (1); // paisaje
tft.fillScreen (TFT_BLACK);
//
Cambia el orden de los bytes de color al representar tft.setSwapBytes (true);
// Dibuje los iconos
//tft.pushImage(0, 0, infoWidth, infoHeight, info);
tft.pushImage (0,0, closeWidth, closeHeight, closeX);
// ¡Haz una pausa aquí para admirar los íconos!
retraso (2000);
}
El código de la imagen se cambia a Cerrar.h en el ejemplo. Encuentre una imagen que le guste y use la herramienta de módulo para generar código C (uso ImageConverter565), similar a:
#include <pgmspace.h>
// Ancho y alto del
icono const uint16_t closeWidth = 156;
const uint16_t closeHeight = 153;
const unsigned short closeX [0x5D3C] PROGMEM = {
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
0xFFFF, 0xFFFF 0xFFDF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFDF, 0xFFFF, 0xF79E, 0xFFFF, 0xFFDF, 0xFFFF, 0xFFFF, 0xFFDF, 0xF79E, // 0x0020 (32)
0xFFDF, 0xFFFF, 0xEF5D, 0xF79E, 0xFFFF, 0xF7BE, 0xFFDF, 0xFFFF, 0xFFFF, 0xFFFF, 0xF79E, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, // 0x0030 (48)
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0FFx, 0FFx, 0FF, 0FFx 0xFFFF, 0xFFFF, 0xFFFF, // 0x0040 (64)
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0xFF, 0xFF
.... ligeramente ignorado
};
El efecto es este: