Von Jeremy Cook
Einfache Tasteneingänge (z.B. Tastaturen) waren jahrzehntelang die primäre Methode, um mit Computern zu interagieren. Heute, insbesondere mit dem Aufkommen von Smartphones, verwenden viele Geräte stattdessen kapazitive Touchscreens als primäre Schnittstelle.
Mikrocontroller können auch die Vorteile der kapazitiven Touch-Funktionalität nutzen, und das ESP32-Modul hat diese Fähigkeit in zehn seiner GPIO-Pins eingebaut, was eine kostengünstige und extrem reaktionsschnelle Eingabemethode darstellt.
Arduino IDE Touch Schnittstellen-Setup

Um die Touch-Fähigkeit des ESP32 über die Arduino IDE auszuprobieren, installieren Sie zunächst die ESP32-Boarddefinition über den Arduino Boards Manager. Wählen Sie dann Ihr Gerät aus.
Öffnen Sie das Berührungsbeispiel in File > Examples > ESP32 > TouchRead. Kompilieren* Sie die Datei und senden Sie sie an Ihr ausgewähltes ESP32-Board.
*Hinweis für MacOS: Wenn Sie Schwierigkeiten beim Kompilieren Ihrer Skizze haben, finden Sie in diesem Beitrag Informationen zu einem MacOS-Update, das Probleme verursachen kann. Ich habe in platform.txt alle Stellen, an denen „python“ vorkommt, durch „python3“ ersetzt, was das Problem zu beheben scheint.
Verbinden Sie dann einen Draht mit dem Touch-Pin 0 (T0, GPIO 4) und Masse.

Serial Plotter eignet sich auch gut für die Überwachung der Ausgabe.
Nachdem Sie diese Hardware installiert haben, öffnen Sie einen seriellen Monitor mit 115200 Baud. Berühren Sie dann beide Drähte mit Ihren Fingern und lassen Sie sie wieder los. Das Ergebnis wird ein Wert sein, der irgendwo im 80er-Bereich liegt, wenn keine Berührung stattfindet, und der deutlich abnimmt, wenn eine Berührung stattfindet. Diese numerische Reduzierung ist auf die Hinzufügung der Kapazität Ihres Körpers zurückzuführen, die als Schalter verwendet werden kann.
Es stehen zehn solcher Schnittstellenpins zur Verfügung, und der ESP32 kann sogar so eingerichtet werden, dass er per Berührung aus einem Energiesparmodus erwacht.
In einem Anwendungsbeispiel wird diese Art von Eingang verwendet, um die Retro-Fernsehuhr zu steuern, die in diesem Artikel zu sehen ist. Beachten Sie, dass die GPIO-Pins im Allgemeinen nicht der Pin-Nummer des Berührungssensors entsprechen.

ESP32 Touch-Sensorik erklärt
Der ESP32 verwendet ein spezielles Peripheriegerät, um die Kapazitätsänderung eines Pins zu erfassen. Da sich die Kapazität durch eine menschliche Berührung erhöht, steigt die Zeit, die ein kapazitiver Sensor-Pin benötigt, um zwischen einem hohen und einem niedrigen Zustand zu wechseln, proportional an. Wenn also der Eingang/die Masse berührt wird und die Kapazität eines Menschen hinzukommt, erhöht sich die Zykluszeit, und die Anzahl der in einem bestimmten Zeitraum gezählten Zyklen nimmt ab.

Sehr niedrige Zykluswerte treten auf, wenn zwischen T0/GPIO 4 und Masse echte Kondensatorkomponenten angebracht sind.
ESP32 Touch-Sensorik: Vielfältige Einsatzmöglichkeiten
In der Praxis werden Sie den Ausgangswert mit und ohne menschliche Berührung messen wollen, um einen Schwellenwert für die programmgesteuerte Entscheidungsfindung zu bestimmen. Dank der einfachen Hardware-Implementierung, der schnellen Antwortzeit und der Aufwachfunktion kann dieses Touch-Peripheriegerät in einer Vielzahl von Situationen nützlich sein.
