Probleme mit heltec WiFi Kit 32(V3) und TFT

Hallo und guten Abend,

ich habe das (mitgelieferte Beispiel!!!) TFTDisplayText.ino ausprobiert
und erhalte diesen Fehler:

C:\Users\Thomas\AppData\Local\Arduino15\packages\esp32\tools\esp-xs3\2302/bin/xtensa-esp32s3-elf-g++ -c @C:\Users\Thomas\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32s3/flags/cpp_flags -w -Os -Werror=return-type -w -x c++ -E -CC -DF_CPU=240000000L -DARDUINO=10607 -DARDUINO_HELTEC_WIFI_KIT_32_V3 -DARDUINO_ARCH_ESP32 -DARDUINO_BOARD="HELTEC_WIFI_KIT_32_V3" -DARDUINO_VARIANT="heltec_wifi_kit_32_V3" -DARDUINO_PARTITION_default_8MB -DARDUINO_HOST_OS="windows" -DARDUINO_FQBN="esp32:esp32:heltec_wifi_kit_32_V3:UploadSpeed=921600,CPUFreq=240,DebugLevel=none,LoopCore=1,EventsCore=1,EraseFlash=none" -DESP32=ESP32 -DCORE_DEBUG_LEVEL=0 -DARDUINO_RUNNING_CORE=1 -DARDUINO_EVENT_RUNNING_CORE=1 -DARDUINO_USB_MODE=1 -DARDUINO_USB_CDC_ON_BOOT=0 -DARDUINO_USB_MSC_ON_BOOT=0 -DARDUINO_USB_DFU_ON_BOOT=0 @C:\Users\Thomas\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32s3/flags/defines -IC:\Users\Thomas\AppData\Local\Temp\.arduinoIDE-unsaved2024106-1284-phlbng.fdho9\TFTDisplayText -iprefix C:\Users\Thomas\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32s3/include/ @C:\Users\Thomas\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32s3/flags/includes -IC:\Users\Thomas\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32s3/qio_qspi/include -IC:\Users\Thomas\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\cores\esp32 -IC:\Users\Thomas\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\variants\heltec_wifi_kit_32_V3 -IC:\Users\Thomas\AppData\Local\Arduino15\libraries\TFT\src -IC:\Users\Thomas\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\libraries\SPI\src @C:\Users\Thomas\AppData\Local\Temp\arduino\sketches\B1F4F45BE3F2C607B2D7F919B273E245/build_opt.h @C:\Users\Thomas\AppData\Local\Temp\arduino\sketches\B1F4F45BE3F2C607B2D7F919B273E245/file_opts C:\Users\Thomas\AppData\Local\Arduino15\libraries\TFT\src\utility\Adafruit_GFX.cpp -o nul
In file included from C:\Users\Thomas\AppData\Local\Arduino15\libraries\TFT\src\utility\Adafruit_GFX.cpp:35:
C:\Users\Thomas\AppData\Local\Arduino15\libraries\TFT\src\utility\glcdfont.c:7:14: fatal error: io.h: No such file or directory
    7 |     #include <io.h>
      |              ^~~~~~
compilation terminated.
Alternativen für io.h: []
ResolveLibrary(io.h)
  -> Kandidaten: []
exit status 1

Compilation error: exit status 1

Keines der Beispielprogramme, die TFT betreffen lässt sich Compilieren,
die Fehlermeldungen sind wie angegeben oder ähnlich.
(Datei nicht vorhanden)
Das Internet (auch dieses Forum) hat sich mit diesem Fehler in der Vergangenheit schon befasst, aber keine der dort gezeigten Lösungen löst mein Problem.
(Vergleiche Case vom 25.Juli 2018, 12:16).
Hat jemand eine Lösung, die auch funzt?
VG Thomas

OK ist anderer Haltec
Warum machst du immer neue Topic?
Ohne deinem Test Skript kann man nicht konkret antworten .

Und zeige Link zum Beispiel
Und wo möglich irre mich jedoch bin der Meinung du hast ein OLED drauf.

Ja so ist es auch.

Irrtum die haben auch mit TFT :thinking: bin auch reingefallen
Nur erst mall soll der TO die Lib zeigen.
Wo er jedoch keine Lust für hat.

Ja, Datenblatt deines Moduls lesen und uns einen Link des Moduls posten.

Ich finde Heltec WiFi Kit 32(V3) nur mit OLED.

Habe Link zugefügt, nur nirgend wo was für Driver drauf ist

Das Heltec Wifi Kit 32 finde ich auch nur mit oled. Die mit TFT heißen anders.

Soll doch der TO endlich mal aufwachen und seine Aufgaben machen.
Dieses ewige gestümper ist doch peinlich.

Was ich gefunden habe TFT ist es ein ST7735 oder ST7789.
den Kann Adafruit und TFT_eSPI .
Habe zwei 1,8" mit ST7735, funktioniert 1A mit TFT_eSPI.

Oder trotz 59BJ weiß nicht was hat Fotos und andere Infos sind für den Tabu.

Hier ist (denke ich) was helfen kann.

Ja, man könnte ja damit zeigen, daß man keine Ahnung hat.

:+1: :+1: :+1:
und io.h ist in der Adafruit GFX.

Na und, geht uns auch so ab und zu, Einstein gab es nur einen.
So mansche gerade im Technikbereich verstehe nicht.

Neee, da habe ich kein Problem.
Man kann nicht alles Wissen und wenn ich was nicht weiß, dann frage ich.

Und auch der wusste nicht alles.
Es ist doch kein Problem, etwas nicht zu wissen, wenn man sich um Wissen bemüht, wenn man dieses braucht oder wenn man es nicht braucht, muss man es auch nicht wissen :wink:

Gruß Tommy

Als Board habe ich Heltec WiFi Kit 32(V3) ausgewählt.
Die Beispiele stehen in Datei/Beispiele/Heltec WiFi Kit 32(V3)/TFT/Arduino/TFTDisplayText oder ein anderes aus dieser Sammlung.
Ich bin mir nicht sicher, ob die Fehlermeldung des Compilers klar rüber gekommen ist.
Der Compiler findet den Pfad nicht. DAS Problem wurde hier schon besprochen! Das kann ich lösen aber laufe dann Prompt auf das nächste, was ich nicht lösen kann.
Das Foto, das finn912 eingefügt hat, passt genau! Danke!
Ich weis nicht, wie ihr empfindet... aber ich erwarte schon das mitgelieferte Beispiele auch funktionieren sollten.
Wenn die Beispiele schon nicht funktionieren, wie soll ich denn als Anfänger in das Thema reinkommen?
Im übrigen habe ich diese Board als Alternative genommen nachdem ich mit dem heltec W-8266 schon scheiterte.
Ich denke heltec hat sich hier nicht im besten Licht präsentiert...
Ich danke allen für ihre Mühe. VG Thomas

Wir / ich warte immer noch auf den Link deines Boards.
Und ich bin mir nicht sicher ob du es verstanden hast, das du versuchst, ein falsches Display auf dein Board zu installieren.
Und gerne nochmal, wenn du keine genauen Informationen lieferst, ist das hier ein stochern im Nebel.
Oder beschäftigst du gern Leute, die dir helfen möchten.

Im übrigen wurden dir auch zu deinem anderen Board Problem Hilfestellungen gegeben, die du allerdings total ignorierst.

// For a connection via I2C using the Arduino Wire include:
#include <Wire.h>               
#include "HT_SSD1306Wire.h"
//#include "images.h"

static SSD1306Wire  display(0x3c, 500000, SDA_OLED, SCL_OLED, GEOMETRY_128_64, RST_OLED); // addr , freq , i2c group , resolution , rst

#define DEMO_DURATION 3000
typedef void (*Demo)(void);

int demoMode = 0;
int counter = 1;

void setup() {
  Serial.begin(115200);
  Serial.println();
  Serial.println();
  VextON();
  delay(100);

  // Initialising the UI will init the display too.
  display.init();

  display.setFont(ArialMT_Plain_10);

}

void drawFontFaceDemo() {
    // Font Demo1
    // create more fonts at http://oleddisplay.squix.ch/
    display.setTextAlignment(TEXT_ALIGN_LEFT);
    display.setFont(ArialMT_Plain_10);
    display.drawString(0, 0, "Hello world");
    display.setFont(ArialMT_Plain_16);
    display.drawString(0, 10, "Hello world");
    display.setFont(ArialMT_Plain_24);
    display.drawString(0, 26, "Hello world");
}

void drawTextFlowDemo() {
    display.setFont(ArialMT_Plain_10);
    display.setTextAlignment(TEXT_ALIGN_LEFT);
    display.drawStringMaxWidth(0, 0, 128,
      "Lorem ipsum\n dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore." );
}

void drawTextAlignmentDemo() {
  // Text alignment demo
  char str[30];
  int x = 0;
  int y = 0;
  display.setFont(ArialMT_Plain_10);
  // The coordinates define the left starting point of the text
  display.setTextAlignment(TEXT_ALIGN_LEFT);
  display.drawString(x, y, "Left aligned (0,0)");

  // The coordinates define the center of the text
  display.setTextAlignment(TEXT_ALIGN_CENTER);
  x = display.width()/2;
  y = display.height()/2-5;
  sprintf(str,"Center aligned (%d,%d)",x,y);
  display.drawString(x, y, str);

  // The coordinates define the right end of the text
  display.setTextAlignment(TEXT_ALIGN_RIGHT);
  x = display.width();
  y = display.height()-12;
  sprintf(str,"Right aligned (%d,%d)",x,y);
  display.drawString(x, y, str);
}

void drawRectDemo() {
      // Draw a pixel at given position
    for (int i = 0; i < 10; i++) {
      display.setPixel(i, i);
      display.setPixel(10 - i, i);
    }
    display.drawRect(12, 12, 20, 20);

    // Fill the rectangle
    display.fillRect(14, 14, 17, 17);

    // Draw a line horizontally
    display.drawHorizontalLine(0, 40, 20);

    // Draw a line horizontally
    display.drawVerticalLine(40, 0, 20);
}

void drawCircleDemo() {
  for (int i=1; i < 8; i++) {
    display.setColor(WHITE);
    display.drawCircle(32, 32, i*3);
    if (i % 2 == 0) {
      display.setColor(BLACK);
    }
    display.fillCircle(96, 32, 32 - i* 3);
  }
}

void drawProgressBarDemo() {
  int progress = (counter / 5) % 100;
  // draw the progress bar
  display.drawProgressBar(0, 32, 120, 10, progress);

  // draw the percentage as String
  display.setTextAlignment(TEXT_ALIGN_CENTER);
  display.drawString(64, 15, String(progress) + "%");
}

void drawImageDemo() {
    // see http://blog.squix.org/2015/05/esp8266-nodemcu-how-to-create-xbm.html
    // on how to create xbm files
   // display.drawXbm(34, 14, WiFi_Logo_width, WiFi_Logo_height, WiFi_Logo_bits);
}

void VextON(void)
{
  pinMode(Vext,OUTPUT);
  digitalWrite(Vext, LOW);
}

void VextOFF(void) //Vext default OFF
{
  pinMode(Vext,OUTPUT);
  digitalWrite(Vext, HIGH);
}


Demo demos[] = {drawFontFaceDemo, drawTextFlowDemo, drawTextAlignmentDemo, drawRectDemo, drawCircleDemo, drawProgressBarDemo, drawImageDemo};
int demoLength = (sizeof(demos) / sizeof(Demo));
long timeSinceLastModeSwitch = 0;

void loop() {
  // clear the display
  display.clear();
  // draw the current demo method
  demos[demoMode]();

  display.setTextAlignment(TEXT_ALIGN_RIGHT);
  display.drawString(10, 128, String(millis()));
  // write the buffer to the display
  display.display();

  if (millis() - timeSinceLastModeSwitch > DEMO_DURATION) {
    demoMode = (demoMode + 1)  % demoLength;
    timeSinceLastModeSwitch = millis();
  }
  counter++;
  delay(10);
}

Gucke mal ob das geht.
Quelle Heltec_ESP32/examples/OLED at master · HelTecAutomation/Heltec_ESP32 · GitHub

mit der Überschrift hast mich in die Irre geführt, den es gibt ein Display mit TFT = Farbdisplay.

Wen man falsche Beispiele nimmt kann das nicht funktionieren. Die gezeigte Fehlermeldung im Post1 kommt durch fehlerhafte Bibliothek.

Nur zur Klärung , wen ein _Hersteller hat mehrere Produkte im Angebot werden meist alle Beispiele gezeigt, muss man schon den Richtigen rausfischen. Das OLED Display funktioniert auch mit der U8g2. Dortige Beispiele sind nicht so kompliziert geschrieben wie die vom Haltec, was für Anfänger ist schwer nachvollziehen was und wie.
Wen das vom @finn912 funktioniert schau dir die U8g2 an.