Problem mit Touch funktion

Hallo
Ich habe heute ein kleines (2.8") display von Adafruit bekommen.
Aber ich kann leider die Touch funktion nicht zum laufen bringen.
Ich habe den Original sketch von adafruit genommen und auf das was ich brauche geändert.
Dabei habe ich wohl etwas viel geändert ich komm aber nicht dahinter was !
Kann da mal einer drüber gucken und mir sagen wo ich den bock geschossen habe :slight_smile:

#include <Adafruit_GFX.h>
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_ILI9341.h>
#include <Adafruit_STMPE610.h>

// calibrierung des Displays
#define TS_MINX 20
#define TS_MINY 20
#define TS_MAXX 300
#define TS_MAXY 220

#define STMPE_CS 8
Adafruit_STMPE610 ts = Adafruit_STMPE610(STMPE_CS);
#define TFT_CS 10
#define TFT_DC 9
Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC);

#define button1_X 20
#define button1_Y 20
#define button1_W 280
#define button1_H 40

#define button2_X 20
#define button2_Y 68
#define button2_W 280
#define button2_H 40

#define PRINTCOL 0xFFFF

String nummer1 = "01575849321";
String nummer2 = "017736485954";
String nummer3 = "01748573290";
int aktive_nummer = 0;

void setup(void)
{
  tft.begin();
  tft.fillScreen(ILI9341_BLACK);
  // ausrichtung des bildes landscape (USB oben links)
  tft.setRotation(1);
  // Schriftgrösse auf 3 gesetzt
  tft.setTextSize(3);
  // Textfarbe setzen
  tft.setTextColor(PRINTCOL);

  // feiner roter rahmen um das bild
  tft.drawRect(10, 10, 300, 220, ILI9341_RED);      //von links, von oben, breite, höhe

  // Zeichnet den ersten button
  // Feiner rahmen um den ersten label mit nummer
  tft.drawRect(19, 19, 282, 42, ILI9341_WHITE);     //von links, von oben, breite, höhe
  // Button 1 den blauen hintergrund ausfüllen
  tft.fillRect(20, 20, 280, 40, ILI9341_BLUE);      //von links, von oben, breite, höhe
  // Cursor zum schreiben setzen
  tft.setCursor(30, 30);
  // Text von variable nummer1 schreiben
  tft.println(nummer1);
  // Runden weissen kreis zeichnen
  tft.fillCircle(275, 40, 16, ILI9341_WHITE);       //von links, von oben, durchmesser
  // Runden schwarzen kreis zeichnen
  tft.fillCircle(275, 40, 15, ILI9341_BLACK);       //von links, von oben, durchmesser 

  // Zeichnet den zweiten button
  // Feiner rahmen um den ersten label mit nummer
  tft.drawRect(19, 67, 282, 42, ILI9341_WHITE);     //von links, von oben, breite, höhe
  // Button 1 den blauen hintergrund ausfüllen
  tft.fillRect(20, 68, 280, 40, ILI9341_BLUE);      //von links, von oben, breite, höhe
  // Cursor zum schreiben setzen
  tft.setCursor(30, 78);                            //von links, von oben
  // Text von variable nummer2 schreiben
  tft.println(nummer2);
  // Runden weissen kreis zeichnen
  tft.fillCircle(275, 88, 16, ILI9341_WHITE);       //von links, von oben, durchmesser
  // Runden roten kreis zeichnen
  tft.fillCircle(275, 88, 15, ILI9341_RED);         //von links, von oben, durchmesser
}
void loop()
{
  // Abfrage ob touch vorliegt
  if (!ts.bufferEmpty())
  {
    TS_Point p = ts.getPoint();
    p.x = map(p.x, TS_MINY, TS_MAXY, 0, tft.height());
    p.y = map(p.y, TS_MINX, TS_MAXX, 0, tft.width());
    int y = tft.height() - p.x;
    int x = p.y;

    // Der erste button oben
    if ((x > button1_X) && (x < (button1_X + button1_W))) {
      if ((y > button1_Y) && (y < (button1_Y + button1_H))) {
        erste_nummer();
      }
    }
  }
} // Ende loop
void erste_nummer()
{ 
  // Punkt im ersten button grün zeichnen
  tft.fillCircle(275, 39, 15, ILI9341_GREEN);  // von links, von oben, durchmesser
  // Punkt im zweiten button schwarz zeichnen
  tft.fillCircle(275, 88, 15, ILI9341_BLACK);  // von links, von oben, durchmesser
  aktive_nummer = 1;
}

Ich habe den Original sketch von adafruit genommen und auf das was ich brauche geändert.

Naja, offenbar nicht, sofern Du kein unbrauchbares Programm brauchst :smiling_imp:

Vorschlag: Öffne den aktuellen und den originalen Sketch in 2 Fenstern und schau Dir die Unterschiede an. Ist sicher zielführender als hier rumzuraten, wo Du verschlimmbessert hast.

Ein Link auf den Originalsketch hättest Du auch mitliefern können, dann hätte ich evtl. sogar selbst mal geschaut, so aber nicht. Motto: Hilfe zur Selbsthilfe!