ESP32 C3 Super Mini - Endschalter
Ein Endschalter teilt Ihrem ESP32 C3 Super Mini mit, wann ein bewegliches Teil das Ende seines Weges erreicht hat. Er ist eine günstige und sehr zuverlässige Möglichkeit, Motoren, Türen, Schlitten und 3D-Drucker-Achsen zu schützen. Dieses ESP32 C3 Super Mini Endschalter-Tutorial zeigt Ihnen die Verdrahtung und den Code in einfachen Schritten.
In diesem Tutorial lernen Sie:
- Was ein Endschalter ist und wie er funktioniert
- Was die Pins C, NO und NC bewirken
- Wie Sie einen Endschalter mit dem ESP32 C3 Super Mini verdrahten
- Wie Sie den Zustand TOUCHED / UNTOUCHED im Code auslesen
- Wie Sie den Schalter mit der ezButton-Bibliothek entprellen

Dieses Tutorial behandelt nur den Endschalter. Bitte verwechseln Sie ihn nicht mit:
Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
| 1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Überblick über Limit Switch
Ein Endschalter ist ein mechanischer Schalter, der von einem beweglichen Objekt betätigt wird, wenn dieses eine Grenze erreicht.
Wichtige Merkmale:
- Mechanisch: Ein Metallhebel oder eine Rolle drückt auf den Kontakt.
- Keine Stromversorgung nötig: Der Schalter selbst benötigt keine Versorgungsspannung.
- Zwei Modi: Funktioniert als Schließer (NO) oder als Öffner (NC).
- Langer Hebel: Leicht zu treffen, selbst von einem langsam bewegten Teil.
- Sehr zuverlässig: Gemacht für Maschinen, Türen und bewegliche Schienen.
Technische Daten:
- Gängige Modelle: KW12-3 und V-156-1C25.
- Pins: 3 Pins (C, NO, NC).
- Kontaktart: SPDT (ein gemeinsamer Pin, zwei Ausgänge).
- Signal für den ESP32 C3 Super Mini: Nur 3,3-V-Logik. Verbinden Sie den Schalter mit GND oder 3.3V, niemals mit 5V.
- Ausgang: Ein einfacher offener oder geschlossener Kontakt, der von jedem digitalen Pin gelesen werden kann.
Pinbelegung
Es gibt viele Arten von Endschaltern. Der KW12-3 und der V-156-1C25 sind die beliebtesten. Beide haben drei Pins.
- C-Pin: Der gemeinsame Pin. Er wird sowohl im Schließer- als auch im Öffner-Modus verwendet.
- NO-Pin: Der Schließer-Pin (normalerweise offen). Er wird im Schließer-Modus verwendet.
- NC-Pin: Der Öffner-Pin (normalerweise geschlossen). Er wird im Öffner-Modus verwendet.

Funktionsweise
Ein Endschalter verwendet normalerweise nur zwei Pins: den C-Pin und einen der beiden anderen Pins.
- Nicht betätigt: C ist mit NC verbunden. C ist NICHT mit NO verbunden.
- Betätigt: C ist mit NO verbunden. C ist NICHT mit NC verbunden.
Daraus ergeben sich vier Möglichkeiten, einen Endschalter zu verwenden. Die folgende Tabelle zeigt für jede Möglichkeit die Verdrahtung und den Zustand, den der ESP32 C3 Super Mini liest.
| C-Pin | NO-Pin | NC-Pin | Zustand des Eingangspins am ESP32 C3 Super Mini | |
|---|---|---|---|---|
| 1 | GND | Eingangspin des ESP32 C3 Super Mini (mit Pull-up) | nicht verbunden | HIGH wenn nicht betätigt, LOW wenn betätigt |
| 2 | GND | nicht verbunden | Eingangspin des ESP32 C3 Super Mini (mit Pull-up) | LOW wenn nicht betätigt, HIGH wenn betätigt |
| 3 | 3.3V | Eingangspin des ESP32 C3 Super Mini (mit Pull-down) | nicht verbunden | LOW wenn nicht betätigt, HIGH wenn betätigt |
| 4 | 3.3V | nicht verbunden | Eingangspin des ESP32 C3 Super Mini (mit Pull-down) | HIGH wenn nicht betätigt, LOW wenn betätigt |
Wenn Sie bei jeder der vier Möglichkeiten den GND-Pin und den Eingangspin des ESP32 C3 Super Mini vertauschen, gibt es insgesamt acht Möglichkeiten, einen ESP32 C3 Super Mini mit einem Endschalter zu verbinden.
Dieses Tutorial verwendet nur die erste Möglichkeit, da sie keinen zusätzlichen Widerstand benötigt. Der ESP32 C3 Super Mini hat einen internen Pull-up-Widerstand im Chip.
WARNING
Der ESP32 C3 Super Mini arbeitet nur mit 3,3-V-Logik. Verbinden Sie den C-Pin niemals mit einer 5V-Versorgung. 5V an einem GPIO-Pin kann die Platine beschädigen. Verwenden Sie nur GND oder den 3.3V-Pin.
Verdrahtungsdiagramm
Verbinden Sie den C-Pin mit GND und den NO-Pin mit einem freien GPIO-Pin am ESP32 C3 Super Mini.

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
| Endschalter-Pin | ESP32 C3 Super Mini Pin |
|---|---|
| C | GND |
| NO | GPIO7 |
| NC | nicht verbunden |
- Hinweis: GPIO7 ist ein freier Pin. Verwenden Sie nicht GPIO8 (eingebaute LED), GPIO9 (Boot-Pin), GPIO20 oder GPIO21 (UART des seriellen Monitors).
- Hinweis: Es ist kein externer Widerstand nötig. Der Code aktiviert den internen Pull-up-Widerstand.
- Hinweis: Für eine stabile und sichere Verbindung verwenden Sie einen Lötkolben, um die Drähte und die Pins des Endschalters zusammenzulöten, und decken Sie die Lötstelle anschließend mit Schrumpfschläuchen ab.
- Hinweis: Halten Sie die Schalterleitungen kurz. Lange Leitungen fangen Störungen ein und verursachen Fehlmessungen.
ESP32 C3 Super Mini Code - Endschalter
Wie ein Taster muss auch ein Endschalter entprellt werden, und die ezButton-Bibliothek erledigt diese Arbeit für Sie.
- Warum entprellen: Der Metallkontakt prellt, sodass eine einzige Berührung wie viele Berührungen aussehen kann. Siehe Warum muss ein Taster/Endschalter entprellt werden?.
- Warum ezButton: Die ezButton-Bibliothek übernimmt das Entprellen und aktiviert den internen Pull-up-Widerstand für Sie.
Was dieser Code macht:
- Legt GPIO7 als Eingang mit internem Pull-up-Widerstand fest.
- Entprellt den Endschalter mit einem 50-ms-Filter.
- Gibt in jedem Schleifendurchlauf TOUCHED oder UNTOUCHED aus.
- Gibt eine Meldung aus, wenn der Zustand von UNTOUCHED zu TOUCHED wechselt.
- Gibt eine Meldung aus, wenn der Zustand von TOUCHED zu UNTOUCHED wechselt.
※ Notiz:
Zwei häufige Anwendungsfälle für einen Endschalter sind:
- Der erste Anwendungsfall: Wenn der Schalter TOUCHED ist, wird eine bestimmte Aktion ausgeführt. Wenn der Eingangszustand UNTOUCHED ist, wird die entgegengesetzte Aktion ausgeführt.
- Der zweite Anwendungsfall: Wenn der Zustand des Schalters von UNTOUCHED zu TOUCHED (oder von TOUCHED zu UNTOUCHED) wechselt, wird eine bestimmte Aktion ausgeführt.
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.
- Teile verdrahten: Folgen Sie dem obigen Schaltplan, um den Endschalter mit dem ESP32 C3 Super Mini zu verbinden.
- Platine 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.
- Bibliothek installieren: Installieren Sie die ezButton-Bibliothek. Siehe die Anleitung.
- Board auswählen: Stellen Sie sicher, dass ESP32 C3 Super Mini unter Tools > Board ausgewählt ist.
- Port auswählen: Wählen Sie den COM-Port Ihrer Platine unter Tools > Port.
- Code hochladen: Klicken Sie in der Arduino IDE auf die Schaltfläche Upload.
- Seriellen Monitor öffnen: Stellen Sie die Baudrate auf 115200 ein.
- Testen: Drücken Sie den Hebel des Endschalters einige Male und lassen Sie ihn wieder los.
- Ausgabe prüfen: Beobachten Sie die Meldungen im seriellen Monitor.
- Profi-Tipp: Wenn sich der Zustand nie ändert, tauschen Sie den NO-Pin und den NC-Pin. Bei vielen günstigen Schaltern sind die Beschriftungen vertauscht aufgedruckt.
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-/Projektideen
Ein Endschalter wird immer dann eingesetzt, wenn ein bewegliches Teil an einem sicheren Punkt anhalten muss.
- 3D-Drucker-Endstopp: Stoppen Sie eine Achse, bevor sie gegen den Rahmen fährt.
- Automatische Tür: Erkennen Sie, wann eine Schiebetür vollständig geöffnet oder geschlossen ist.
- Schubladenalarm: Senden Sie eine Warnung, wenn eine Schublade oder ein Schrank geöffnet wird.
- Motorschutz: Unterbrechen Sie die Stromversorgung eines Linearantriebs am Ende seines Weges.
- Objektzähler: Zählen Sie Kartons, die auf einem kleinen Förderband vorbeilaufen.
- Sicherheitsabdeckung: Stoppen Sie eine Maschine, wenn ihr Deckel angehoben wird.
Fordern Sie sich selbst heraus
Probieren Sie diese kleinen Projekte aus, um mit dem Endschalter und dem ESP32 C3 Super Mini zu üben.
- Einfach: Schalten Sie die eingebaute LED an GPIO8 EIN, solange der Endschalter betätigt ist.
- Einfach: Zählen Sie, wie oft der Schalter betätigt wird, und geben Sie die Gesamtzahl aus.
- Mittel: Verwenden Sie zwei Endschalter an GPIO6 und GPIO7, um beide Enden einer Schiene zu erkennen.
- Mittel: Stoppen Sie einen Servomotor, sobald der Endschalter betätigt wird.
- Fortgeschritten: Verwenden Sie den NC-Modus statt des NO-Modus, sodass auch ein gebrochenes Kabel als Alarm gemeldet wird.