-
Hallo,
wenn eben am pin nichts angeschlossen ist, dann ist er nicht definiert. Er hat also keinen bestimmten wert und wird durch die umgebung beinflusst.
So wie das bei dir aussieht, fehlt da irgendwo ein masseanschlusss.
Leg mal die beiden leitungen von dem touchscreen mit einem großen widerstand an massse.(jede leitung extra)
mfg
-
Hallo,
Einem großen Wiederstand?
Welchen ca soll ich nehmen?
Du meinst also für JEDEN Touch Pin einen Pull-Down Wiederstand richtig?
MFG
Ratman2000
-
jo, er meint pull down. nimm was zwischen 10k und 47k
-
Hallo,
ich hab nun an alle 4 Pins einen Pull-Up gebastelt und siehe da, ich habe auf X und Y nur noch 1 - ca 3 an Schwankungen wunderbar :D
ABER nun hab ich auch schon das nächste Problem...
Und zwar möchte ich nun natürlich mit einem Stift etwas auf dem Display "Malen" können... Also hab ich mir den Code aus dem Beispiel angesehen:
https://www.roboternetz.de/phpBB2/ze...ht=touchscreen
Nun sehe ich dort eine Umrechnung von ADC auf Pixel:
Code:
If Y > 330 Then
Y3 = Y - 346
Y2 = Y3 / 2.89
Y4 = Y2
Else
Y4 = 0
End If
If X > 150 Then
X3 = X - 160
X2 = X3 / 2.78
X4 = X2
Else
X4 = 0
End If
Allerdings wenn ich den Code so übernehme, landet kein Punkt dort wo er hin soll...
Berühre ich z.b. im Linken Teil des Displays, so landet der Punkt im rechten Bereich des Displays und auch nicht genau dort, wo ich berührt habe... Was mir dabei auch aufgefallen ist, ist das ich damit das Display "Scrollen" kann... in Zeile 3 z.B. schreibe ich die Koordinaten und diese kann ich "aus dem Bild Scrollen" ziemlich merkwürdige Sache, obwohl ich nur mit pset nen Pixel setze... Diese Phänomän ist auch wieder nur auf dem Halben Display zu bemerken jeweils die andere Seite "scrollt"...
Aber zurück zum Problem: Woher stammen diese komischen umrechnungs-Faktoren?
Ich schätze mal, das mein Problem daran liegen wird...
Ich habe bereits ins Datenblatt von deren Display geschaut, aber ich kann die Werte dort nirgendst finden...
Vielen Dank für eure Hilfe!!!
MFG
Ratman2000
-
dreh den stecker vom cntroller mal um...hatte ein ähnliches problem
-
Hallo,
Den Stecker vom Controller umdrehen?
Wie meinst du das?
Den vom GLCD?
MFG
Ratman2000
-
Hallo,
wenn der (theoretische) Wert 0 von x und y links oben liegt, würde ich das so rechnen:
const ref a //x-wert
a = 128 / 1024 //bei 10bit adc
w = getadc(x)
x-koordinate = w * a
bei y dann halt 64 / 1024
mfg
-
Den Stecker von Touchcontroller. Bei mir war das Problem dass irgendwie X- und Y Achse vertauscht waren und ich dadurch falsche Werte rausbekommen hab.
-
Hallo,
es lag anscheinend an der Umrechnung...
Nun scheint es zu funktionieren!
Ich mache es nun so:
Code:
If X > 150 And Y > 218 Then
X3 = X - 162
X2 = X3 / 4.2
X4 = X2
Y3 = Y - 218
Y2 = Y3 / 6.2
Y4 = Y2
Pset X4 , Y4 , 255
End If
So weit funktioniert das nun prima... Allerdings "prellt" das Display ganz schön... Sprich mache ich nen Punkt mit einem Stift drauf, so zieht er mir fast schon eine linie... (Weil er wohl noch nicht die richtige Spannung aufgebaut hat)
Lasse ich die stelle berührt klappt es wunderbar...
Aber ein noch längeren Waitms kann ich ja auch nicht rein machen, dann wäre das Display ja wieder zu langsam um z.b. drauf zu "malen".
Kennt da jemand eine Abhilfe?
Und ich habe nun 2 Offsets verwendet: 4.2 und 6.2
Damit die Punkte auch da landen, wo ich sie haben will, aber woher kommen diese Werte?
Die sind jetzt bei mir durch ausprieren entstanden, obwohl die Y Axe immer noch nicht richtig genau ist oder ab der mitte ungenauer wird?
Vielen Dank für eure Hilfe!!
MFG
Ratman2000
-
http://www.embedded.com/story/OEG20020529S0046
Such mal im Forum, einige haben sowas schon implementiert.