Maker dürften längst erkannt haben, dass der Arduino Uno in puncto Vielseitigkeit nur schwer zu übertreffen ist. Ähnlich flexibel in der Anwendung sind Servomotoren. Egal, ob du an einem Roboter bastelst, ein ferngesteuertes Flugzeug baust oder einen steuerbaren Ständer für eine Kamera benötigst: Du wirst die praktischen Elektromotoren in jedem Fall zu schätzen wissen. Denn Servos lassen sich im Hinblick auf ihre Winkelposition recht einfach kontrollieren. Ermöglicht wird dies durch einen Sensor, der zur Positionsbestimmung dient. Wir zeigen dir, wie du mit einem Arduino Uno, einem Joystick-Modul und einigen weiteren Hardware- und Software-Komponenten ganz leicht zwei Servomotoren auf einmal steuern kannst.
Das brauchst du für dein Vorhaben
- Arduino Uno
- Breadboard
- Jumper / Dupont Kabel Male – Male, trennbar
- Jumper / Dupont Male – Female, trennbar
- 2x Micro Servo
- Joystick-Modul
- Arduino IDE
- Servo-Bibliothek
Alle für dieses Projekt notwendigen Artikel (außer Lötkolben) landen mit einem Klick auf den Button direkt in deinem Warenkorb, sofern sie in unserem Shop verfügbar sind. Kontrolliere daher deinen Warenkorb genau!
Servomotor mit Joystick steuern: Schritt-für-Schritt-Anleitung
- Zuallererst kümmern wir uns um die Schaltung. Die folgende Übersicht zeigt dir an, wie dein Arduino mit dem Joystick-Modul und den beiden Servomotoren verbunden werden muss.
Arduino Pins | Joystick-Modul Pins |
A0 | X (Achse) |
A1 | Y (Achse) |
GND | GND |
5V | VCC |
Arduino Pins | Servo 1 Pins |
GND | GND |
5V | VCC |
8 | S |
Arduino Pins | Servo 2 Pins |
GND | GND |
5V | VCC |
9 | S |

- Als nächstes installierst du die Servo-Bibliothek. Dazu lädst du zunächst die Servo Arduino Library herunter. Nachdem du die ZIP gedownloadet hast, navigierst du zur Arduino IDE, klickst auf „Sketch“, anschließend auf „Bibliothek einbinden“ und danach auf „ZIP-Bibliothek hinzufügen“. Zuletzt musst du nur noch „Servo-master.zip“ auswählen.
- Der Großteil ist geschafft – jetzt geht es noch daran, den Code hochzuladen. Dazu navigierst du zu „Werkzeuge“, wählst anschließend „Port: COM4 (Arduino Uno)“ und schließlich „COM4 (Arduino Uno)“ (siehe Abbildung). Nun lädst du den Code auf deinem Arduino hoch.

//https://www.berrybase.de/
#include <Servo.h>
Servo servo1;
Servo servo2;
int x_key = A1;
int y_key = A0;
int x_pos;
int y_pos;
int servo1_pin = 8;
int servo2_pin = 9;
int initial_position = 90;
int initial_position1 = 90;
void setup ( )
{
Serial.begin (9600) ;
servo1.attach (servo1_pin ) ;
servo2.attach (servo2_pin ) ;
servo1.write (initial_position);
servo2.write (initial_position1);
pinMode (x_key, INPUT) ;
pinMode (y_key, INPUT) ;
}
//Main code
void loop ( )
{
x_pos = analogRead (x_key) ;
y_pos = analogRead (y_key) ;
//Control X-axis
if (x_pos < 300)
{
if (initial_position < 10)
{ }
else{ initial_position = initial_position - 20; servo1.write ( initial_position ) ; delay (100) ; } } if (x_pos > 700){
if (initial_position > 180)
{ }
else
{
initial_position = initial_position + 20;
servo1.write ( initial_position ) ;
delay (30) ;
}
}
//Control Y-axis
if (y_pos < 300)
{
if (initial_position1 < 10)
{ }
else{ initial_position1 = initial_position1 - 20; servo2.write ( initial_position1 ) ; delay (100) ; } } if (y_pos > 700){
if (initial_position1 > 180)
{
}
else{
initial_position1 = initial_position1 + 20;
servo2.write ( initial_position1 ) ;
delay (30) ;
}
}
}
Falls du noch weiter gehen willst, als Servomotoren mit Joystick zu steuern, schau dir hier unsere weiteren Arduino Tutorials an.
Hallo ich bin gerade dabei einen Braccio sprich sechs Servomotoren mit drei Joysticks zu steuern hatte aber das Problem das diese immer in die Anfangsposition mit deinem Programm geht es nun mehr oder weniger auch wenn zwei sich nicht richtig steuern lassen oder sich ununterbrochen bewegen.
Ich wollte fragen ob du erklären kannst wie dein Program funktionier hauptsächlich der untere teil.
Mit freundlichen grüssen Tobias
Hallo Fabio,
gutes Programm! Der Zwang, sich mit dem Programm auseinanderzu setzen ist groß, da die Kommentierung fehlt. Dies sehe ich als großen Vorteil, wenn man das Programm weiterentwickeln möchte. Auch als Anfänger ist die Auseinandersetzung mit der Arduino-IDE notwendig, alles Andere wäre nur copy und paste und hat mit Programmverständnis nichts zu tun.
Ich habe mit dem Programm viel Spaß und werde meine Enkel mit der praktischen 2-Achsen-Bewegung in Staunen versetzen und neugierig machen!
Danke für das Programm!
J.Frey
http://www.freypage.de