Arduino Nano ESP32 - MG996R

In diesem Tutorial lernen wir, wie man den MG996R Hochdrehmoment-Servomotor mit dem Arduino Nano ESP32 verwendet.

Erforderliche Hardware

1×Arduino Nano ESP32
1×USB-Kabel Typ-A zu Typ-C (für USB-A PC)
1×USB-Kabel Typ-C zu Typ-C (für USB-C PC)
1×MG996R Servo-Motor
1×Verbindungskabel
1×(Empfohlen) Schraubklemmen-Erweiterungsboard für Arduino Nano
1×(Empfohlen) Breakout-Erweiterungsboard für Arduino Nano
1×(Empfohlen) Stromverteiler für Arduino Nano ESP32

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 Servomotor

Der MG996R-Servomotor ist ein Hochdrehmoment-Servomotor, der in der Lage ist, eine Last von bis zu 15 kg zu heben. Der Motor kann seine Welle von 0° bis 180° drehen und ermöglicht so eine präzise Kontrolle der Winkelposition. Für grundlegende Informationen zu Servomotoren verweisen Sie bitte auf das Tutorial Arduino Nano ESP32 - Servo Motor.

Pinbelegung

Der MG996R-Servomotor, der in diesem Beispiel verwendet wird, verfügt über drei Pins:

  • VCC-Pin: (typischerweise rot) muss mit VCC verbunden werden (4,8 V – 7,2 V)
  • GND-Pin: (typischerweise schwarz oder braun) muss mit GND (0 V) verbunden werden
  • Signal-Pin: (typischerweise gelb oder orange) empfängt das PWM-Steuersignal vom Pin eines ESP32.
MG996R Servomotor Pinbelegung

Verdrahtungsdiagramm

Da der MG996R ein Hochdrehmoment-Servomotor ist, zieht er viel Strom. Wir sollten diesen Motor nicht über den 5-V-Pin des Arduino Nano ESP32 mit Strom versorgen. Stattdessen müssen wir eine externe Stromversorgung für den MG996R-Servomotor verwenden.

  • Wenn das Arduino Nano ESP32-Board über den USB-Anschluss mit Strom versorgt wird.
Arduino Nano ESP32 MG996R Servomotor-Verdrahtungsdiagramm

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

  • Wenn das Arduino Nano ESP32-Board über den Vin-Pin mit Strom versorgt wird.
Arduino Nano ESP32 MG996R Servomotor Externe Stromversorgung Schaltplan

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

Arduino Nano ESP32 Code

/* * Dieser Arduino Nano ESP32 Code wurde von newbiely.de entwickelt * Dieser Arduino Nano ESP32 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-nano-esp32/arduino-nano-esp32-mg996r */ #include <Servo.h> Servo servo; // Erzeuge Servo-Objekt zur Steuerung eines Servos void setup() { servo.attach(D2); // Schließt den Servo an Pin D2 an das Servo-Objekt servo.write(0); // Dreht den Servo langsam auf 0 Grad sofort } void loop() { for (int angle = 0; angle <= 180; angle += 1) { // Dreht langsam von 0 Grad bis 180 Grad, jeweils um 1 Grad // in Schritten von 1 Grad servo.write(angle); // Steuert den Servo, um die Position in der Variablen 'angle' zu erreichen delay(10); // wartet 10ms, bis der Servo die Position erreicht hat } for (int angle = 180; angle >= 0; angle -= 1) { // Dreht sich von 180 Grad auf 0 Grad, jeweils um 1 Grad servo.write(angle); // Steuert den Servo, um die Position in der Variablen 'angle' zu erreichen delay(10); // wartet 10ms, bis der Servo die Position erreicht hat } }

Schnelle Schritte

Um mit dem Arduino Nano ESP32 zu beginnen, befolgen Sie diese Schritte:

  • Wenn Sie neu bei Arduino Nano ESP32 sind, lesen Sie das Tutorial wie man die Umgebung für Arduino Nano ESP32 in der Arduino IDE einrichtet.
  • Verdrahten Sie die Bauteile gemäß dem bereitgestellten Diagramm.
  • Schließen Sie das Arduino Nano ESP32-Board über ein USB-Kabel an Ihren Computer an.
  • Starten Sie die Arduino IDE auf Ihrem Computer.
  • Wählen Sie das Arduino Nano ESP32-Board und den entsprechenden COM-Anschluss aus.
  • Klicken Sie auf das Libraries-Symbol in der linken Leiste der Arduino IDE.
  • Geben Sie ServoESP32 in das Suchfeld ein, suchen Sie anschließend nach der Servo-Bibliothek von Jaroslav Paral. Beachten Sie, dass sowohl Version 1.1.1 als auch 1.1.0 von Fehlern betroffen sind. Wählen Sie bitte eine andere Version.
  • Klicken Sie auf die Install-Schaltfläche, um die Servo-Bibliothek für Arduino Nano ESP32 zu installieren.
Arduino Nano ESP32 Servomotor-Bibliothek
  • Schließe Arduino Nano ESP32 über ein USB-Kabel an den PC an
  • Öffne die Arduino IDE, wähle das richtige Board und den passenden Port
  • Kopiere den obigen Code und öffne ihn mit der Arduino IDE
  • Klicke auf die Schaltfläche Hochladen in der Arduino IDE, um den Code auf den Arduino Nano ESP32 hochzuladen
Arduino IDE – Wie man Code hochlädt
  • Siehe das Ergebnis: Der Servomotor dreht sich langsam von 0 bis 180° und danach wieder langsam von 180° zurück nach 0°.

Code-Erklärung

Sie finden die Erklärung in der Kommentarzeile des oben genannten Arduino-Codes.

So steuern Sie die Geschwindigkeit eines Servomotors.

Durch die Verwendung der map() und millis() Funktionen können wir die Geschwindigkeit des Servomotors reibungslos steuern, ohne den übrigen Code zu blockieren.

/* * Dieser Arduino Nano ESP32 Code wurde von newbiely.de entwickelt * Dieser Arduino Nano ESP32 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-nano-esp32/arduino-nano-esp32-mg996r */ #include <Servo.h> Servo servo; unsigned long MOVING_TIME = 3000; // Bewegungszeit beträgt 3 Sekunden unsigned long move_start_ms; int angle_start = 30; // 30° int angle_stop = 90; // 90° void setup() { servo.attach(D2); move_start_ms = millis(); // Bewegung starten // TODO: anderer Code } void loop() { unsigned long progress = millis() - move_start_ms; if (progress <= MOVING_TIME) { long angle = map(progress, 0, MOVING_TIME, angle_start, angle_stop); servo.write(angle); } // TODO: anderer Code }

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!