ESP32 - Schrittmotor und Endschalter
In diesem ESP32-Tutorial zeigen wir, wie man den ESP32, einen Endschalter, den L298N-Treiber und einen Schrittmotor verwendet. Genauer gesagt, behandeln wir Folgendes:
- Den Schrittmotor stoppen, wenn ein Endschalter betätigt wird.
- Die Drehrichtung des Schrittmotors ändern, wenn ein Endschalter betätigt wird.
- Die Drehrichtung des Schrittmotors ändern, wenn zwei Endschalter betätigt werden.
Diese Themen ermöglichen es Ihnen, mit Ihrem ESP32 kontrollierte und vielseitige Bewegungsanwendungen zu erstellen.
Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
1 | × | DIYables ESP32 Starter-Kit (ESP32 enthalten) | |
1 | × | DIYables Sensor-Kit (30 Sensoren/Displays) | |
1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Über Schrittmotor und Endschalter
Wenn Sie nichts über Schrittmotoren und Endschalter wissen (Pinbelegung, wie sie funktionieren, wie man sie programmiert ...), lernen Sie in den folgenden Tutorials mehr darüber:
- ESP32 - Limit Switch tutorial
- ESP32 - Controls Stepper Motor tutorial
Verdrahtungsdiagramm
Dieses Tutorial liefert die ESP32-Codes für zwei Fälle: einen Schrittmotor mit einem Endschalter und einen Schrittmotor mit zwei Endschaltern.
- Verdrahtungsdiagramm zwischen dem Schrittmotor und einem Endschalter

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Wenn Sie nicht wissen, wie Sie ESP32 und andere Komponenten mit Strom versorgen, finden Sie Anleitungen im folgenden Tutorial: Wie man ESP32 mit Strom versorgt.
- Verdrahtungsdiagramm zwischen dem Schrittmotor und zwei Endschaltern

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
※ Notiz:
Je nach Schrittmotor kann die Verdrahtung zwischen dem Schrittmotor und dem L298N unterschiedlich sein. Bitte werfen Sie einen genauen Blick auf dieses ESP32 - Stepper Motor Tutorial, um zu sehen, wie der Schrittmotor an den L298N-Motortreiber angeschlossen wird.
ESP32-Code - Schrittmotor durch einen Grenzschalter stoppen
Es gibt mehrere Möglichkeiten, einen Schrittmotor zum Stillstand zu bringen:
- Rufen Sie die Funktion stepper.stop() auf: Auf diese Weise wird der Schrittmotor nicht sofort gestoppt, sondern allmählich
- Rufen Sie NICHT die Funktion stepper.run() auf: Auf diese Weise wird der Schrittmotor sofort gestoppt
Der unten stehende Code lässt einen Schrittmotor unendlich drehen und stoppt ihn sofort, wenn ein Endschalter berührt wird.
Schnelle Schritte
- Wenn Sie ESP32 zum ersten Mal verwenden, sehen Sie wie man die Umgebung für ESP32 in der Arduino IDE einrichtet.
- Schließen Sie die Verkabelung wie im obigen Bild.
- Schließen Sie das ESP32-Board über ein Micro-USB-Kabel an Ihren PC an.
- Öffnen Sie die Arduino IDE auf Ihrem PC.
- Wählen Sie das richtige ESP32-Board (z. B. ESP32 Dev Module) und den COM-Port aus.
- Verbinden Sie den ESP32 über USB-Kabel mit dem PC.
- Öffnen Sie die Arduino IDE, wählen Sie das richtige Board und den richtigen Port.
- Klicken Sie auf das Libraries-Symbol in der linken Leiste der Arduino IDE.
- Suchen Sie “ezButton”, und finden Sie dann die Button-Bibliothek von ArduinoGetStarted.com.
- Klicken Sie auf die Install-Schaltfläche, um die ezButton-Bibliothek zu installieren.

- Suchen Sie nach “AccelStepper”, dann finden Sie die AccelStepper-Bibliothek von Mike McCauley
- Klicken Sie auf die Schaltfläche Installieren, um die AccelStepper-Bibliothek zu installieren.

- Kopieren Sie den obigen Code und öffnen Sie ihn mit der Arduino IDE
- Klicken Sie auf die Schaltfläche Hochladen in der Arduino IDE, um den Code auf den ESP32 hochzuladen
- Wenn die Verkabelung korrekt ist, sehen Sie, dass der Motor sich im Uhrzeigersinn dreht.
- Berühren Sie den Endschalter
- Sie sehen, dass der Motor sofort stoppt
- Das Ergebnis im Serial Monitor sieht wie unten aus
Code-Erklärung
Sie finden die Erläuterung in der Kommentarzeile des obigen Arduino-Codes.
ESP32-Code - Richtung des Schrittmotors durch einen Endschalter ändern
Der folgende Code lässt einen Schrittmotor unendlich drehen und seine Drehrichtung ändern, wenn ein Endschalter berührt wird.
Schnelle Schritte
- Kopieren Sie den obigen Code und öffnen Sie ihn in der Arduino IDE.
- Klicken Sie auf die Hochladen-Schaltfläche in der Arduino IDE, um den Code auf den ESP32 hochzuladen.
- Wenn die Verkabelung korrekt ist, sehen Sie, dass sich der Motor im Uhrzeigersinn dreht.
- Berühren Sie den Endschalter.
- Sie sehen, dass sich die Drehrichtung des Schrittmotors gegen den Uhrzeigersinn ändert.
- Berühren Sie erneut den Endschalter.
- Sie sehen, dass sich die Drehrichtung des Schrittmotors wieder zum Uhrzeigersinn ändert.
- Das Ergebnis im seriellen Monitor sieht wie folgt aus.
ESP32-Code – Richtungswechsel des Schrittmotors durch zwei Endschalter
Der untenstehende Code lässt einen Schrittmotor endlos drehen und die Drehrichtung ändern, wenn einer von zwei Endschaltern berührt wird.
Schnelle Schritte
- Kopiere den obigen Code und öffne ihn in der Arduino IDE
- Klicke auf den Hochladen-Button in der Arduino IDE, um den Code auf den ESP32 hochzuladen
- Wenn die Verkabelung korrekt ist, wirst du sehen, dass sich der Motor im Uhrzeigersinn dreht.
- Berühre den Grenzschalter 1.
- Du wirst sehen, dass sich die Drehrichtung des Schrittmotors gegen den Uhrzeigersinn ändert.
- Berühre den Grenzschalter 2.
- Du wirst sehen, dass sich die Drehrichtung des Schrittmotors im Uhrzeigersinn ändert.
- Das Ergebnis im seriellen Monitor sieht folgendermaßen aus:
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.