Arduino - Grenzschalter

Der Endschalter wird in vielen Anwendungen wie der Motorsteuerung und Automatisierung eingesetzt. In diesem Tutorial lernen wir, wie man den Endschalter mit Arduino verwendet.

Arduino mit Grenzschalter

Bitte nicht mit dem Folgenden verwechseln:

Erforderliche Hardware

1×Arduino Uno R3
1×USB 2.0 Kabel Typ A/B (für USB-A PC)
1×USB 2.0 Kabel Typ C/B (für USB-C PC)
1×Endschalter (KW12-3)
1×Endschalter (V-153-1C25)
1×Endschalter (V-155-1C25)
1×Endschalter (V-156-1C25)
1×Wires
1×(Optional) Schrumpfschlauch-Set
1×(Optional) Lötkolben
1×(Empfohlen) Schraubklemmenblock-Shield für Arduino Uno
1×(Empfohlen) Breadboard-Shield für Arduino Uno
1×(Empfohlen) Gehäuse für Arduino Uno
1×(Empfohlen) Prototyping-Grundplatte & Breadboard-Kit für Arduino Uno

Oder Sie können die folgenden Kits kaufen:

1×DIYables STEM V3 Starter-Kit (Arduino enthalten)
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 Grenzschalter

Es wird Grenztaster genannt, weil seine Hauptfunktion darin besteht, zu erkennen, wenn das bewegliche Objekt eine Grenze erreicht.

Pinbelegung

Es gibt verschiedene Arten von Grenzschaltern, aber zu den am häufigsten verwendeten gehören die KW12-3 und V-156-1C25. Beide Typen verfügen über drei Pins:

  • C-Pin: ist der gemeinsame Pin. Er wird sowohl im normalerweise offenen Modus als auch im normalerweise geschlossenen Modus verwendet.
  • NO-Pin: ist der Pin, der normalerweise offen ist. Er wird im normalerweise offenen Modus verwendet.
  • NC-Pin: ist der Pin, der normalerweise geschlossen ist. Er wird im normalerweise geschlossenen Modus verwendet.
Endschalter-Pinbelegung
image source: diyables.io

Wie es funktioniert

Obwohl der Endschalter drei Pins hat, verwendet eine normale Anwendung in der Regel nur zwei Pins: den C-Pin und einen der beiden übrigen Pins. Dementsprechend gibt es vier Möglichkeiten, den Endschalter zu verwenden. Nachfolgend finden Sie die Verdrahtungstabelle für den Endschalter und den Auslesestatus am Arduino in allen vier Varianten.

C pin NO pin NC pin Arduino Input Pin's State
1 GND Arduino Input Pin (with pull-up) not connected HIGH when untouched, LOW when touched
2 GND not connected Arduino Input Pin (with pull-up) LOW when untouched, HIGH when touched
3 VCC Arduino Input Pin (with pull-down) not connected LOW when untouched, HIGH when touched
4 VCC not connected Arduino Input Pin (with pull-down) HIGH when untouched, LOW when touched

Für jeden Weg können wir den GND-Pin und den Arduino-Eingangspin vertauschen. Daher gibt es 8 Möglichkeiten, den Arduino mit einem Endschalter zu verbinden.

Wir müssen nur eine der vier oben genannten Möglichkeiten auswählen. Der Rest des Tutorials wird die erste Methode verwenden.

Verdrahtungsdiagramm

Arduino-Grenzschalter-Verdrahtungsdiagramm

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

Um die Verdrahtung stabil und fest zu machen, empfehlen wir, mit einem Lötkolben Drähte und den Pin des Endschalters zusammenzulöten, und anschließend Schrumpfschlauch, um es sicher zu machen.

Arduino-Code - Endschalter

Genauso wie ein Knopf muss auch ein Endschalter entprellt werden (Weitere Informationen finden Sie unter Warum braucht man eine Entprellung für Knopf/Endschalter?). Das Entprellen macht den Code kompliziert. Glücklicherweise unterstützt die ezButton-Bibliothek die Entprellfunktion. Die Bibliothek verwendet außerdem interne Pull-Up-Widerstände. Diese erleichtern uns das Programmieren.

※ Notiz:

Es gibt zwei häufig genutzte Anwendungsfälle:

  • Der erste: Wenn der Zustand des Schalters berührt ist, führe etwas aus. Wenn der Eingangsstatus nicht berührt ist, führe etwas anderes in umgekehrter Weise aus.
  • Der zweite: Wenn sich der Zustand des Schalters von nicht berührt zu berührt (oder von berührt zu nicht berührt) ändert, führe etwas aus.
/* * Dieser Arduino Code wurde von newbiely.de entwickelt * Dieser Arduino 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/arduino-limit-switch */ #include <ezButton.h> ezButton limitSwitch(7); // create ezButton object that attach to pin 7; void setup() { Serial.begin(9600); limitSwitch.setDebounceTime(50); // set debounce time to 50 milliseconds } void loop() { limitSwitch.loop(); // MUST call the loop() function first if(limitSwitch.isPressed()) Serial.println("The limit switch: UNTOUCHED -> TOUCHED"); if(limitSwitch.isReleased()) Serial.println("The limit switch: TOUCHED -> UNTOUCHED"); int state = limitSwitch.getState(); if(state == HIGH) Serial.println("The limit switch: UNTOUCHED"); else Serial.println("The limit switch: TOUCHED"); }

Schnelle Schritte

  • Verdrahten Sie gemäß dem oben gezeigten Verdrahtungsdiagramm
  • Schließen Sie den Arduino über ein USB-Kabel an den PC an
  • Öffnen Sie die Arduino-IDE
  • Installieren Sie die ezButton-Bibliothek. Siehe Anleitung
  • Wählen Sie das richtige Board und den richtigen Port
  • Klicken Sie im Arduino IDE auf die Schaltfläche Hochladen, um den Code auf den Arduino hochzuladen
  • Berühren Sie den Grenzschalter und lösen Sie ihn wieder
  • Sehen Sie das Ergebnis im seriellen Monitor
COM6
Send
The limit switch: UNTOUCHED The limit switch: UNTOUCHED The limit switch: UNTOUCHED The limit switch: UNTOUCHED -> TOUCHED The limit switch: TOUCHED The limit switch: TOUCHED The limit switch: TOUCHED The limit switch: TOUCHED The limit switch: TOUCHED The limit switch: TOUCHED The limit switch: TOUCHED The limit switch: TOUCHED The limit switch: TOUCHED The limit switch: TOUCHED The limit switch: TOUCHED -> UNTOUCHED The limit switch: UNTOUCHED The limit switch: UNTOUCHED The limit switch: UNTOUCHED The limit switch: UNTOUCHED
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.

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