ESP32 TTGO mit PlatformIO / VSCode
Das ESP Board mit Display soll für einen CO2 Sensor eingesetzt werden. Dieser Artikel beschreibt aber erst einmal wie man das ein solches Projekt unter PlatformIO / VS Code erzeugt.
Projekt Anlegen
platformio.ini – Bibliotheken einbinden
[env:ttgo-lora32-v1]
platform = espressif32
board = ttgo-lora32-v1
framework = arduino
upload_speed = 921600
monitor_speed = 115200
lib_deps =
bodmer/TFT_eSPI # for TTGO display
Bibliothek TFT_eSPI holen
Nun den ersten Build mit F5 starten. Damit holt sich PIO die Bibliotheken.
Danach kann man sie unter .pio/lipdeps sehen:
TFT Bibliothek anpassen
TTGO-Pong\.pio\libdeps\ttgo-lora32-v1\TFT_eSPI\User_Setup.h
Den default Treiber mit “//” kommentieren und den ST7789 aktivieren, d.h. die Kommentar-Zeichen “//” entfernen
// #define ILI9341_DRIVER
#define ST7789_DRIVER // Full configuration option, define additional parameters below for this display
TTGO test\.pio\libdeps\ttgo-lora32-v1\TFT_eSPI\User_Setup_Select.h
Ebenso in dieser Datei eine include Zeile aktivieren
// #include <User_Setup.h>
#include <User_Setups/Setup25_TTGO_T_Display.h> // Setup file for ESP32 and TTGO T-Display ST7789V SPI bus TFT
Beispiel-Code kopieren
Ich verwende hier das Beispiel “Pong”, da man damit sehen kann, ob der ganze Bildschirm ausgenutzt wird.
TTGO-Pong\.pio\libdeps\ttgo-lora32-v1\TFT_eSPI\examples\320 x 240\TFT_Pong\TFT_Pong.ino
Einfach den Inhalt in die Datei TTGO-Pong\src\main.cpp kopieren
Dann am Anfang das Arduino-Include wieder einfügen
#include <Arduino.h>
Auflösung festlegen:
Im Code die Definition für h und w auf 135 bzw. 240 ändern.
TFT_eSPI tft = TFT_eSPI(); // Invoke custom library
int16_t h = 135;
int16_t w = 240;
Funktionen deklarieren
Die Funktionen müssen in VSCode vor der ersten Verwendung deklariert werden.
Hierzu oberhalb von setup() folgenden Block einfügen.
// Declare function before first use
void initgame (void);
void calc_target_y (void);
void lpaddle(void);
void rpaddle(void);
void midline(void);
void ball(void);
void setup(void)
{
Dann mit F5 die firmware erzeugen und mit F6 hochladen.