Arduino Mega - Endschalter (Limit Switch)

Diese Anleitung zeigt Ihnen, wie Sie einen Endschalter (Limit Switch) mit dem Arduino Mega verwenden. Folgendes werden wir lernen:

Arduino Mega with Limit Switch

Benötigte Hardware

1×Arduino Mega
1×USB 2.0 Kabel Typ A/B
1×Endschalter (KW12-3)
1×Endschalter (V-156-1C25)
1×Drähte
1×(Optional) Schrumpfschlauch
1×(Optional) Lötkolben
1×(Empfohlen) Screw Terminal Block Shield for Arduino Uno/Mega
1×(Empfohlen) Breadboard Shield for Arduino Mega
1×(Empfohlen) Enclosure for Arduino Mega

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 Endschalter

Dies wird als Endschalter bezeichnet, da seine Hauptaufgabe darin besteht, zu erkennen, wenn sich etwas Bewegliches einer Grenze nähert. Er wird auch als Fahrschalter oder Travel Switch bezeichnet.

Pinout

Viele Arten von Endschaltern werden häufig verwendet, einschließlich KW12-3 und V-156-1C25. Beide haben drei Pins.

  • C Pin: Der gemeinsame Pin (Common). Er funktioniert sowohl im normalerweise offenen als auch im normalerweise geschlossenen Modus.
  • NO Pin: Der normalerweise offene Pin (Normally Open). Er wird verwendet, wenn sich der Schalter in der normalerweise offenen Position befindet.
  • NC Pin: Der normalerweise geschlossene Pin (Normally Closed). Er wird verwendet, wenn sich der Schalter in der normalerweise geschlossenen Position befindet.
Limit Switch Pinout
image source: diyables.io

Funktionsweise

Der Endschalter hat drei Pins, aber normalerweise verwenden Sie nur zwei: den C Pin und einen der anderen beiden Pins. Es gibt vier verschiedene Möglichkeiten, den Endschalter anzuschließen. Hier ist eine Tabelle, die zeigt, wie der Schalter angeschlossen wird und was er am Arduino Mega für alle vier Methoden liest:

C Pin NO Pin NC Pin Arduino Mega Input Pin Zustand
1 GND Arduino Mega Input Pin (mit Pull-up) NICHT verbunden HIGH wenn unberührt, LOW wenn berührt
2 GND NICHT verbunden Arduino Mega Input Pin (mit Pull-up) LOW wenn unberührt, HIGH wenn berührt
3 VCC Arduino Mega Input Pin (mit Pull-down) NICHT verbunden LOW wenn unberührt, HIGH wenn berührt
4 VCC NICHT verbunden Arduino Mega Input Pin (mit Pull-down) HIGH wenn unberührt, LOW wenn berührt

Wir können den Ground Pin und den Input Pin des Arduino Mega für jede Methode vertauschen. Dies gibt uns acht Möglichkeiten, den Arduino Mega mit einem Endschalter zu verbinden.

Wir müssen nur eine der vier oben erwähnten Methoden wählen. Wir werden die erste Methode für den Rest dieses Tutorials verwenden.

Schaltplan

Arduino Mega limit switch wiring diagram

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

Arduino Mega Code - Endschalter

Wie ein Button benötigt auch ein Endschalter Entprellung (Debouncing) (Erfahren Sie mehr unter Why debouncing is needed for the button/limit switch?). Entprellung kann den Code komplexer machen. Glücklicherweise verfügt die ezButton library über eine Entprellungsfunktion und verwendet einen eingebauten Pull-up-Widerstand, was die Programmierung für uns einfacher macht.

※ Notiz:

Hier sind zwei häufige Fälle:

  • Fall 1: Wenn der Schalter EIN ist, tue eine Sache. Wenn er AUS ist, tue etwas anderes.
  • Fall 2: Wenn der Schalter von AUS zu EIN oder von EIN zu AUS wechselt, tue etwas.
/* * Dieser Arduino Mega Code wurde von newbiely.de entwickelt * Dieser Arduino Mega 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-mega/arduino-mega-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

Befolgen Sie diese Schritte nacheinander.

  • Verbinden Sie den Endschalter mit dem Arduino Mega wie im Schaltplan gezeigt.
  • Verbinden Sie den Arduino Mega mit Ihrem Computer über ein USB-Kabel.
  • Öffnen Sie die Arduino IDE auf Ihrem Computer.
  • Wählen Sie das richtige Arduino Mega Board (zum Beispiel Arduino Mega) und den COM-Port.
  • Installieren Sie die ezButton Bibliothek, indem Sie dieser Anleitung folgen: ezButton Library Guide (https://arduinogetstarted.com/tutorials/arduino-button-library#content_how_to_install_library)
  • Klicken Sie auf die Upload Schaltfläche in der Arduino IDE, um den Code auf den Arduino Mega hochzuladen.
  • Drücken und lassen Sie den Endschalter los.
  • Überprüfen Sie die Ergebnisse im Serial 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!