Touchpanel und Touchscreen (mit PIC-Mikrocontroller, Elektronik)


zurück zu Elektronik, Homepage


4. Software

Die Aufgabe der Software ist es also, ständig (regelmäßig) die X-Koordinate und die Y-Koordinate zu bestimmen. Was mit dieser Information dann geschehen soll hängt von der jeweiligen Aufgabenstellung ab. Meist wird ein Touchpanel zur Wert- und Dateneingabe verwendet. Doch dass soll uns hier noch nicht kümmern. Hier geht es nur um die Erfassung der X- und der Y-Koordinate. Der Quellcode welcher diese Aufgabe erfüllt befindet sich in den Dateien TOUCHPANEL.H und TOUCHPANEL.C

nach oben

4.1. Portdefinition

Im Allgemeinen wird bei jeder Anwendung das Touchpanel an anderen Portpins angeschlossen. Damit diese in den Unterprogrammen, die mit dem Touchpanel kommunizieren, nicht ständig geändert werden muss, befindet sich in der Software eine Portdefinition für das Touchpanel. Diese besteht hier aus den zwei digitalen Ausgangspins und den zwei analogen Eingangskanälen. Listing 1 zeigt eine mögliche Portdefinition für einen PIC-Mikrocontroller aus der PIC16xx-Familie.

Portdefinitionen fuer das Touchpanel (Auszug aus TOUCHPANEL.H)
Achtung:
Beim Initialisieren des PIC-Mikrocontroller (bei mir im Unterprogramm Init) müssen diese Portpins als Ausgänge bzw. Eingänge konfiguriert werden. Siehe Demonstrationsbeispiele.
nach oben

4.2. X-Koordinate ermitteln (Unterprogramm TP_GetX)

Zur Bestimmung der X-Koordinate muss DRIVEA mit Vcc (hier: +5V) und DRIVEB mit Vss (hier: 0V) verbunden werden. Nach einer kurzen Warteteit (hier: 5ms) kann die X-Koordinate gelesen werden. Der Wertebereich für die X-Koordinate liegt zwischen 0 (ganz links) und 255 (ganz rechts). Listing 2 zeigt dieses sehr einfache Unterprogramm zur Bestimmung der X-Koordinate. Abbildung 3 zeigt den Zustand der Schalttransistoren der Hardware für das Lesen der X-Koordinate.

X-Koordinate lesen (Auszug aus TOUCHPANEL.C)
X-Koordinate lesen (Zustand der Schalttransistoren)
nach oben

4.3. Y-Koordinate ermitteln (Unterprogramm TP_GetY)

Für die Bestimmung der Y-Koordinate müssen an DRIVEA und DRIVEB die gegenteiligen Zustände wie für die Bestimmung der X-Koordinate angelegt werden. An DRIVEA daher Vss (hier: 0V) und an DRIVEB Vcc (hier: +5V). Nach 5ms kann die Y-Koordinate gelesen werden. Der Wertebereich für die Y-Koordinate liegt zwischen 0 (ganz unten) und 255 (ganz oben). Listing 3 zeigt dieses sehr einfache Unterprogramm zur Bestimmung der Y-Koordinate. Abbildung 4 zeigt den Zustand der Schalttransistoren der Hardware für das Lesen der Y-Koordinate.

Y-Koordinate lesen (Auszug aus TOUCHPANEL.C)
Y-Koordinate lesen (Zustand der Schalttransistoren)
nach oben

4.4. Unterprogramm zur Analog-Digital-Wandlung (ADC8)

Die Analog-Digital-Wandlung erfolgt mit einem eigenen kurzen Unterprogramm. Dieses Unterprogramm befindet sich in der Datei myPIC_ADC.C.

nach oben

4.5. Koordinatenursprung

Aufgrund der gewählten Hardware und der Software ergibt sich für den Koordinatenursprung des Touchpanel die linke untere Ecke, so wie es auch in der Mathematik üblich ist. Der Wertebereich ist für beide Achsen von 0 bis 255 (also jeweils 8 Bit, Abbildung 5).

Koordinatenursprung des Touchpanel
nach oben


zurück zu Elektronik, Homepage

Autor: Stefan Buchgeher
Erstellt: 22. September 2009
Letzte Änderung: