ESP32 C3 Super Mini - Berührungssensor

Mit einem Berührungssensor steuern Sie Ihren ESP32 C3 Super Mini durch eine leichte Berührung mit dem Finger. Er funktioniert wie ein Taster, hat aber keine beweglichen Teile und nutzt sich daher nie ab. Dieses ESP32 C3 Super Mini Tutorial zum Berührungssensor zeigt Ihnen die Verdrahtung und den Code in einfachen Schritten.

In diesem Tutorial lernen Sie:

ESP32 C3 Super Mini - Berührungssensor

WARNING

Der ESP32 C3 Chip hat KEINE eingebauten kapazitiven Touch-Pins, wie sie der klassische ESP32, ESP32-S2 und ESP32-S3 haben. Die Funktionen touchRead() und touchAttachInterrupt() funktionieren auf dem ESP32 C3 Super Mini NICHT. Um diesem Board eine Touch-Eingabe hinzuzufügen, verwenden Sie ein externes Berührungssensormodul (TTP223) und lesen Sie es mit digitalRead() aus, genau wie in diesem Tutorial.

Erforderliche Hardware

1×ESP32 C3 Super Mini
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

Oder Sie können die folgenden Kits kaufen:

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 ist ein kleines Modul (basierend auf dem TTP223 Chip), das ein digitales HIGH-Signal ausgibt, wenn Ihr Finger seine Sensorfläche berührt.

Hauptmerkmale:

  • Keine beweglichen Teile: Nichts zu drücken, nichts kann kaputtgehen.
  • Einfacher Ausgang: Ein digitaler Pin, HIGH oder LOW.
  • Wird wie ein Taster ausgelesen: Funktioniert mit digitalRead(), keine Bibliothek nötig.
  • Funktioniert durch Kunststoff: Er kann einen Finger durch ein dünnes Gehäuse oder einen Aufkleber erkennen.
  • Geringer Stromverbrauch: Er benötigt nur wenige Milliampere.

Technische Daten:

  • Chip: TTP223 kapazitiver Touch-Chip.
  • Pins: 3 Pins (GND, VCC, SIGNAL).
  • Versorgungsspannung: 2,0V bis 5,5V. Verwenden Sie den 3,3V-Pin des ESP32 C3 Super Mini.
  • Ausgangspegel: Der SIGNAL-Pin folgt der Versorgungsspannung, bei 3,3V Versorgung gibt er also 3,3V-Logik aus - sicher für den ESP32 C3 Super Mini.
  • Reaktionszeit: Etwa 60 ms im Schnellmodus.

Pinbelegung des Berührungssensors

Der Berührungssensor hat 3 Pins.

  • GND-Pin: Verbinden Sie diesen Pin mit GND (0V).
  • VCC-Pin: Verbinden Sie diesen Pin mit VCC (3,3V am ESP32 C3 Super Mini).
  • SIGNAL-Pin: Dies ist ein Ausgangspin. Er ist LOW, wenn er NICHT berührt wird, und HIGH, wenn er berührt wird. Verbinden Sie ihn mit einem Eingangspin des ESP32 C3 Super Mini.
Pinbelegung des Berührungssensors

Funktionsweise des Berührungssensors

Der Sensor erkennt die winzige Kapazitätsänderung, die Ihr Finger verursacht.

  • Nicht berührt: Der Zustand des SIGNAL-Pins ist LOW.
  • Berührt: Der Zustand des SIGNAL-Pins ist HIGH.
  • Losgelassen: Der SIGNAL-Pin geht wieder auf LOW.

ESP32 C3 Super Mini - Berührungssensor

Wir verbinden den SIGNAL-Pin des Berührungssensors mit einem Eingangspin des ESP32 C3 Super Mini und lesen den Zustand des Berührungssensors mit ESP32 C3 Super Mini Code aus.

WARNING

Der ESP32 C3 Super Mini arbeitet ausschließlich mit 3,3V-Logik. Versorgen Sie den Berührungssensor über den 3,3V-Pin, niemals mit 5V. Bei 5V Versorgung gibt der SIGNAL-Pin 5V aus, was einen GPIO-Pin des Boards beschädigen kann.

Schaltplan zwischen Berührungssensor und ESP32 C3 Super Mini

Verbinden Sie den SIGNAL-Pin des Sensors mit GPIO7 am ESP32 C3 Super Mini.

ESP32 C3 Super Mini Berührungssensor Schaltplan

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

Berührungssensor Pin ESP32 C3 Super Mini Pin
VCC 3.3V
GND GND
SIGNAL GPIO7
  • Hinweis: GPIO7 ist ein freier Pin. Verwenden Sie nicht GPIO8 (eingebaute LED), GPIO9 (Boot-Pin), GPIO20 oder GPIO21 (UART des Seriellen Monitors).
  • Hinweis: Es wird kein externer Widerstand benötigt. Das Modul steuert den SIGNAL-Pin bereits auf HIGH und LOW.
  • Hinweis: Halten Sie die Kabel kurz. Lange Kabel in der Nähe der Sensorfläche können den Sensor von selbst auslösen.
  • Hinweis: Legen Sie Ihren Finger nicht auf die Rückseite des Moduls, während es eingeschaltet wird. Der Chip kalibriert sich beim Einschalten selbst.

Wie man den Berührungssensor programmiert

Zum Auslesen des Berührungssensors werden nur zwei Funktionen benötigt.

  • Initialisieren Sie den Pin des ESP32 C3 Super Mini mit der Funktion pinMode() als digitalen Eingang. Zum Beispiel GPIO7:
pinMode(7, INPUT);
  • Lesen Sie den Zustand des Pins des ESP32 C3 Super Mini mit der Funktion digitalRead() aus.
int inputState = digitalRead(7);

Berührungssensor - ESP32 C3 Super Mini Code

Der folgende Code liest den Zustand des Berührungssensors aus und gibt ihn im Seriellen Monitor aus.

Was dieser Code macht:

  • Legt GPIO7 als digitalen Eingang fest.
  • Startet den Seriellen Monitor mit 115200 Baud.
  • Liest in jedem Schleifendurchlauf den SIGNAL-Pin.
  • Gibt 1 aus, wenn der Sensor berührt wird, und 0, wenn nicht.
/* * Dieser ESP32 C3 Super Mini Code wurde von newbiely.de entwickelt * Dieser ESP32 C3 Super Mini 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-c3/esp32-c3-super-mini-touch-sensor */ #define SENSOR_PIN 7 // The ESP32 C3 SuperMini pin connected to the sensor's SIGNAL pin of touch sensor void setup() { // Initialize the Serial to communicate with the Serial Monitor. Serial.begin(115200); // initialize the ESP32's pin as an input 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

  • Neu beim ESP32 C3 Super Mini? Absolvieren Sie zuerst unser Tutorial Erste Schritte mit dem ESP32 C3 Super Mini, um Ihre Entwicklungsumgebung einzurichten.
  • Bauteile verdrahten: Folgen Sie dem obigen Schaltplan, um den Berührungssensor mit dem ESP32 C3 Super Mini zu verbinden.
  • Board anschließen: Verbinden Sie den ESP32 C3 Super Mini über ein USB-Typ-C-Kabel mit Ihrem PC.
  • IDE öffnen: Starten Sie die Arduino IDE Software.
  • Board auswählen: Stellen Sie sicher, dass ESP32 C3 Super Mini unter Werkzeuge > Board ausgewählt ist.
  • Port auswählen: Wählen Sie den COM-Port Ihres Boards unter Werkzeuge > Port.
  • Code kopieren: Kopieren Sie den obigen Code und fügen Sie ihn in die Arduino IDE ein.
  • Code hochladen: Klicken Sie in der Arduino IDE auf die Schaltfläche Upload.
  • Seriellen Monitor öffnen: Stellen Sie die Baudrate auf 115200 ein.
  • Testen: Berühren Sie die Sensorfläche mit Ihrem Finger und lassen Sie sie dann los.
  • Ausgabe prüfen: Beobachten Sie, wie sich die Zahlen im Seriellen Monitor ändern.
  • Profi-Tipp: Wenn der Wert immer 1 ist, entfernen Sie Ihre Hand und die Kabel von der Sensorfläche und setzen Sie das Board zurück, damit sich der Chip neu kalibrieren kann.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32C3 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32C3 Dev Module' on 'COM15')
New Line
9600 baud
0 0 0 1 1 1 1 1 1 0 0
Ln 11, Col 1
ESP32C3 Dev Module on COM15
2

Wie man die Zustandsänderung von LOW zu HIGH erkennt

Die meisten Projekte benötigen den Moment der Berührung, nicht den Zustand selbst.

Was dieser Code macht:

  • Speichert den vorherigen Zustand des SIGNAL-Pins.
  • Vergleicht in jedem Schleifendurchlauf den vorherigen Zustand mit dem neuen Zustand.
  • Gibt nur dann eine Meldung aus, wenn der Zustand von LOW auf HIGH wechselt.
  • Ignoriert die lange Zeit, in der Ihr Finger auf der Sensorfläche bleibt.

※ Notiz:

Zwei häufige Anwendungsfälle für einen Berührungssensor sind:

  • Der erste Anwendungsfall: Wenn der Sensor berührt wird, wird eine bestimmte Aktion ausgeführt. Wenn er nicht berührt wird, wird die entgegengesetzte Aktion ausgeführt.
  • Der zweite Anwendungsfall: Wenn sich der Zustand des Sensors von NICHT berührt zu berührt ändert, wird eine bestimmte Aktion ausgeführt, z. B. das Umschalten einer LED.
/* * Dieser ESP32 C3 Super Mini Code wurde von newbiely.de entwickelt * Dieser ESP32 C3 Super Mini 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-c3/esp32-c3-super-mini-touch-sensor */ #define SENSOR_PIN 7 // The ESP32 C3 SuperMini pin connected to the sensor's SIGNAL pin of touch sensor int prev_state = LOW; // The previous state from the input pin int touch_state; // The current reading from the input pin void setup() { // Initialize the Serial to communicate with the Serial Monitor. Serial.begin(115200); // initialize the ESP32's pin as an input pinMode(SENSOR_PIN, INPUT); } void loop() { // read the state of the the input pin: touch_state = digitalRead(SENSOR_PIN); if (prev_state == LOW && touch_state == HIGH) Serial.println("The sensor is touched"); // save the the last state prev_state = touch_state; }
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32C3 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32C3 Dev Module' on 'COM15')
New Line
9600 baud
The sensor is touched The sensor is touched The sensor is touched The sensor is touched
Ln 11, Col 1
ESP32C3 Dev Module on COM15
2

Zeilenweise Code-Erklärung

Der obige ESP32 C3 Super Mini Code enthält eine zeilenweise Erklärung. Bitte lesen Sie die Kommentare im Code!

Anwendungs- und Projektideen

Ein Berührungssensor ist eine saubere und moderne Möglichkeit, Ihrem ESP32 C3 Super Mini einen Befehl zu geben.

  • Touch-Lampe: Schalten Sie eine LED oder eine Relais-Lampe mit einer Berührung ein und aus.
  • Türklingel: Spielen Sie einen Ton auf einem Summer ab, wenn jemand die Sensorfläche berührt.
  • Geheimer Schalter: Verstecken Sie das Modul hinter einer Holzplatte und öffnen Sie damit ein Schloss.
  • Berührungszähler: Zählen Sie die Berührungen und zeigen Sie die Summe auf einem LCD an.
  • Aufweck-Taster: Wecken Sie den ESP32 C3 Super Mini per Berührung aus dem Deep Sleep.
  • Wasserdichtes Bedienfeld: Platzieren Sie den Sensor unter Glas für ein Küchen- oder Badezimmerprojekt.

Fordern Sie sich heraus

Probieren Sie diese kleinen Projekte aus, um mit dem Berührungssensor und dem ESP32 C3 Super Mini zu üben.

  • Einfach: Schalten Sie die eingebaute LED an GPIO8 EIN, solange der Sensor berührt wird.
  • Einfach: Geben Sie TOUCHED und RELEASED statt 1 und 0 aus.
  • Mittel: Schalten Sie bei jeder Berührung des Sensors eine externe LED an GPIO3 um.
  • Mittel: Verwenden Sie zwei Berührungssensoren an GPIO7 und GPIO6 als Paar für Lauter / Leiser.
  • Fortgeschritten: Messen Sie, wie lange die Sensorfläche berührt wird, und reagieren Sie unterschiedlich auf kurzes und langes Drücken.

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!