Arduino Nano - Berührungssensor

Dieses Tutorial erklärt dir, wie man den kapazitiven Berührungssensor mit dem Arduino Nano verwendet. Im Detail werden wir Folgendes lernen:

Erforderliche Hardware

1×Official Arduino Nano
1×Alternativ: DIYables ATMEGA328P Nano Development Board
1×USB-A-zu-Mini-B-Kabel
1×Berührungssensor
1×Verbindungskabel
1×(Empfohlen) Schraubklemmen-Erweiterungsboard für Arduino Nano
1×(Empfohlen) Breakout-Erweiterungsboard für Arduino Nano
1×(Empfohlen) Stromverteiler für Arduino Nano

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, ist ein weit verbreitetes Gerät zur Steuerung anderer Geräte, wie z. B. eine berührungsempfindliche Lampe. Er erfüllt die gleiche Funktion wie ein Knopf, wird aber bei modernen Geräten oft gegenüber einem Knopf gewählt, um ihnen ein eleganteres Erscheinungsbild zu verleihen.

Die Pinbelegung des Berührungssensors

Der Berührungssensor hat drei Anschlüsse:

  • Der GND-Pin muss mit der Masse (0 V) verbunden werden.
  • Der VCC-Pin muss mit der Spannungsquelle verbunden werden (5 V oder 3,3 V).
  • Der SIGNAL-Pin ist ein Ausgangspin. Er ist LOW, wenn er nicht berührt wird, und HIGH, wenn er berührt wird. Dieser Pin sollte mit einem Eingangspin des Arduino Nano verbunden werden.
Berührungssensor-Pinbelegung

Wie es funktioniert

  • Wenn der Sensor nicht berührt wird, liegt der SIGNAL-Pin des Sensors auf einem niedrigen Pegel.
  • Umgekehrt gilt: Wenn der Sensor berührt wird, befindet sich der SIGNAL-Pin des Sensors auf einem hohen Pegel.

Arduino Nano - Berührungssensor

Der SIGNAL-Pin des Berührungssensors ist mit einem Eingangspin eines Arduino Nano verbunden. Durch Überprüfen des Status eines Eingangs-Pins des Arduino Nano können wir feststellen, ob der Berührungssensor berührt wurde oder nicht.

Verdrahtungsdiagramm

Schaltplan für Arduino Nano Berührungssensor

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

Siehe Der beste Weg, den Arduino Nano und andere Komponenten mit Strom zu versorgen.

Wie man einen Berührungssensor programmiert

  • Initialisiert den Pin des Arduino Nano in den digitalen Eingangsmodus mit der Funktion pinMode(). Zum Beispiel setzt der untenstehende Code Pin 2 in den Eingangsmodus.
pinMode(2, INPUT_PULLUP);
  • Verwendet die digitalRead()-Funktion, um den Zustand des Arduino Nano-Pins auszulesen.
int inputState = digitalRead(2);

※ Notiz:

Zwei gängige Szenarien existieren:

  • Das erste Szenario: Wenn der Eingang hoch ist, führe eine Aktion aus. Wenn der Eingang niedrig ist, führe die gegenteilige Aktion aus.
  • Das zweite Szenario: Wenn sich der Eingang von niedrig zu hoch (oder umgekehrt) ändert, führe eine Aktion aus.

Je nach Anwendung können wir eines davon auswählen. Zum Beispiel, wenn wir einen Berührungssensor verwenden, um eine LED zu steuern:

  • Wenn die LED eingeschaltet sein soll, wenn der Sensor berührt wird, und ausgeschaltet wird, wenn der Sensor nicht berührt wird, sollten wir das erste Szenario verwenden.
  • Wenn wir möchten, dass die LED bei jedem Berühren des Sensors zwischen EIN und AUS wechselt, sollten wir das zweite Szenario verwenden.

Arduino Nano-Code für Berührungssensor

Wir werden zwei Beispielcodes ausführen:

  • Arduino Nano liest den Wert des Berührungssensors aus und gibt ihn im Serial Monitor aus.
  • Arduino Nano erkennt Berührungsvorgänge und Nichtberührungsvorgänge.

Arduino Nano liest den Wert vom Touch-Sensor aus und gibt ihn im Serial Monitor aus

/* * Dieser Arduino Nano Code wurde von newbiely.de entwickelt * Dieser Arduino Nano 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/arduino-nano/arduino-nano-touch-sensor */ #define TOUCH_SENSOR_PIN 2 // The Arduino Nano pin connected to the touch sensor void setup() { // Initialize the Serial to communicate with the Serial Monitor. Serial.begin(9600); // initialize the Arduino Nano pin as an input pinMode(TOUCH_SENSOR_PIN, INPUT); } void loop() { // read the state of the the input pin: int state = digitalRead(TOUCH_SENSOR_PIN); // print state to Serial Monitor Serial.println(state); }

Schnelle Schritte

  • Kopieren Sie den Code und öffnen Sie ihn mit der Arduino IDE.
  • Klicken Sie auf die Hochladen-Schaltfläche in der Arduino IDE, um den Code zu kompilieren und auf den Arduino Nano hochzuladen.
  • Legen Sie Ihren Finger auf den Sensor und nehmen Sie ihn anschließend wieder ab.
  • Überprüfen Sie das Ergebnis im Serial Monitor.
COM6
Send
0 0 0 1 1 1 1 1 1 0 0
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Arduino Nano erkennt, ob der Sensor berührt oder losgelassen wird

/* * Dieser Arduino Nano Code wurde von newbiely.de entwickelt * Dieser Arduino Nano 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/arduino-nano/arduino-nano-touch-sensor */ #define TOUCH_SENSOR_PIN 2 // The Arduino Nano pin connected to the 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(9600); // initialize the Arduino Nano pin as an input pinMode(TOUCH_SENSOR_PIN, INPUT); } void loop() { // read the state of the the input pin: touch_state = digitalRead(TOUCH_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

  • Kopieren Sie den Code und öffnen Sie ihn mit der Arduino IDE.
  • Klicken Sie in der Arduino IDE auf die Schaltfläche Hochladen, um den Code auf den Arduino Nano zu übertragen.
  • Berühren Sie den Sensor mit Ihrem Finger.
  • Überprüfen Sie die Ausgabe im Serial Monitor.
COM6
Send
The sensor is touched
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  
  • Entfernen Sie Ihren Finger vom Berührungssensor.
  • Überprüfen Sie die Ausgabe im seriellen Monitor.
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!