Ein Servomotor hat eine Achse, die sich um 180° drehen kann. Über ein Anschlusskabel kann man den Drehwinkel angeben und der Servo dreht sich dort hin.
Angeschlossen wird der Servo über drei Kabel: Digitaler Pin, 5V+ und GND. Je nach Hersteller werden unterschiedliche Kabelfarben benutzt. Hier sollte man auch besonders aufpassen, da das falsche Anschließen den Servo beschädigen könnte.
Hersteller | GND | 5V+ | Impuls |
Futuba | schwarz | rot | weiß |
Graupner | braun | rot | orange |
Multiplex | schwarz | rot | gelb |
Schaltplan
Programm
Um den Servo mit Arduino zu steuern, verwendet man am besten die Servo-Library Servo.h. Sie ist in der Arduino-Software schon enthalten. Eingebunden wird die Library beim Programmstart:
#include <Servo.h>
Danach muss ein Servo-Objekt angelegt werden:
Servo myservo;
In der Setup-Methode wird der Servo mit Befehl
myservo.attach(9);
initialisiert. Die Zahl in den Klammern bezeichnet dabei den digitalen Pin des Arduinos, an den der Servo angeschlossen ist. Der Servo lässt sich nun sehr einfach aus der Loop-Methode mit
myservo.write(Winkel);
auf einen bestimmten Winkel stellen. Der Winkel (0 – 179°) wird in den Klammern angegeben. Ein einfaches Servoprogramm könnte z.B. so aussehen:
#include <Servo.h> Servo myservo; void setup() { myservo.attach(9); } void loop() { myservo.write(40); delay(1000); myservo.write(140); delay(1000); }
Wenn dir das Projekt gefallen hat und du von weiteren interessanten Projekten inspiriert werden willst, sieh dir doch mal mein neues E-Book »Arduino Projekte Volume 1« an!
- Die beliebtesten Arduino-Projekte von StartHardware
- Inklusive Schaltplan, Beschreibung und Code
- Arduino-Schnellstart-Kapitel
- Kompakter Programmierkurs
Hallo zusammen, ich möchte die Servobewegungen zählen und auf dem 2 Zeilendiplay anzeigen.
Kann mir da jemand weiterhelfen??
Danke Gruss Udo
Hallo . Servosteuerungen interessieren mich sehr . Am meisten , Servosteuerungen mit Poti . Mal sehen was alles noch kommt .
Roland Karl
Frage: Ist unter Servo-Motor ein Schrittmotor zu verstehen?
Hallo Wolfgang, das ist eine sehr gute Frage. Es handelt sich nicht um die gleichen Motoren. Ein Schrittmotor (Stepper) lässt sich Schritt für Schritt weiter bewegen. Ein Servo-Motor kann sich nur hin und her in eine bestimmte Gradzahl stellen. Liebe Grüße
/*Der Sketch wird so nicht funktionieren:
Nach #include muss die Bibliothek folgen:
#include
so geht der Sketch richtig:
*/
#include
Servo myservo;
void setup() {
myservo.attach(9); }
void loop() {
myservo.write(40);
delay(1000);
myservo.write(140);
delay(1000);
}
Ah, richtig. Vielen Dank!