ESP8266 - Berührungssensor

Dieses Tutorial zeigt dir, wie du den kapazitiven Touchsensor mit dem ESP8266 verwendest. Im Detail werden wir Folgendes lernen:

Erforderliche Hardware

1×ESP8266 NodeMCU
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×Verbindungskabel
1×(Empfohlen) Schraubklemmen-Erweiterungsboard für ESP8266
1×(Empfohlen) Stromverteiler für ESP8266 Typ-C

Oder Sie können die folgenden Kits kaufen:

1×DIYables Sensor-Kit (30 Sensoren/Displays)
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.

Über den Berührungssensor

Ein kapazitiver Berührungssensor, auch bekannt als Berührungstaster oder Berührungsschalter, wird üblicherweise verwendet, um Geräte zu steuern, zum Beispiel eine berührungsempfindliche Lampe. Er hat denselben Zweck wie ein Knopf, wird jedoch auf vielen modernen Geräten anstelle eines Knopfs verwendet, aufgrund seines schlanken Designs.

Die Pinbelegung des Touch-Sensors

Der Berührungssensor hat drei Anschlüsse:

  • GND-Pin: Dieser Pin sollte mit der Masse verbunden werden (0 V).
  • VCC-Pin: Dieser Pin sollte mit der VCC-Spannung verbunden werden (5 V oder 3,3 V).
  • SIGNAL-Pin: Das ist ein Ausgabepin. Er wird LOW sein, wenn er nicht berührt wird, und HIGH, wenn er berührt wird. Dieser Pin sollte mit einem ESP8266-Eingangspin verbunden werden.
Pinbelegung des Berührungssensors

Wie es funktioniert

  • Wenn der Sensor nicht berührt wird, befindet sich der SIGNAL-Pin des Sensors auf einem Niedrigpegel.
  • Wenn der Sensor jedoch berührt wird, befindet sich der SIGNAL-Pin des Sensors auf einem Hochpegel.

ESP8266 - Berührungssensor

Der SIGNAL-Pin des Berührungssensors ist mit einem Eingangspin des ESP8266 verbunden. Wir können feststellen, ob der Berührungssensor berührt wurde, indem wir den Zustand des Pins des ESP8266 überprüfen.

Verdrahtungsdiagramm

ESP8266 NodeMCU-Berührungssensor-Schaltplan

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

Weitere Informationen finden Sie unter ESP8266-Pinbelegung und wie man ESP8266 und andere Komponenten mit Strom versorgt.

Wie programmiert man einen Berührungssensor?

  • Setzen Sie den ESP8266-Pin in den digitalen Eingabemodus mit der pinMode()-Funktion. Zum Beispiel:
pinMode(D7, INPUT);
  • Lies den Zustand des ESP8266-Pins mittels der digitalRead() Funktion.
int inputState = digitalRead(D7);

※ Notiz:

Es gibt zwei gängige Szenarien:

  • Das erste: Wenn der Eingangsstatus HIGH ist, führe eine Aktion aus. Wenn der Eingangsstatus LOW ist, führe die entgegengesetzte Aktion aus.
  • Das zweite: Wenn sich der Eingangsstatus von LOW nach HIGH (oder HIGH nach LOW) ändert, führe eine Aktion aus.

Wir wählen eines von ihnen je nach Zweck der Anwendung. Zum Beispiel, wenn wir einen Berührungssensor verwenden möchten, um eine LED zu steuern:

  • Wenn das Ziel ist, dass die LED AN ist, wenn der Sensor berührt wird, und AUS, wenn der Sensor NICHT berührt wird, sollten wir das erste Szenario verwenden.
  • Wenn das Ziel ist, dass die LED bei jeder Berührung des Sensors zwischen EIN und AUS wechselt, sollten wir das zweite Szenario verwenden.

Berührungssensor - ESP8266 Code

Das Tutorial bietet zwei Beispielcodes:

  • ESP8266 liest den Wert des Touch-Sensors aus und gibt ihn im seriellen Monitor aus.
  • ESP8266 erkennt, ob der Sensor berührt oder losgelassen wird.

ESP8266 liest den Wert des Berührungssensors aus und gibt ihn im Serial Monitor aus

/* * Dieser ESP8266 NodeMCU Code wurde von newbiely.de entwickelt * Dieser ESP8266 NodeMCU 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/esp8266/esp8266-touch-sensor */ #define SENSOR_PIN D7 // The ESP8266 NodeMCU input pin that connects to the sensor's SIGNAL pin void setup() { // Initialize the Serial to communicate with the Serial Monitor. Serial.begin(9600); // initialize the ESP8266 NodeMCU'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

Um mit dem ESP8266 in der Arduino-IDE zu beginnen, befolgen Sie diese Schritte:

  • Schau dir das Tutorial: Wie man die Umgebung für ESP8266 in der Arduino IDE einrichtet an, falls dies dein erster Einsatz von ESP8266 ist.
  • Verbinde die Bauteile wie im Diagramm gezeigt.
  • Schließe das ESP8266-Board mit einem USB-Kabel an deinen Computer an.
  • Öffne die Arduino-IDE auf deinem Computer.
  • Wähle das richtige ESP8266-Board aus, z. B. NodeMCU 1.0 (ESP-12E Module), und seinen entsprechenden COM-Port.
  • Kopiere den Code und öffne ihn in der Arduino-IDE.
  • Klicke im IDE auf die Upload-Schaltfläche, um den Code auf den ESP8266 zu übertragen.
  • Lege deinen Finger auf den Sensor und entferne ihn anschließend.
  • Überprüfe die Ausgabe im Serial Monitor.
COM6
Send
0 0 0 1 1 1 1 1 1 0 0
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

ESP8266 erkennt, wenn der Sensor berührt oder losgelassen wird

/* * Dieser ESP8266 NodeMCU Code wurde von newbiely.de entwickelt * Dieser ESP8266 NodeMCU 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/esp8266/esp8266-touch-sensor */ #define SENSOR_PIN D7 // The ESP8266 NodeMCU input pin that connects to the sensor's SIGNAL pin 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(9600); // initialize the ESP8266 NodeMCU'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"); else if(prev_state == HIGH && touch_state == LOW) Serial.println("The sensor is released"); // save the the last state prev_state = touch_state; }

Schnelle Schritte

  • Kopiere den Code und öffne ihn mit der Arduino IDE.
  • Klicke auf die Schaltfläche Hochladen in der Arduino IDE, um den Code zu kompilieren und auf den ESP8266 hochzuladen.
  • Halte deinen Finger am Sensor gedrückt.
  • Überprüfe das Ergebnis im Seriellen Monitor.
COM6
Send
The sensor is touched
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  
  • Entfernen Sie Ihren Finger vom Sensor.
  • Überprüfen Sie den seriellen Monitor auf das Ergebnis.
COM6
Send
The sensor is touched The sensor is released
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

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.

Funktionsreferenzen

※ 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!