Arduino Mega - Servo Motor

Diese Anleitung zeigt Ihnen, wie Sie einen Servo Motor mit einem Arduino Mega steuern. Konkret lernen wir:

Arduino Mega Servo Motor

Benötigte Hardware

1×Arduino Mega
1×USB 2.0 Kabel Typ A/B
1×Servo-Motor
1×Jumper Kabel
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.

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.

Über den Servo Motor

Ein Servo Motor ist ein kleines Gerät, das eine Welle drehen kann, normalerweise von 0 bis 180 Grad. Er wird verwendet, um den Winkel von etwas zu steuern.

Pinbelegung

In diesem Beispiel wird ein Servo Motor mit drei Pins verwendet:

  • VCC-Pin: Verbinden Sie das rote Kabel mit +5V.
  • GND-Pin: Verbinden Sie das schwarze oder braune Kabel mit der Masse (Ground).
  • Signal-Pin: Verbinden Sie das gelbe oder orange Kabel, um das PWM-Signal von einem Arduino Mega Pin zu erhalten.
Servo Motor Pinout

Schaltplan

Manchmal sehen Sie online Schaltpläne, die den Stromversorgungspin (VCC) des Servos mit dem 5V-Pin des Arduino Mega verbinden. Es ist am besten, dies nicht zu tun, da es das Arduino Mega Board beschädigen kann.

Arduino Mega Servo Motor Wiring Diagram

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

Um Ihren Arduino Mega zu schützen, verwenden Sie eine separate Stromversorgung für den Servo Motor. Das Diagramm unten zeigt, wie Sie den Servo Motor mit dieser Stromquelle verbinden.

Arduino Mega servo motor external power supply wiring diagram

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

Stellen Sie sicher, dass die Masse (GND) der Stromversorgung mit der Masse des Arduino Mega Boards verbunden ist. Dieser Schritt ist sehr wichtig, damit es korrekt funktioniert.

Wie man für einen Servo Motor programmiert

  • Fügen Sie die Bibliothek hinzu:
#include <Servo.h>
  • Erstellen Sie ein Servo-Objekt:
Servo servo;

Wenn Sie mehrere Servo Motoren haben, erstellen Sie einfach mehr Servo-Objekte.

Servo servo1; Servo servo2;
  • Verbinden Sie den Steuerungspin des Arduino Mega mit dem Signal-Pin des Servo Motors, zum Beispiel Pin 9.
servo.attach(9);
  • Bewegen Sie schließlich den Servo Motor zu dem gewünschten Winkel, zum Beispiel 90 Grad.
servo.write(90);

Arduino Mega Code

/* * 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-servo-motor */ #include <Servo.h> Servo servo; // Create a Servo instance to control a hobby servo void setup() { servo.attach(9); // Attaches the Servo instance to the signal on pin 9 servo.write(0); // Sets the initial position to 0 degrees at startup } void loop() { for (int pos = 0; pos <= 180; pos += 1) { // Sweep from 0° to 180° in small increments servo.write(pos); // Command the servo to move to 'pos' degrees delay(10); // Pause 10 ms for the servo to reach the target position } for (int pos = 180; pos >= 0; pos -= 1) { // Sweep from 180° back down to 0° servo.write(pos); // Command the servo to move to 'pos' degrees delay(10); // Pause 10 ms for the servo to reach the target position } }

Schnelle Schritte

Befolgen Sie diese Schritte Schritt für Schritt:

  • Verkabeln Sie die Teile wie im Diagramm gezeigt.
  • Verbinden Sie das Arduino Mega Board 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.
  • Kopieren Sie den obigen Code und fügen Sie ihn in die Arduino IDE ein.
  • Klicken Sie auf die Upload Schaltfläche in der Arduino IDE, um den Code an den Arduino Mega zu senden.
Arduino IDE - How to Upload Code
  • Beobachten Sie was passiert: Der Servo bewegt sich langsam von 0 auf 180 Grad, dann bewegt er sich langsam zurück von 180 auf 0 Grad.

Code-Erklärung

Die Erklärung befindet sich in den Kommentaren des Arduino-Codes oben.

Wie man die Geschwindigkeit eines Servo Motors steuert

Die Verwendung von map() und millis() macht es einfach, die Geschwindigkeit eines Servo Motors gleichmäßig zu ändern, während der Rest des Programms ohne Unterbrechung weiterläuft.

/* * 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-servo-motor */ #include <Servo.h> Servo servo; #define MOVING_TIME 3000 // Duration during which the servo moves from startAngle to stopAngle unsigned long moveStartTime; // Timestamp marking when the servo begins movement int startAngle = 30; // Initial position angle (degrees) int stopAngle = 90; // Target position angle (degrees) void setup() { servo.attach(9); // Connect the servo to digital pin 9 moveStartTime = millis(); // Record the current time as the move start // Additional initialization code can be added here } void loop() { unsigned long progress = millis() - moveStartTime; // Time elapsed since movement started if (progress <= MOVING_TIME) { // While the elapsed time is within MOVING_TIME long angle = map(progress, 0, MOVING_TIME, startList and stopAngle); // Compute the current angle for the servo servo.write(angle); // Move the servo to the calculated angle } // Additional repetitive code can be added here }

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.

Verwandte Tutorials

※ 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!