ESP32 S3 - Berührungssensor

Dieses Tutorial zeigt Ihnen, wie Sie den ESP32 S3 mit einem Berührungssensor (auch Touch-Schalter oder Touch-Taster genannt) verwenden. Am Ende können Sie Berührungsereignisse in Echtzeit erkennen und den Sensorzustand im Seriellen Monitor ausgeben.

ESP32 S3 - Berührungssensor

Was Sie bauen werden:

  1. Eine Schaltung, die einen Berührungssensor mit dem ESP32 S3 verbindet
  2. Code, der den Zustand des Berührungssensors mit digitalRead() ausliest
  3. Eine Ausgabe im Seriellen Monitor, die Zustandswechsel zwischen LOW und HIGH anzeigt
  4. Einen Zustandswechsel-Detektor, der nur bei der steigenden Flanke einer Berührung auslöst

Erforderliche Hardware

1×ESP32 S3 WROOM N16R8
1×(Alternativ) ESP32 S3 SuperMini Dev Module
1×(Alternativ) ESP32 S3 Uno-form Board
1×(Alternativ) ESP32 S3 Camera Board
1×USB-Kabel Typ-A zu Typ-C (für USB-A PC)
1×USB-Kabel Typ-C zu Typ-C (für USB-C PC)
1×Berührungssensor
1×Breadboard
1×Verbindungskabel
1×(Optional) DC-Stromanschluss
1×(Empfohlen) Screw Terminal Expansion Board for ESP32 S3
1×(Empfohlen) Breakout Expansion Board for ESP32 S3
1×(Empfohlen) Power Splitter for ESP32 S3

Oder Sie können die folgenden Kits kaufen:

1×DIYables ESP32 S3 Starter-Kit (ESP32 S3 enthalten)
1×DIYables Sensor-Kit (18 Sensoren/Displays)
Offenlegung: Einige der in diesem Abschnitt bereitgestellten Links sind Amazon-Affiliate-Links. Wir können eine Provision für Käufe erhalten, die über diese Links getätigt werden, ohne zusätzliche Kosten für Sie. Wir schätzen Ihre Unterstützung.

Überblick über Touch Sensor

Ein Berührungssensor erkennt einen menschlichen Finger durch kapazitive Erfassung und ist damit eine intuitive Alternative zu mechanischen Tastern. Bei Berührung gibt der SIGNAL-Pin des Sensors einen HIGH-Zustand aus; nach dem Loslassen kehrt er zu LOW zurück. Dieses vorhersehbare Verhalten macht die Einbindung in die digitalen Eingangspins des ESP32 S3 unkompliziert.

Wichtige Spezifikationen

Pinbelegung des Berührungssensors

Der Berührungssensor hat 3 Pins:

  1. GND-Pin: Verbinden Sie diesen Pin mit GND (0V)
  2. VCC-Pin: Verbinden Sie diesen Pin mit VCC (5V oder 3,3V)
  3. SIGNAL-Pin: ist ein Ausgangspin – LOW, wenn NICHT berührt, HIGH, wenn berührt. Dieser Pin muss mit einem Eingangspin des ESP32 S3 verbunden werden.
Pinbelegung des Berührungssensors

Wie der Berührungssensor funktioniert

  • Der Zustand des SIGNAL-Pins ist LOW, wenn der Berührungssensor NICHT berührt wird
  • Der Zustand des SIGNAL-Pins ist HIGH, wenn der Berührungssensor berührt wird

ESP32 S3 - Berührungssensor

Wir können den SIGNAL-Pin des Berührungssensors mit einem Eingangspin des ESP32 S3 verbinden und mit ESP32-S3-Code den Zustand des Berührungssensors auslesen.

Schaltplan zwischen Berührungssensor und ESP32 S3

Schließen Sie den Berührungssensor an den ESP32 S3 an, indem Sie GND des Sensors mit GND der Platine, VCC mit 3,3 V und den SIGNAL-Pin mit einem GPIO-Eingangspin wie GPIO8 verbinden. Überprüfen Sie alle Verbindungen, bevor Sie die Platine mit Strom versorgen, um Schäden zu vermeiden.

Sicherheitshinweise

Verbinden Sie beim Arbeiten an der Schaltung den GND-Draht immer zuerst und trennen Sie ihn zuletzt. Stellen Sie sicher, dass die VCC-Spannung der Nenneingangsspannung des Berührungssensors entspricht – die meisten Module unterstützen sowohl 3,3 V als auch 5 V, prüfen Sie jedoch das Datenblatt, bevor Sie Spannung anlegen.

ESP32 S3 Berührungssensor Schaltplan

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Wie man den Berührungssensor programmiert

Die Programmierung des ESP32 S3 zum Auslesen eines Berührungssensors umfasst zwei Schritte: den GPIO-Pin als Eingang konfigurieren und anschließend seinen Zustand in der Hauptschleife abfragen. Die folgenden Code-Ausschnitte zeigen jeden Schritt einzeln, bevor der vollständige Sketch sie zusammenführt.

  • Initialisiert den ESP32-S3-Pin mit der Funktion pinMode() als digitalen Eingang. Zum Beispiel Pin GPIO8
pinMode(8, INPUT_PULLUP);
  • Liest den Zustand des ESP32-S3-Pins mit der Funktion digitalRead() aus.
int inputState = digitalRead(8);

Berührungssensor - ESP32-S3-Code

Der folgende Code liest den Zustand des Berührungssensors aus und gibt ihn im Seriellen Monitor aus. Er fragt GPIO8 fortlaufend ab und gibt 0 aus, wenn der Sensor nicht berührt wird, und 1, wenn er berührt wird, sodass Sie Änderungen in Echtzeit beobachten können.

/* * Dieser ESP32 S3 Code wurde von newbiely.de entwickelt * Dieser ESP32 S3 Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/esp32-s3/esp32-s3-touch-sensor */ /* * This ESP32-S3 code is created by esp32io.com * * This ESP32-S3 code is released in the public domain * * For more detail (instruction and wiring diagram), visit https://esp32io.com/tutorials/esp32-s3-touch-sensor */ #define SENSOR_PIN 8 // ESP32-S3 pin GPIO8 connected to the sensor's SIGNAL pin of touch sensor void setup() { // initialize serial communication at 9600 bits per second: Serial.begin(9600); // initialize the ESP32's pin as aninput pinMode(SENSOR_PIN, INPUT); } void loop() { // read the state of the the input pin: int state = digitalRead(SENSOR_PIN); // print state to Serial Monitor Serial.println(state); }

Schnelle Schritte

  1. Neu beim ESP32 S3? Arbeiten Sie zuerst unsere Anleitung Erste Schritte mit dem ESP32 S3 durch.
  2. Kopieren Sie den obigen Code und fügen Sie ihn in die Arduino IDE ein.
  3. Kompilieren Sie den Code und laden Sie ihn auf die ESP32-S3-Platine hoch, indem Sie in der Arduino IDE auf die Schaltfläche Upload klicken.
  4. Berühren Sie den Sensor mit dem Finger und lassen Sie ihn wieder los.
  5. Sehen Sie sich das Ergebnis im Seriellen Monitor an. Es sieht wie folgt aus:
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32S3 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32S3 Dev Module' on 'COM15')
New Line
9600 baud
COM6 Autoscroll Show timestamp 2026-01-15 08:23:10.112 -> 0 2026-01-15 08:23:10.215 -> 0 2026-01-15 08:23:10.318 -> 0 2026-01-15 08:23:10.421 -> 1 2026-01-15 08:23:10.524 -> 1 2026-01-15 08:23:10.627 -> 1 2026-01-15 08:23:10.730 -> 1 2026-01-15 08:23:10.833 -> 0 2026-01-15 08:23:10.936 -> 0 2026-01-15 08:23:11.039 -> 0
Ln 11, Col 1
ESP32S3 Dev Module on COM15
2
  1. Profi-Tipp: Berühren Sie die Sensorfläche einmal leicht und einmal fest – der kapazitive Sensor reagiert schon auf einen sanften Fingerkontakt und eignet sich daher ideal für berührungsempfindliche Bedienoberflächen.

Wie man den Zustandswechsel von LOW zu HIGH erkennt

Der folgende Code erkennt nur den Übergang an der steigenden Flanke – den Moment, in dem der Berührungssensor von nicht berührt zu berührt wechselt –, sodass Ihr Programm einmal pro Berührung reagiert und nicht fortlaufend, solange der Finger auf der Fläche liegt.

/* * Dieser ESP32 S3 Code wurde von newbiely.de entwickelt * Dieser ESP32 S3 Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/esp32-s3/esp32-s3-touch-sensor */ /* * This ESP32-S3 code is created by esp32io.com * * This ESP32-S3 code is released in the public domain * * For more detail (instruction and wiring diagram), visit https://esp32io.com/tutorials/esp32-s3-touch-sensor */ #define SENSOR_PIN 8 // ESP32-S3 pin GPIO8 connected to the sensor's SIGNAL pin of touch sensor // Variables will change: int lastState = LOW; // the previous state from the input pin int currentState; // the current reading from the input pin void setup() { // initialize serial communication at 9600 bits per second: Serial.begin(9600); // initialize the ESP32's pin as aninput pinMode(SENSOR_PIN, INPUT); } void loop() { // read the state of the the input pin: currentState = digitalRead(SENSOR_PIN); if (lastState == LOW && currentState == HIGH) Serial.println("The sensor is touched"); // save the the last state lastState = currentState; }

Anwendungen

Berührungssensoren werden in moderner Elektronik überall dort eingesetzt, wo eine elegante, tastenlose Bedienung gewünscht ist. Hier einige praktische Anwendungsfälle:

  1. Intelligente Lampensteuerung: Tippen Sie auf den Lampenfuß, um die Lampe ohne physischen Schalter ein- oder auszuschalten.
  2. Berührungsbasiertes Sicherheitspanel: Verwenden Sie ein Touchpad als Teil eines PIN-Eingabesystems für Türschlösser.
  3. Interaktive Anzeige: Lösen Sie Animationen oder Bildschirmwechsel an einem Kiosk oder in einer Museumsausstellung aus.
  4. Küchentimer: Bauen Sie einen berührungsaktivierten Countdown-Timer, der in feuchter Umgebung keinen mechanischen Verschleiß aufweist.
  5. Kapazitive Tastatur: Verketten Sie mehrere Berührungssensoren, um ein eigenes Eingabegerät zu erstellen.

Video Tutorial

Wir erwägen die Erstellung von Video-Tutorials. Wenn Sie Video-Tutorials für wichtig halten, abonnieren Sie bitte unseren YouTube-Kanal , um uns zu motivieren, die Videos zu erstellen.

Sehen Sie sich unten die Schritt-für-Schritt-Videoanleitung für dieses ESP32-S3-Projekt an.

Herausforderungen

Bauen Sie Ihre Fähigkeiten weiter aus, indem Sie das einfache Berührungssensor-Projekt in neue Richtungen erweitern. Jede der folgenden Aufgaben baut auf der bereits geschaffenen Grundlage auf.

  1. Anfänger: Ändern Sie den Code so, dass eine an GPIO2 angeschlossene LED bei Berührung des Sensors leuchtet und beim Loslassen erlischt.
  2. Fortgeschritten: Verwenden Sie den Sketch zur Zustandswechselerkennung, um die Gesamtzahl der Berührungen zu zählen und im Seriellen Monitor anzuzeigen.
  3. Experte: Kombinieren Sie zwei Berührungssensoren so, dass das gleichzeitige Berühren beider ein besonderes Ereignis auslöst, etwa einen Summer für zwei Sekunden zu aktivieren.

Verwandte Tutorials

※ UNSERE NACHRICHTEN

  • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!