Servomotor mit Joystick steuern: So funktioniert’s

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

WARENKORB

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

  1. 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 PinsJoystick-Modul Pins
A0X (Achse)
A1Y (Achse)
GNDGND
5VVCC
Arduino PinsServo 1 Pins
GNDGND
5VVCC
8S
Arduino PinsServo 2 Pins
GNDGND
5VVCC
9S
  1. 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.
  2. 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.

Die mobile Version verlassen