Guten Tag zusammen,
ich habe ein 7" Sainsmart Kit gekauft mit einem Arduino Mega 2560 und einem TFT Shield (Müsste dieses gewesen sein: Sainsmart.
Um das Display anzusteuern benutze ich folgende Librarys: URTouch, UTFT, UTFT_Buttons.
Mein benutzter Sketch:
#include <UTFT.h> // TFT Lib
#include <URTouch.h> // Touch Lib
#include <UTFT_Buttons.h> // Button Lib
extern uint8_t BigFont[]; // Zeichengroeße fuer Buttons und Text
// Instanzen
UTFT myGLCD(CPLD,38,39,40,41);
URTouch myTouch(6,5,4,3,2);
UTFT_Buttons myButtons(&myGLCD, &myTouch);
#define TOUCH_ORIENTATION PORTRAIT //PORTRAIT,LANDSCAPE
// Diese Buttons werden in allen Menuebenen verwendet
unsigned int main_but1, main_but2,main_but3,main_but4;
int m_press;
void setup() {
// LCD starten
myGLCD.InitLCD(TOUCH_ORIENTATION);
myGLCD.clrScr();
myGLCD.setFont(BigFont);
// Touch starten
myTouch.InitTouch();
myTouch.setPrecision(PREC_HI);
myButtons.setTextFont(BigFont);
}
void loop() {
// Hier beginnt die Abfrage der geklickten Buttons
while(1)
{
if (myTouch.dataAvailable() == true)
{
myTouch.read();
m_press = myButtons.checkButtons();
// Je nach ausgewahltem Button wird Funktion mit Parameter aufgerufen
if (m_press==main_but1)
myGLCD.print("Touched", CENTER, LEFT, 0); //Höhe(800), Breite(480), Rotation;
else
myGLCD.print(" ", CENTER, LEFT, 0);
}
}
}
Ich habe auf das Display einen simplen Button erstellt und das Display auf Portrait eingestellt (Im Landscape Modus habe ich keine Probleme).
Nun zu meinem Problem:
Das Touchfeld des Button ist nach rechts verschoben. Allerdings nur im Portrait Modus. Im Landscape Modus wird alles perfekt erkannt. Ich habe auch schon etliche Male neu kalibriert.
Hierzu einige Bilder:
Links in den Button gedrückt.

Rechts in den Button gedrückt.

Rechts neben den Button gedrückt.

Hier ist deutlich zu erkennen, dass das Touchfeld nach rechts verschoben ist. Oben- und Unterhalb des Buttons passt alles soweit.
Für Lösungsvorschläge und weitere Fragen bin ich gerne offen.
Ich bedanke mich schon einmal recht Herzlich.
Viele Grüße


