ESP32 - Servomotor
Dieses Tutorial zeigt Ihnen, wie Sie einen Servomotor mit einem ESP32 und MicroPython steuern. Im Einzelnen lernen wir:
- Wie man den ESP32 mit einem Servomotor verbindet
- Wie man MicroPython-Code für den ESP32 schreibt, um einen Servomotor zu steuern
- Wie man die Geschwindigkeit eines Servomotors steuert

Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
| 1 | × | DIYables ESP32 Starter-Kit (ESP32 enthalten) | |
| 1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Kaufhinweis: Falls Sie mehrere Servomotoren verwenden möchten, empfehlen wir die Verwendung des PCA9685 16 Channel PWM Servo Driver Module, um MCU-Pins zu sparen und die Verdrahtung zu vereinfachen.
Überblick über Servo Motor
Ein Servomotor ist ein Bauteil, das seinen Hebel drehen kann, typischerweise von 0 bis 180 Grad. Er wird verwendet, um die Position eines Objekts einzustellen.
Pinbelegung
Dieses Beispiel zeigt die Verwendung eines Servomotors mit drei Pins:
- VCC-Pin: Verbinden Sie den roten Draht mit VCC (5 Volt).
- GND-Pin: Verbinden Sie den schwarzen oder braunen Draht mit GND (0 Volt).
- Signal-Pin: Verbinden Sie den gelben oder orangefarbenen Draht, um das PWM-Steuersignal von einem ESP32-Pin zu empfangen.

Verdrahtungsdiagramm
Online-Schaltpläne zeigen möglicherweise eine Verbindung zwischen dem VCC-Pin eines Servomotors und dem VBUS-Pin des ESP32-Boards. Vermeiden Sie dies, da es das ESP32-Board beschädigen kann.

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Um Ihr ESP32-Board zu schützen, verwenden Sie eine separate Stromversorgung für den Servomotor. Der folgende Schaltplan zeigt, wie Sie den Servomotor an diese Stromquelle anschließen.

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
- So verbinden Sie ESP32 und Servomotor mithilfe einer Schraubklemmen-Breakout-Platine

Stellen Sie sicher, dass Sie GND (Masse) der externen Stromversorgung mit GND des ESP32-Boards verbinden. Das ist entscheidend für die korrekte Funktion.
ESP32 MicroPython Code
Schnelle Schritte
Hier finden Sie eine Anleitung, wie Sie Ihren MicroPython-Code auf dem ESP32 mit der Thonny IDE einrichten und ausführen:
- Stellen Sie sicher, dass Thonny IDE auf Ihrem Computer installiert ist.
- Vergewissern Sie sich, dass die MicroPython-Firmware auf Ihrem ESP32-Board geladen ist.
- Wenn Sie zum ersten Mal einen ESP32 mit MicroPython verwenden, lesen Sie die Anleitung ESP32 MicroPython Erste Schritte für eine Schritt-für-Schritt-Anleitung.
- Verbinden Sie das ESP32-Board gemäß dem bereitgestellten Schaltplan mit dem Servomotor.
- Verbinden Sie das ESP32-Board mit einem USB-Kabel mit Ihrem Computer.
- Öffnen Sie Thonny IDE auf Ihrem Computer.
- Gehen Sie in Thonny IDE zu Tools Options.
- Wählen Sie im Tab Interpreter aus dem Dropdown-Menü MicroPython (ESP32).
- Stellen Sie sicher, dass der richtige Port ausgewählt ist. Thonny IDE erkennt ihn normalerweise automatisch, aber möglicherweise müssen Sie ihn manuell auswählen (z. B. COM12 unter Windows oder /dev/ttyACM0 unter Linux).
- Navigieren Sie in Thonny IDE zu Tools Manage packages.
- Suchen Sie nach “DIYables-MicroPython-Servo” und finden Sie dann die von DIYables erstellte Servomotor-Bibliothek.
- Klicken Sie auf DIYables-MicroPython-Servo und dann auf den Button Install, um die Servomotor-Bibliothek zu installieren.

- Kopieren Sie den bereitgestellten MicroPython-Code und fügen Sie ihn in den Editor von Thonny ein.
- Speichern Sie den Code auf Ihrem ESP32:
- Klicken Sie auf den Save-Button oder drücken Sie Ctrl+S.
- Wählen Sie im Speicherdialog MicroPython device.
- Nennen Sie die Datei main.py.
- Klicken Sie auf den grünen Run-Button (oder drücken Sie F5), um das Skript auszuführen.
- Beobachten Sie den Servomotor: Er dreht sich langsam von 0 auf 180 Grad und kehrt dann allmählich von 180 auf 0 Grad zurück.
Code-Erklärung
Die Erklärung finden Sie in den Kommentaren des obigen ESP32-MicroPython-Codes.
So steuern Sie die Geschwindigkeit eines Servomotors
Das folgende MicroPython-Skript steuert einen Servo am ESP32 so, dass er sanft zwischen Winkeln wechselt, ohne das Programm zu blockieren. Es verwendet utime für die Zeitsteuerung und aktualisiert die Position des Servos regelmäßig, während die Hauptschleife für andere Aufgaben reaktionsfähig bleibt.
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.