Hallo, ich habe hier ein 480x320 TFT Vom TP habe ich die Werte ganz links 229, ganz rechts 21 ganz unten 29 ganz oben 235 Wie mache ich dem Teil jetzt klar, das er bei 229 auf dem TP einen Punkt auf dem Display bei 0 macht und bei 21 einen Punkt bei 479?
hm, also mit probieren bin ich jetzt auf diese Werte gekommen TFT_16bit_dot((540-(Touch_X*2.3)), (360-(Touch_Y*1.6)), CL_yellow_16bit); Aber wie ich auf die rechenrisch komme..erschließt sich mir nicht
Max Power schrieb: > Aber wie ich auf die rechenrisch komme..erschließt sich mir nicht Du musst 3 Messungen ausführen und die Messwerte in die Formeln eintragen und diese dann nach A, B, C, D, F auflösen. Siehe Anhang (Auszug aus http://www.atmel.com/images/doc8091.pdf)... Im PDF aus s.17 hat Atmel die Formel für dich nach A, B, C, D, F aufgelöst
Man kann es in einem einfachen Ansatz so sehen: x- und y-Achse des Touchpanels werden jeweils durch eine Geradengleichung auf das Display abgebildet. Punkt am Display: Koordinaten (x_d ; y_d) Punkt am Touch: Koordinaten (x_t ; y_t) Gleichungssystem: x_d = (a_x * x_t) + b_x y_d = (a_y * y_t) + b_y Bei einem Kalibriervorgang lässt sich ein Punkt am Display direkt auf einen am Touchpanel zuordnen. Du zeigst einen Punkt am Display an und der Benutzer soll genau da hin touchen. Die Koeffizienten a_x, a_y, b_x, b_y lassen sich durch zwei Kalibrierpunkte ermitteln. Damit hast du vier Gleichungen und vier unbekannte, womit das Gleichungssystem lösbar ist. Wenn du die vier Gleichungen vorher entsprechend umformst, brauchst du auch keinen komplizierten Matrixsolver-Algorithmus.
@Berühranzeige: Deine Methode ist eigentlich die gleiche wie im PDF, nur dass eine Drehung als Fehler ausgeschlossen wird. Bei meinem Touchscreen, habe ich das mit der Drehung weggelassen, weil die Koeffizienten B und E bei meinem Touchscreen laut Messung und Berechnung verschwindet klein waren.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.
