1,8 Zoll TFT am ESP-32 Dev Kit C betreiben - AZ-Delivery

Hola y bienvenidos a nuestro Post de hoy.

 

Nuestro económico hotel de 1,8 Pulgadas SPI, Pantalla TFT permite que la Información de Color con una Resolución de 128 x 160 Píxeles de representar.

Gracias a la Interfaz SPI, y el ST7735 Controllerchip, y la Variedad de Bibliotecas Arduino es la Implementación de sus propios Proyectos muy fácil.

También el Microcontrolador con ESP 32 el TFT Pantalla a través de SPI a la ligera. Para ello se necesita, sin embargo, una Biblioteca personalizada.

La Instalación de la Biblioteca resulta bastante fácil, sin embargo, debe ser uno de Archivos de la Mano de ajustarse para que con el ESP-32 funciona.

Como el ESP-32 sobre el Arduino Boardverwalter instalar, tenemos ya en el Artículo "ESP32 sobre el Boardverwalter instalar demostrado. Así que nos vamos a suponer que el actual Boarddefinitionen para el ESP-32 ya están instalados.

Instalación de la Biblioteca

Para acceder a la Pantalla fuese, vamos a utilizar la Biblioteca "TFT_eSPI" de Bodmer. Esta Biblioteca no forma Parte de la instalación básica de Arduino, puede, sin embargo, en pocos Pasos a través de los Bibliotheksverwalter en el IDE de Arduino Instalado.

Desde el Menú "Sketch" -> "Biblioteca incorporar" -> "administrar Bibliotecas ..." vamos a abrir el Bibliotheksverwalter. Como alternativa, puede utilizar la combinación de Teclas "Ctrl"+ "Shift" + "i" de usar.

 Bibltiotheksverwalter abrir

 

En el cuadro de Búsqueda de la Bibliotheksverwalters le damos a "TFT_eSPI" y "instalarTFT_eSPI by Bodmer" en la Versión actual.

la Instalación a través de la gestión de la biblioteca

Los Ajustes necesarios

Para que la Biblioteca de nuestro ESP-32 funciona, tenemos un Archivo manualmente. Este Cambio, debemos de una vez por realizar.

Para ello nos vamos al Administrador de archivos en el Directorio C:\Users\<nombre de Usuario>\Documents\Arduino\libraries\TFT_eSPI y abrir el Archivo User_Setup.h en un Editor de texto como el Bloc de notas.

 

de la Imagen desde la Carpeta en el Gestor de archivos

Con un clic Derecho sobre el Archivo, abrir el Menú contextual y seleccione la Opción de "abrir con..." y, a continuación, como un Programa "Bloc de notas".

En la User_Setup.h Archivo con una amplia Variedad de Opciones de configuración que ofrece.

Un "//" al Principio de la línea es un Comentario. Es decir, todas las Filas innecesarias comentada, y en las principales Filas de los "//" al Principio de la línea se eliminan.

Tengo este Trabajo ya hecho, por lo que el Contenido de la User_Setup.h con el siguiente Código, reemplace:

 

 

// USER DEFINED SETTINGS
// Set driver type, fuentes to be loaded, pins used and SPI método de control, etc
//
// See the User_Setup_Select.h file if you wish to be able to define multiple
// instalación easily and then select which setup file is used by the compilador.
//
// If this file is edited correctly then all the library example bocetos de should
// run without the need to make any more changes for a particular hardware setup!
// Note that some sketches are designed for a particular TFT píxeles width/height


// ##################################################################################
//
// Section 1. Call up the right driver file and any options for it
//
// ##################################################################################

// Only define one driver, the other ones must be commented out
//#define ILI9341_DRIVER
#define ST7735_DRIVER      // Define additional parámetro below for this display
//#define ILI9163_DRIVER // Define additional parámetro below for this display
//#define S6D02A1_DRIVER
//#define RPI_ILI9486_DRIVER // 20MHz máximo SPI
//#define HX8357D_DRIVER
//#define ILI9481_DRIVER
//#define ILI9486_DRIVER
// # define ILI9488_DRIVER // ADVERTENCIA: No conecte SDI de pantalla ILI9488 a MISO si otros dispositivos comparten el bus SPI (TFT SDO NO se trista cuando CS es alto)
// # define ST7789_DRIVER // Define parámetros adicionales a continuación para esta pantalla
// # define R61581_DRIVER

// Algunas pantallas admiten lecturas SPI a través del pin MISO, otras pantallas tienen un solo
// pin SDA bidireccional y la biblioteca intentará leer esto a través de la línea MOSI.
// Para usar la línea SDA para leer datos del TFT, descomente la siguiente línea:

// #define TFT_SDA_READ // Esta opción solo para ESP32, probada solo con pantalla ST7789

// SOLO para ST7789, defina el orden de color SI el azul y el rojo se intercambian en su pantalla
// Pruebe UNA opción a la vez para encontrar el orden de color correcto para su pantalla

// #define TFT_RGB_ORDER TFT_RGB // Orden de color Rojo-Verde-Azul
// #define TFT_RGB_ORDER TFT_BGR // Orden de color Azul-Verde-Rojo

// Solo para el módulo M5Stack ESP32 con pantalla ILI9341 integrada, elimine // en la línea a continuación

// #define M5STACK

// SOLO para ST7789, ST7735 e ILI9163, defina el ancho y la altura de los píxeles en orientación vertical
// #define TFT_WIDTH 80
 #definir TFT_WIDTH  128
// #define TFT_WIDTH 240 // ST7789 240 x 240 y 240 x 320
 #definir TFT_HEIGHT 160
// #define TFT_HEIGHT 128
// #define TFT_HEIGHT 240 // ST7789 240 x 240
// #define TFT_HEIGHT 320 // ST7789 240 x 320

// SOLO para ST7735, defina el tipo de visualización, originalmente esto se basó en
// color de la pestaña en la película protectora de pantalla, pero esto no siempre es cierto, así que intente
// las diferentes opciones a continuación si la pantalla no muestra los gráficos correctamente,
// p.ej. colores incorrectos, imágenes especulares o píxeles de bandeja en los bordes.
// Comente TODO PERO UNA de estas opciones para un controlador de pantalla ST7735, guarde esto
// este archivo User_Setup, luego reconstruye y sube el boceto al tablero nuevamente:

// #define ST7735_INITB
// #define ST7735_GREENTAB
// #define ST7735_GREENTAB2
// #define ST7735_GREENTAB3
// #define ST7735_GREENTAB128 // Para pantallas de 128 x 128
// #define ST7735_GREENTAB160x80 // Para pantallas de 160 x 80 (BGR, invertido, 26 offset)
 #definir ST7735_REDTAB
// #define ST7735_BLACKTAB
// #define ST7735_REDTAB160x80 // Para pantallas de 160 x 80 con desplazamiento de 24 píxeles

// Si los colores están invertidos (el blanco se muestra como negro), elimine el comentario de uno de los siguientes
// 2 líneas prueban ambas opciones, una de las opciones debe corregir la inversión.

// #define TFT_INVERSION_ON
// #define TFT_INVERSION_OFF

// Si hay disponible una señal de control de luz de fondo, defina el pin TFT_BL en la Sección 2
// abajo. La luz de fondo se encenderá cuando se llame a tft.begin (), pero la biblioteca
// necesita saber si los LED están ENCENDIDOS con el pin ALTO o BAJO. Si los LED van a ser
// accionado con una señal PWM o apagado / encendido, esto debe ser manejado por el usuario
// bosquejo. p.ej. con digitalWrite (TFT_BL, LOW);

// #define TFT_BACKLIGHT_ON HIGH // HIGH o LOW son opciones

// ##################################################################################
//
// Sección 2. Defina los pines que se utilizan para interactuar con la pantalla aquí
//
// ##################################################################################

// Debemos usar SPI de hardware, se necesita un mínimo de 3 pines GPIO.
// La configuración típica para ESP8266 NodeMCU ESP-12 es:
//
// Mostrar SDO / MISO al NodeMCU pin D6 (o dejar desconectado si no está leyendo TFT)
// Display LED a NodeMCU pin VIN (o 5V, ver más abajo)
// Mostrar SCK a NodeMCU pin D5
// Mostrar SDI / MOSI a NodeMCU pin D7
// Mostrar DC (RS / AO) al NodeMCU pin D3
// Mostrar RESET al NodeMCU pin D4 (o RST, ver más abajo)
// Mostrar CS a NodeMCU pin D8 (o GND, ver más abajo)
// Mostrar GND a NodeMCU pin GND (0V)
// Mostrar VCC a NodeMCU 5V o 3.3V
//
// El pin TFT RESET se puede conectar al pin NodeMCU RST o 3.3V para liberar un pin de control
//
// El pin DC (comando de datos) puede estar etiquetado como AO o RS (selección de registro)
//
// Con algunas pantallas como el ILI9341, el pin TFT CS se puede conectar a GND si no hay más
// Los dispositivos SPI (por ejemplo, una tarjeta SD) están conectados, en este caso comente el #define TFT_CS
// línea debajo para que NO esté definido. Otras pantallas como la ST7735 requieren el pin TFT CS
// para alternar durante la configuración, por lo que en estos casos la línea TFT_CS debe estar definida y conectada.
//
// El pin NodeMCU D0 se puede usar para RST
//
//
// Nota: solo algunas versiones de NodeMCU proporcionan el USB 5V en el pin VIN
// Si 5V no está disponible en un pin, puede usar 3.3V pero brillo de luz de fondo
// será más bajo.


// ###### EDITE LOS NÚMEROS DE PIN EN LAS LÍNEAS SIGUIENTES PARA ADAPTAR SU CONFIGURACIÓN ESP8266 ######

// Para NodeMCU: use números de pin en la forma PIN_Dx donde Dx es la designación de pin de NodeMCU
// # define TFT_CS PIN_D8 // Pin de control de selección de chip D8
// # define TFT_DC PIN_D3 // Pin de control del comando de datos
// # define TFT_RST PIN_D4 // Restablecer pin (podría conectarse a NodeMCU RST, ver la siguiente línea)
// # define TFT_RST -1 // Establece TFT_RST en -1 si la pantalla RESET está conectada a NodeMCU RST o 3.3V

// # define TFT_BL PIN_D1 // Luz de fondo LED (solo para ST7789 con pin de control de luz de fondo)

// # define TOUCH_CS PIN_D2 // Pin de selección de chip (T_CS) de la pantalla táctil

// # define TFT_WR PIN_D2 // Escribe estroboscopio solo para Raspberry Pi TFT modificado


// ###### PARA EL MODO SUPERPUESTO ESP8266 EDITE LOS NÚMEROS DE PIN EN LAS SIGUIENTES LÍNEAS ######

// El modo de superposición comparte el bus ESP8266 FLASH SPI con el TFT, por lo que tiene un impacto en el rendimiento
// pero guarda los pines para otras funciones.
// Use NodeMCU SD0 = MISO, SD1 = MOSI, CLK = SCLK para conectarse a TFT en modo de superposición

// En el modo de superposición ESP8266 se debe definir lo siguiente
// # define TFT_SPI_OVERLAP

// En el modo de superposición ESP8266, la selección del chip TFT DEBE conectarse al pin D3
// # define TFT_CS PIN_D3
// # define TFT_DC PIN_D5 // Pin de control del comando de datos
// # define TFT_RST PIN_D4 // Restablecer pin (podría conectarse a NodeMCU RST, ver la siguiente línea)
// # define TFT_RST -1 // Establece TFT_RST en -1 si la pantalla RESET está conectada a NodeMCU RST o 3.3V


// ###### EDITE LOS NÚMEROS DE PIN EN LAS LÍNEAS SIGUIENTES PARA ADAPTARSE A SU CONFIGURACIÓN ESP32 ######

// Para la placa ESP32 Dev (solo probado con la pantalla ILI9341)
// El SPI de hardware se puede asignar a cualquier pin

#definir TFT_MISO 19
// # define TFT_MOSI 23
#definir TFT_SCLK 18
#definir TFT_CS   17// Pin de control de selección de chip
#definir TFT_DC    2  // Pin de control del comando de datos
#definir TFT_RST   14  // Restablecer pin (podría conectarse al pin RST)
// # define TFT_RST -1 // Establece TFT_RST en -1 si la pantalla RESET está conectada a la placa ESP32 RST

// # define TFT_BL 32 // Luz de fondo LED (solo para ST7789 con pin de control de luz de fondo)

// # define TOUCH_CS 21 // Pin de selección de chip (T_CS) de la pantalla táctil

// # define TFT_WR 22 // Escribe estroboscopio solo para Raspberry Pi TFT modificado

// Para el módulo M5Stack, use estas líneas #define
// # define TFT_MISO 19
// # define TFT_MOSI 23
// # define TFT_SCLK 18
// # define TFT_CS 14 // Pin de control de selección de chip
// # define TFT_DC 27 // Pin de control del comando de datos
// # define TFT_RST 33 // Restablecer pin (podría conectarse al pin Arduino RESET)
// # define TFT_BL 32 // Luz de fondo LED (requerida para M5Stack)

// ###### EDITE LOS PINES A CONTINUACIÓN PARA ADAPTARSE A SU CONFIGURACIÓN TFT PARALELA ESP32 ######

// La biblioteca admite TFT paralelas de 8 bits con ESP32, el pin
// la selección a continuación es compatible con las placas ESP32 en formato UNO.
// Las placas Wemos D32 deben modificarse; consulte el diagrama en la carpeta Herramientas.
// ¡Solo se han probado las pantallas basadas en ILI9481 e ILI9341!

// El bus paralelo solo es compatible con ESP32
// Descomente la siguiente línea para usar la interfaz paralela ESP32 en lugar de SPI

// # define ESP32_PARALLEL

// El ESP32 y TFT los pines utilizados para las pruebas son:
// # define TFT_CS 33 // Pin de control de selección de chip (la biblioteca tira permanentemente baja
// # define TFT_DC 15 // Pin de control del comando de datos - debe usar un pin en el rango 0-31
// # define TFT_RST 32 // Restablecer pin, alterna al inicio

// # define TFT_WR 4 // Escribir pin de control estroboscópico - debe usar un pin en el rango 0-31
// # define TFT_RD 2 // Lee el pin de control de luz estroboscópica

// # define TFT_D0 12 // Debe usar pines en el rango 0-31 para el bus de datos
// # define TFT_D1 13 // para que un solo registro escriba establece / borra todos los bits.
// # define TFT_D2 26 // Los pines se pueden asignar al azar, esto no afecta
// # define TFT_D3 25 // Rendimiento de actualización de pantalla TFT.
// # define TFT_D4 17
// # define TFT_D5 16
// # define TFT_D6 27
// # define TFT_D7 14


// ##################################################################################
//
// Sección 3. Defina las fuentes que se utilizarán aquí
//
// ##################################################################################

// Comente los #defines a continuación con // para detener la carga de esa fuente
// El ESP8366 y ESP32 tienen mucha memoria, por lo que comentar las fuentes no es
// normalmente necesario. Si todas las fuentes están cargadas, el espacio FLASH adicional requerido es
// unos 17Kbytes. Para ahorrar espacio FLASH, solo habilite las fuentes que necesita.

#definir LOAD_GLCD   // Fuente 1. La fuente Adafruit original de 8 píxeles necesita ~ 1820 bytes en FLASH
#definir LOAD_FONT2  // Fuente 2. Fuente pequeña de 16 píxeles de alto, necesita ~ 3534 bytes en FLASH, 96 caracteres
#definir LOAD_FONT4  // Fuente 4. Fuente media de 26 píxeles de alto, necesita ~ 5848 bytes en FLASH, 96 caracteres
#definir LOAD_FONT6  // Fuente 6. Fuente grande de 48 píxeles, necesita ~ 2666 bytes en FLASH, solo caracteres 1234567890: -. Apm
#definir LOAD_FONT7  // Fuente 7. Fuente de 48 segmentos de 7 segmentos, necesita ~ 2438 bytes en FLASH, solo caracteres 1234567890: -.
#definir LOAD_FONT8  // Fuente 8. La fuente grande de 75 píxeles necesita ~ 3256 bytes en FLASH, solo caracteres 1234567890: -.
// # define LOAD_FONT8N // Fuente 8. Alternativa a la Fuente 8 anterior, ligeramente más estrecha, por lo que 3 dígitos se ajustan a un TFT de 160 píxeles
#definir LOAD_GFXFF  // FreeFonts. Incluye acceso a las 48 fuentes gratuitas Adafruit_GFX FF1 a FF48 y fuentes personalizadas

// Comente el #definir a continuación para detener el sistema de archivo SPIFFS y cargar el código de fuente uniforme
// esto ahorrará ~ 20kbytes de FLASH
#definir SMOOTH_FONT


// ##################################################################################
//
// Sección 4. Otras opciones
//
// ##################################################################################

// Defina la frecuencia del reloj SPI, esto afecta la velocidad de representación de gráficos. También
// rápido y el controlador TFT no se mantendrá actualizado y aparecerá corrupción.
// Con una pantalla ILI9341 40MHz funciona bien, 80MHz a veces falla
// Con una pantalla ST7735, más de 27MHz puede no funcionar (píxeles y líneas espurios)
// Con una pantalla ILI9163, 27 MHz funciona bien.
// El RPi normalmente solo funciona a 20 MHz como máximo.

// #define SPI_FREQUENCY 1000000
// #define SPI_FREQUENCY 5000000
// #define SPI_FREQUENCY 10000000
// #define SPI_FREQUENCY 20000000
#definir SPI_FREQUENCY  27000000 // Realmente lo establece en 26.67MHz = 80/3
// #define SPI_FREQUENCY 40000000 // Máximo para usar SPIFFS
// #define SPI_FREQUENCY 80000000

// Frecuencia SPI reducida opcional para leer TFT
#definir SPI_READ_FREQUENCY  20000000

// El XPT2046 requiere una frecuencia de reloj SPI más baja de 2.5MHz, así que lo definimos aquí:
#definir SPI_TOUCH_FREQUENCY  2500000

// El ESP32 tiene 2 puertos SPI libres, es decir, VSPI y HSPI, el VSPI es el predeterminado.
// Si el puerto VSPI está en uso y los pines no son accesibles (por ejemplo, TTGO T-Beam)
// luego descomenta la siguiente línea:
// # define USE_HSPI_PORT

// Comente el siguiente #define si "Transacciones SPI" no necesita ser
// soportado. Cuando se comente, el tamaño del código será más pequeño y los bocetos serán
// ¡corre un poco más rápido, así que déjalo comentado a menos que lo necesites!

// El soporte de transacciones es necesario para trabajar con la biblioteca SD pero no con TFT_SdFat
// Se requiere soporte de transacciones si hay otros dispositivos SPI conectados.

// La biblioteca habilita automáticamente las transacciones para un ESP32 (para usar el mutex HAL)
// así que cambiarlo aquí no tiene efecto

// #define SUPPORT_TRANSACTIONS

 

Anschließend müssen wir die Änderungen an der Datei User_Setup.h noch speichern.

Verkabelung des Displays mit dem ESP-32

En la que se está editando un Archivo que se especifica, que el Pin de la Función que asume. Para que esta Configuración funcione, es necesario que la Pantalla de la siguiente manera con el ESP-32:la

Verbindungsplan

 

Beispielsketche probar

En el IDE de Arduino ahora tenemos seguro de que estamos en el Menú "Herramientas" en "Board:" el Módulo "ESP-32 Dev Kit C" seleccionado.

 

Ahora podemos utilizar el Menú "Archivo - > Ejemplos -> "TFT_eSPI" -> "160x128" un Beispielsketch llamar, y sin más Modificación o Configuración en nuestros ESP-32 carga.

Aquí una Foto del Pong_V3.ino Beispielsketches en Acción:

se muestra un Ejemplo de

 

esperamos que el Post de hoy ayuda a la Puesta en marcha del TFT Pantalla en el ESP-32, y Le deseamos mucha Diversión al Reproducciones.

 

Su Markus Neumann
Equipo de AZ-Delivery

 

DisplaysEsp-32Projekte für anfänger

29 comentarios

Rafael Dellà

Rafael Dellà

Sorry for the double post.
I’d need to change TFT type from ST7735_REDTAB to BLACKTAB because red and blue were switched. The tab of my screen protection is green, but green option doesn’t corrects color and insert some ood black box.

Test it with this code:
#include // Graphics and font library for ST7735 driver chip

TFT_eSPI LCD = TFT_eSPI(); // Invoke library, pins defined in User_Setup.h

void setup()
{
randomSeed(analogRead(A0));
// Setup the LCD
LCD.init();
LCD.setRotation(1);
// Clear the screen.
LCD.fillScreen(TFT_BLACK);
}

char cadena100;
#define FPS (25)
#define FPS_MSEC (1000/FPS)
void loop()
{
uint32_t t = millis();
uint32_t tt;
LCD.fillRect(0, 0, TFT_WIDTH – 1, 15, TFT_RED);
LCD.fillRect(0, 16, TFT_WIDTH – 1, 15, TFT_GREEN);
LCD.fillRect(0, 32, TFT_WIDTH – 1, 15, TFT_BLUE);

LCD.setTextColor(TFT_BLACK); LCD.drawString(“Rojo”, 2, 0, 2); LCD.drawString(“Verde”, 2, 15, 2); LCD.drawString(“Azul”, 2, 32, 2); LCD.setTextColor(TFT_WHITE); tt = FPS_MSEC – (millis()-t); if( tt > 0 ) delay(tt); sprintf(cadena, “FPS: %d (delayed %d)”, 1000/(millis()-t), tt); LCD.drawString(cadena, 2, 100, 2);

}

Rafael Dellà

Rafael Dellà

Arduido IDE 2.2.2
TFT_eSPI 2.5.34
It works!

Okin

Okin

…hatte auch so diverse Startprobleme mit D1 Mini ESP32 und 1.8" Display. Die TFT_eSPI Version 2.5.34 (aktuell: Dez 2023) wurde mit Fehlermeldung: missing hal/gpio_II.h abgebrochen. (Toll, wenn innerhalb eines Library Teile fehlen!) Habe die Zeile #include hal/gpio_II.h einfach ausgeklammert. Bekomme nun 2 Warnungen: … TOUCH_CS pin not defined… Mit entsprechend angepasster User_Setup.h (Original wie oben überarbeiten, nicht obige Datei kopieren, funktionier nun zumindest die Textdarstellung (noch nicht weiter getestet…) Vielen Dank an AZ-Delivery! Okin

Tomas Vicente

Tomas Vicente

If arduino compiler shows errors in User_Setup.h like \342
Solution for this, is not paste code directly from web page. Edit it line by line, and works ok. (error is about unicode caracters….)

Andreas Wolter

Andreas Wolter

@Peter Müller: theoretisch sollte es funktionieren. Ich gehe davon aus, dass Ihr Setup sich von dem im Beitrag unterscheidet. Ich vermute genau wie Sie, dass es an den Versionen der Bibliotheken liegt. Sie könnten versuchen, die Version des ESP Cores zu downgraden. Das wäre der Schritt, den ich als erstes probieren würde. In den Kommentaren gibt es außerdem einige Lösungsansätze.

Leider gibt es immer wieder Probleme mit Updates der Bibliotheken.

Grüße,
Andreas Wolter
AZ-Delivery Blog

Peter Müller

Peter Müller

Nach längeren ausprobieren funktioniert nun der Programmiervorgang am ESP32 – Aber nicht mit der aktuellen Board-Verwalter-Version!!! NUR Die ältere Version v.1.0.5 funktioniert – bei anderen Versionen kommen Fehlermeldungen: “lässt sich nicht Kompilierern” oder "Fehler beim hochladen. "

Peter Müller

Peter Müller

Seit einer Woche versuche ich ALLES , aber das Display läuft NICHT am ESP32 – Ich Bitte um eine Funktionierende
Anleitung – Vermutlich geht es nur mit einer älteren Software-Version der Bibliothek???

Vielen Dank im Vorraus

Mario Neubert

Mario Neubert

Hallo,
und danke erstmal für die ausführlichen Artikel und die interessanten Kommentare hier.
Ich habe das 1,8 Zoll TFT am “ESP-32 Dev Kit C v4” wie im Artikel beschrieben mit TFT_CS 17 zum laufen bekommen.
Ich habe dazu aber eine Verständnisfrage:

Laut Datenblatt ist der VSPI_SS, was meinem Verständnis nach TFT_CS entspricht, an GPIO5.
Dort funktioniert er aber nicht. Warum? Hat das etwas mit den “Strapping Pins” zu tun?

Andreas Wolter

Andreas Wolter

Zur Info: Wir haben das Projekt aktualisiert und auf den neusten Stand gebracht. Die User_Setup.h sieht mittlerweile ein wenig anders aus und der libraries Ordner befindet sich an einer anderen Stelle.

Grüße,
Andreas Wolter
AZ-Delivery Blog

Uwe B

Uwe B

Hallo,
ich hatte bereits das TFT am Laufen. Nun wollte ich am Projekt weiter machen. Als erstes bekam ich beim Compilieren die Info, das TFT_eSPI unbekannt wäre. Ich habe daher ein Update der Bibliothek durchgeführt und die User_Setup.h angepasst. Trotzdem funktioniert das Display nicht mehr.
Mit der alten SW im Speicher lief das Ganze noch.
Wo kann das Problem liegen?
Danke im Voraus.

Thomas

Thomas

Hallo,
wie wird denn die integrierte SD Card Reader am esp32s verbunden? Gibt es da auch ein Anschluss-Schema?
Danke

Donboy

Donboy

An einem ESP32 DEV KIT /38 PIN! (Bitte hier auf die Ausführung achten) funktioniert das Display wie folgt:

#include
#include
#include
// TFT_LED // 3.3V +
// TFT_SCK // GPIO 18
#define TFT_DC 2 // GPIO 02 // (A0)
#define TFT_RST 14 // GPIO 14
#define TFT_CS 17 // GPIO 17
// TFT_GND // GND
// TFT_VCC // 3.3V +

Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_RST);

void setup() {
tft.initR(INITR_BLACKTAB);
tft.fillScreen(ST77XX_BLACK);
tft.setCursor(2,65);
tft.print(“YEAHH!”);
}
void loop(){}

Man kann es also dierkt am ESP ohne 5V betreiben! Bei den Adafruit Bibliotheken kann es zu Compile Problemen kommen → hier einfach ältere Versionen über den Bibliotheksverwalter ausprobieren (mit meiner IDE funktioniert Vers 1.7.5 bestens, die aktuelle 1.10.10 NICHT!) Sonst braucht man keine Änderungen in irgendwelchen Quell-Codes !
P.S. Nicht aufgeben, hab für die Lösung mehr intensiv mehr als eine Woche gebraucht.

tonbor

tonbor

#define TFT_MOSI 23 // (SDA)
#define TFT_SCLK 18
#define TFT_CS 17 // Chip select control pin
#define TFT_DC 2 // Data Command control pin (Ao)
#define TFT_RST 14 // Reset pin (could connect to RST pin)
is working ok

Francesco Scognamiglio

Francesco Scognamiglio

Leider können Sie das Display nicht dazu bringen, mit Esp32 zu arbeiten. Es wurden zahlreiche Pins-Links in User Setup ausprobiert, aber keines der Beispiele in der Bibliothek funktioniert. Wenn jemand, dessen Display 1.8 ST7735 oder ein anderes Display, das mit ESP 32 verbunden ist, mit der TFT_eSPI Bibliothek gearbeitet hat, können Sie Details zum verwendeten Benutzer-Setup angeben?

Jörg

Jörg

Hallo,
heute wurde die TFT eSPI Library aktualisiert.
leider funktioniert diese User_Setup.h jetzt bei mir nicht mehr.
Arduino IDE zeigt Probleme mit dem ESP32 Board an. (vor dem Update hat es fonktioniert).
Darauf hin habe ich die neue User_Setup.h nach Eurem Muster agepasst.
Der wichtigste Abschnitt:
// ###### EDIT THE PIN NUMBERS IN THE LINES FOLLOWING TO SUIT YOUR ESP32 SETUP ######

// For ESP32 Dev board (only tested with ILI9341 display)
// The hardware SPI can be mapped to any pins

//#define TFT_MISO 19
#define TFT_MOSI 23 // (SDA)
#define TFT_SCLK 18
#define TFT_CS 15 // Chip select control pin
#define TFT_DC 2 // Data Command control pin (Ao)
#define TFT_RST 4 // Reset pin (could connect to RST pin)
//#define TFT_RST -1 // Set TFT_RST to -1 if display RESET is connected to ESP32 board RST
_______________________________________

Die Pinbelegung habe ich aus dem Original übernommen und die Verdrahtung angepasst.
Dadurch ist der GPIO 17 am ESP32 frei und ich kann ihn für die serielle Schnittstell: U2 RX / U2 TX
verwenden.

Jason

Jason

Pourriez vus partager un User_setup.h fonctionnel pour cette article svp?

Merci

Martin

Martin

Hallo,
kämpfe schon länger mit dem TFT, jetzt aktuell mal wieder, habe PlatformIO im Einsatz, das Display wie folgt angebunden (anpassung in User_Setup.h erfolgt):
23 MOSI (SPI)
19 MISO (SPI)
18 SCK (SPI)
17 CS (CS-TFT)
2 A0 (DC?)
16 RESET (RST)
aber kein Beispiel geht, entweder es wirf Fehler beim übersetzen oder wenn es Übersetzt, geht nix an dem TFT, ausser die Hintergrundbeleuchtung.

Michael Panzer

Michael Panzer

Kann man die Helligkeit der Hintergrundbeleuchtung ändern? Es strahlt ziemlich hell im dunkeln.
Kann man das Display per Code an- und abschalten? Bei Nichtbenutzung möchte ich, das das Display aus geht und erst bei Bedarf wieder angeht.
Danke für ein paar Tips

Bernd Albrecht

Bernd Albrecht

Mit ihrem Kommentar bzw. ihrer Frage hat Luise Früh ins Schwarze getroffen. Hier ist offensichtlich etwas vertauscht worden. Bitte wie im eBook beschrieben den LED-Pin des Displays an 3,3 V anschließen.

Luise Früh

Luise Früh

Ist das korrekt, dass VCC an 3,3V und LED an 5V angeschlossen werden sollen? Im Datenblatt des Displays steht das nämlich genau andersherum.

Georg Wolf

Georg Wolf

Ein wenig schlauer wird man über die Befehle wenn man sich die TFT_eSPI.h anschaut.

Walter Goegebeur

Walter Goegebeur

Bei mir hat es funktioniert mit folgenden Änderungen :

GND nicht links in der Mitte, sondern rechts oben am ESP
in der User_Setup.h die Zeile mit MISO zu Kommentar machen, und die Zeile mit MOSI aktivieren.

Als Board habe ich das ESP32 Dev Module ( erster aus der Liste )

Viel Erfolg

Rupp Johann

Rupp Johann

Hallo ,
Die Treibersoftware für den ESP32 mit dem TFT displayST7735 https://github.com/Bodmer/TFT_eSPI Iässt ein download nicht zu .
Danke für ihre Bemühungen

Dirk Bächer

Dirk Bächer

Hallo,
leider funktioniert das bei mir nicht.
Alle Beispielsketche werfen diverse Fehler aus.

Hier der Pong Sketch

Arduino: 1.8.10 (Windows 10), Board: “ESP32 Dev Module, Disabled, Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS), 240MHz (WiFi/BT), QIO, 80MHz, 4MB (32Mb), 921600, None”

In file included from C:\Users\dbaec\Documents\Arduino\libraries\TFT_eSPI/User_Setup_Select.h:22:0,

from C:\Users\dbaec\Documents\Arduino\libraries\TFT_eSPI/TFT_eSPI.h:24, from C:\Users\dbaec\Documents\Arduino\libraries\TFT_eSPI\examples\160 × 128\Pong_v3\Pong_v3.ino:11:

C:\Users\dbaec\Documents\Arduino\libraries\TFT_eSPI/User_Setup.h:163:16: error: token “�” is not valid in preprocessor expressions

#define TFT_DC    2  // Data Command control pin ^

C:\Users\dbaec\Documents\Arduino\libraries\TFT_eSPI/TFT_eSPI.h:131:29: note: in expansion of macro ‘TFT_DC’

#if defined (ESP8266) && (TFT_DC == 16) ^

C:\Users\dbaec\Documents\Arduino\libraries\TFT_eSPI/User_Setup.h:163:16: error: token “�” is not valid in preprocessor expressions

#define TFT_DC    2  // Data Command control pin ^

C:\Users\dbaec\Documents\Arduino\libraries\TFT_eSPI/TFT_eSPI.h:140:11: note: in expansion of macro ‘TFT_DC’

#if TFT_DC >= 32 ^

C:\Users\dbaec\Documents\Arduino\libraries\TFT_eSPI/User_Setup.h:163:16: error: token “�” is not valid in preprocessor expressions

#define TFT_DC    2  // Data Command control pin ^

C:\Users\dbaec\Documents\Arduino\libraries\TFT_eSPI/TFT_eSPI.h:151:13: note: in expansion of macro ‘TFT_DC’

#if TFT_DC >= 0 ^

C:\Users\dbaec\Documents\Arduino\libraries\TFT_eSPI/User_Setup.h:162:16: error: token “�” is not valid in preprocessor expressions

#define TFT_CS   17// Chip select control pin ^

C:\Users\dbaec\Documents\Arduino\libraries\TFT_eSPI/TFT_eSPI.h:188:29: note: in expansion of macro ‘TFT_CS’

#if defined (ESP8266) && (TFT_CS == 16) ^

C:\Users\dbaec\Documents\Arduino\libraries\TFT_eSPI/User_Setup.h:162:16: error: token “�” is not valid in preprocessor expressions

#define TFT_CS   17// Chip select control pin ^

C:\Users\dbaec\Documents\Arduino\libraries\TFT_eSPI/TFT_eSPI.h:196:11: note: in expansion of macro ‘TFT_CS’

#if TFT_CS >= 32 ^

C:\Users\dbaec\Documents\Arduino\libraries\TFT_eSPI/User_Setup.h:162:16: error: token “�” is not valid in preprocessor expressions

#define TFT_CS   17// Chip select control pin ^

C:\Users\dbaec\Documents\Arduino\libraries\TFT_eSPI/TFT_eSPI.h:207:13: note: in expansion of macro ‘TFT_CS’

#if TFT_CS >= 0 ^

C:\Users\dbaec\Documents\Arduino\libraries\TFT_eSPI/User_Setup.h:162:16: error: token “�” is not valid in preprocessor expressions

#define TFT_CS   17// Chip select control pin ^

C:\Users\dbaec\Documents\Arduino\libraries\TFT_eSPI/TFT_eSPI.h:230:10: note: in expansion of macro ‘TFT_CS’

#if (TFT_CS >= 0) && (TFT_CS < 32) && (TFT_DC >= 0) && (TFT_DC < 32) ^

Mehrere Bibliotheken wurden für “TFT_eSPI.h” gefunden
Benutzt: C:\Users\dbaec\Documents\Arduino\libraries\TFT_eSPI
Nicht benutzt: C:\Users\dbaec\Documents\Arduino\libraries\TFT_eSPI-master
Mehrere Bibliotheken wurden für “SPI.h” gefunden
Benutzt: C:\Users\dbaec\Documents\Arduino\hardware\espressif\esp32\libraries\SPI
Mehrere Bibliotheken wurden für “FS.h” gefunden
Benutzt: C:\Users\dbaec\Documents\Arduino\hardware\espressif\esp32\libraries\FS
Mehrere Bibliotheken wurden für “SPIFFS.h” gefunden
Benutzt: C:\Users\dbaec\Documents\Arduino\hardware\espressif\esp32\libraries\SPIFFS
exit status 1
Fehler beim Kompilieren für das Board ESP32 Dev Module.

Dieser Bericht wäre detaillierter, wenn die Option
“Ausführliche Ausgabe während der Kompilierung”
in Datei → Voreinstellungen aktiviert wäre.

mat-sche

mat-sche

Hi @ ALL,

gibt es eine Beschreibung in der alle Befehle der Bibliothek zur Ansteuerung vom Display beschrieben sind?
Würd mich über einen Link freuen!

Gerd Hofmann

Gerd Hofmann

Bei mir ist ebenfalls wie im Post von MIchael Brüning beschrieben die Darstellung spiegelverkehrt. Ich verwende ebenfalls das ESP 32 Developer Board und das AZ 1.8 Zoll TFT mit 128×160. Als Beispiel habe ich in der Arduino IDE “Datei → Beispiele → TFT_eSPI → 160 × 128 → TFT_Clock” ausgewählt. Kennt jemand zu diesem Problem eine Lösung?

Michael Heber

Michael Heber

Ich habe mir die neueste ESP-Version (1.0.2) heruntergeladen, kann aber weder unter Boards den “ESP-32 Dev Kit C” noch die angegebenen Beispiele finden. Das erste ESP-Board das bei mir angezeigt wird ist das “ESP32 Dev Modul”. Wie kann ich zu einer anderen Board-Bibliothek kommen?

Michael Brüning

Michael Brüning

Bei mir läuft der Uhrzeiger verkehrt herum und die Schrift ist auch gespiegelt und somit nicht lesbar. Ich verwende von heise das ESP 32 Developer Board und das AZ 1.8 Zoll TFT mit 128×160.

flai

flai

Ein schönes Projekt. Leider ist das Display derzeit ausverkauft. Vielen Dank für die angepasste Datei.

Deja un comentario

Todos los comentarios son moderados antes de ser publicados