DIY 2-Achsen-FPV-Kamera-Gimbal: Arduino-Joystick-Steuerung
Komponenten und Zubehör
| Arduino UNO | × | 1 |
| SG90 Mikro-Servomotor | × | 2 |
Über dieses Projekt
Hallo zusammen,
Heute sehen wir das komplette Tutorial, wie man einen 2-Achsen-FPV-Kamera-Gimbal mit einem Joystick-Modul steuert. Der Gimbal wird in einem kleinen Paket mit Acrylhalterungen, Schrauben und zwei Servomotoren geliefert.
Voraussetzungen: Falls Sie mit Joystick oder Servomotoren noch nicht vertraut sind, empfehle ich diese Tutorials:
- Joystick-Modul mit Arduino verbinden
- Servomotoren mit Arduino nutzen
Wir verwenden zwei Steuerungsmethoden:
- Direktes Nachführen: Die Servos folgen exakt der Joystick-Position – bewegen Sie den Stick, bewegen sich die Servos sofort mit.
- Richtungssteuerung: Die Servos fahren in die Richtung, in die der Joystick zeigt, und bleiben dort, bis der Stick erneut bewegt oder die Richtung geändert wird.
Am Ende erhalten Sie einen funktionsfähigen 2-Achsen-Gimbal für FPV-Kameras.
Hinweis zur Achsenbelegung: Mein Joystick hat die X-Achse oben und Y-Achse unten; im Schaltplan können die Bezeichnungen vertauscht sein. Ich belasse die Verdrahtung so, wie ich sie genutzt habe – Sie können Servo-Pins, Joystick-Eingänge und Drehrichtungen nach Belieben anpassen.
Da ich im Video viele Code-Varianten gezeigt habe (alles Grundlagen: Servo-Positionierung, analoges Auslesen des Joysticks), habe ich hier nur die zwei finalen Versionen hochgeladen, wie sie im Video zu sehen sind.
Code
Code 1: Direkte Positionsnachführung (wie im Video)
// 2-Achsen-FPV-Gimbal mit Joystick – Direkte Positionsnachführung // Referenz: surtrtech.com #includeServo myservo1; Servo myservo2; int YAxis = 1; // Joystick Y-Achse (analog) int XAxis = 0; // Joystick X-Achse (analog) void setup() { Serial.begin(9600); pinMode(XAxis, INPUT); myservo1.attach(8); pinMode(YAxis, INPUT); myservo2.attach(9); } void loop() { int X = analogRead(XAxis); // 0-1023 X = X * 0.1756; // Skalierung auf 0-180° X = 180 - X; // Invertieren falls nötig myservo1.write(X); // Servo 1 ansteuern int Y = analogRead(YAxis); // 0-1023 Y = Y * 0.1466; // Skalierung auf 0-150° myservo2.write(Y); // Servo 2 ansteuern }
Code 2: Richtungssteuerung mit Haltefunktion (wie im Video)
// 2-Achsen-FPV-Gimbal mit Joystick – Richtungssteuerung // Die Servos fahren in die Richtung des Sticks und halten die Position // Referenz: surtrtech.com #includeServo myservo1; Servo myservo2; int a, b, X, Y; int YAxis = 1; int XAxis = 0; void setup() { Serial.begin(9600); pinMode(XAxis, INPUT); myservo1.attach(8); pinMode(YAxis, INPUT); myservo2.attach(9); } void loop() { a = myservo1.read(); // Aktuelle Position lesen b = myservo2.read(); X = analogRead(XAxis); Y = analogRead(YAxis); // X-Achse: Links/Rechts (Ruhezone ca. 450-550) if (X > 550) { a = a - 1; myservo1.write(a); delay(50); } if (X < 450) { a = a + 1; myservo1.write(a); delay(50); } // Y-Achse: Oben/Unten (Ruhezone ca. 450-600) if (Y > 600) { b = b + 1; myservo2.write(b); delay(50); } if (Y < 450) { b = b - 1; myservo2.write(b); delay(50); } }
Schaltplan
Es gibt einen oberen und unteren Servo – nicht verwechseln!

Herstellungsprozess
- Integriertes QR-, RFID- und Temperatur-Verifikations-Zugangskontrollsystem
- Raspberry Pi Kamera im Vogelhaus installieren – Schritt-für-Schritt-Anleitung
- ESP32-CAM Bewegungserkennungs-Kamera für Discord
- UV-Desinfektionsroboter mit Arduino Mega: Fernsteuerbares Keimtötungssystem
- Smartes Sparschwein: Münzprüfer mit Arduino Nano steuern
- Selbstbau TV-Fernbedienung: Arduino UNO, batteriebetrieben, 3D-gedrucktes Gehäuse
- Servogesteuerter Hindernisvermeidungs-Roboter: Bauen mit Arduino & HC-SR04
- LED per Bluetooth mit Arduino steuern – Einfache DIY-Anleitung
- Millport SmartLathez 1740 CNC-Drehmaschine – Präzision & Power
- Hurco TM8 Schrägbettdrehmaschine – Kompaktes Design, Präzisionssteuerung & Vielseitiges Werkzeugsystem