Forum: Mikrocontroller und Digitale Elektronik Resistiver Touch mit PIC


von Leo (Gast)


Lesenswert?

Ich wollte mit meinen PIC18F45k22 ein Resistives touch pannel auswerten. 
Ich habe diese Website gefunden: 
http://www.micro-examples.com/public/microex-navig/doc/079-touchclock.html#Circuit_Schematic
Ich habe nur eine kleine Frage: Wie erkenne ich eine Berührung? Wenn 
messe, ohne Berührung, ist der Eingang ja offen, und ich könnte 
irgendwelche Störungen einfangen, die dann einen Punkt ergeben ohne dass 
ich den Bildschirm berührt habe.

von Leo (Gast)


Lesenswert?

Kann ich den Fehler der durch den Strom, der durch einen 100k pull down 
fließen würde vernachlässigen?

von Achim M. (minifloat)


Lesenswert?

Die X-Ebene ist links/rechts kontaktiert und hat die Anschlüsse x+ und 
x-.

Die Y-Ebene ist oben/unten kontaktiert und hat die Anschlüsse y+ und y-.

Nun legst du die X-Ebene über beide Anschlüsse an Masse und schaltest an 
den Pins der Y-Ebene die internen Pullup-Widerstände ein. Dann pollen.

Wenn zumindest an einem der beiden Y-Anschlüsse Low einliest, hat einer 
drauf getappt. => Pullups aus, Masseverbindung aus.

Dann x+ an +5V, x- an GND und an y+ und y- mit dem ADC messen, Werte 
addieren, halbieren. x-Wert ist eingelesen.

Dann für die Y-Koordinate dasselbe andersrum.

Permanent angeschlossen würde der 100k die Messung beeinflussen. Das 
täte er bis zu einem Sheet-Widerstand von 1kΩ noch bis zu ~1%. Die 10bit 
Tiefe des ADC deines PIC oder so kannst du dann längst in die Tonne 
treten...
mfg mf

von Leo (Gast)


Lesenswert?

Wie kann ich das machen, wenn mein PIC keine einschaltbaren Pull-Ups 
hat? Muss ich dann einen eigenen I/O für den Pullup nehmen, oder geht 
das auch anders

von Leo (Gast)


Lesenswert?

Ich habe es gerade getestet, mit einem eigenen I/O für den Pullup 
funktioniert es. Gibt es aber auch eine Möglichkeit bei der ich mit 4 
I/O auskomme?

von tt2t (Gast)


Lesenswert?

> Wie kann ich das machen, wenn mein PIC keine einschaltbaren Pull-Ups
> hat?

Natürlich hat der PIC18F45k22 schaltbare Pull-ups, an PORT B, siehe 
Kapitel 10.3 im Datenblatt.

von Leo (Gast)


Lesenswert?

An Port B habe ich aber keine Pins mehr frei

von Ulf (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich habe an je einen x- und y- Anschluß einen 20k Pullup gegen Masse 
gelegt. Die Genauigkeit der Messung ist (fast) Nebensache, da 1.nur eine 
begrenzte Zahl von Positionen ausgewertet wird(max. die Pixelzahl des 
darunterliegenden LCD) und 2. der drückende Finger bzw. Stift auch nicht 
allzu präzise ist.
>Die 10bit Tiefe des ADC deines PIC oder so kannst du dann längst
>in die Tonne treten...
... wird aber benötigt, um Werte über 255 darstellen zu können.
Anbei die bei mir funktionierenden Codezeilen für den PIC18f4550. Man 
sieht, wie man an den ADC- Werten biegen muß, um z.B. eine Linie 
deckungsgleich zum Touch am Display darzustellen.

ulf.

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
Noch kein Account? Hier anmelden.