Last Updated on 3. Oktober 2026 by sfambachLink-Status: OK
Ein neues Kit vom schnellen Ali hat mich veranlasst, ein ferngesteuertes Fahrzeug zu bauen. Das Kit besteht aus Arduino, einer Erweiterungsplatine und einem PS2 Controller nebst Empfänger.
Bestandteile
- Das Chassis des Fahrzeugs bildet ein Kit vom schnellen Ali LINK.Link-Status: OK Dieses Kit enthält eine Acryl Plattform mit zwei Motoren, Rädern und etwas Zubehör
- Zur Steuerung verwende ich das o.a. Kit LINKLink-Status: OK
- HC-SR04 Entfernungssensor
- 2 Servos
- Pan/Tilt Kit ebenfalls vom schnellen Ali
- Diverse Schrauben
- 4 Pinheader Kabel, Buchse auf Stecker zum Anschluss des SR04
Ansicht


Grundlagen
Basis für dieses Projekt ist die Untersuchung des Steuerungskits, welche im Folgenden gelinkt ist:
Zusammenbau
Der Zusammenbau ist eher langweilig. Die Servos und der SR04 werden einfach aufgesteckt und die Motoren an den entsprechenden Klemmen angeschlossen. Sollte hier Bedarf bestehen, das näher zu erläutern, lasst einen Kommentar da.
Planung
Modi
Das Fahrzeug soll mehrere Modi besitzen, diese sollen über die Fernbedienung aktiviert werden können. Aktuelle Modiliste:
- Ferngesteuertes Fahren
- Autonomes Fahren
- Nein – Pan/Tilt schüttelt den Kopf
- Ja Pan/Tilt nickt
Belegung der Fernbedienung

- Die Modi sollen über die Formtasten rechts geschaltet werden. Hierfür werde ich erst einmal den Kreis (Automatisch) und das Quadrat (Selbst fahren) verwenden.
- Für die Tasten links habe ich aktuell noch keine Verwendung.
- Beim linken Joystick wird nur hoch (vorwärts) und runter (rückwärts) verwendet
- Beim rechten Joystick verwende ich links und rechts für die Lenkung.
Lenkung
Da der Untersatz keine Lenkstange besitzt, wird die Lenkung über unterschiedliche Geschwindigkeiten der beiden Antriebs-Räder bewirkt. Mit der Erfahrung aus anderen Projekten habe ich mich entschlossen, die Geschwindigkeit des Rades zu verlangsamen, in dessen Richtung gefahren werden soll. Da dies nicht einfach über Schrift zu vermitteln ist, hier ein Bild:

Es gäbe noch die Möglichkeit, gleichzeitig die Geschwindigkeit des gegenüberliegenden Rades zu beschleunigen, dies bringt jedoch ein paar Nachteile mit:
- Es muss ein Puffer zur Maximalgeschwindigkeit gehalten werden, sonst würde nichts am 2. Rad passieren, wenn das Fahrzeug auf Höchstgeschwindigkeit läuft. Dies würde das Fahrzeug wiederum bei der Geradeaus-Fahrt verlangsamen.
- Das Fahrzeug würde sich annähernd auf der Stelle drehen. Dies ist zwar für computergesteuertes Fahren einfacher zu berechnen, bewirkt beim ferngesteuerten Fahren aber ein komisches Verhalten.
- Die Drehung wäre schneller und weniger gut zu kontrollieren.
Programmierung
Bibliotheken
Die folgenden Bibliotheken verwende ich in diesem Beitrag. Der Einfachheit halber und um jederzeit eine funktionierende Konfiguration zu haben, befindet sich eine Kopie der Bibliotheken im Projektordner.
Motor
Für die Motorsteuerung verwende ich von Adafruit die Motor Lib V2.
https://github.com/adafruit/Adafruit_Motor_Shield_V2_LibraryLink-Status: OK
Diese wurde schon mal hierLink-Status: OK getestet und näher beschrieben.
Servo
Normal könnte man die Servos direkt anschließen, ich habe sie, aus Interessen-Gründen, mal an den zwei zusätzlichen Ports angeschlossen. Diese können ebenfalls über eine Adafruit Bibliothek angesteuert werden.
https://github.com/adafruit/Adafruit-PWM-Servo-Driver-LibraryLink-Status: OK
HC-SR04
Um den Sonarsensor HC-SR04 ansteuern zu können, nehme ich die „NewPing“ Bibliothek. Diese kann timergesteuert den SR04 abfragen und kommt auch mit einem Ergebnis zurück, wenn der SR04 selbst streikt.
https://github.com/microflo/NewPingLink-Status: OK
PS2 Controller
Oh Überraschung, auch für den PS2 Controller gibt es schon eine Bibliothek.
https://playground.arduino.cc/Main/PSXLibrary/Link-Status: OK
Controller Test
Es sollte erstmal sichergestellt werden, dass der Controller auch richtig funktioniert. Somit hier erstmal das Testprogramm aus der Grundlagenforschung anwenden:
Fahrzeug Programm
Danach habe ich das Testprogramm genommen und die Autofunktionalität eingefügt:
Reset des Arduinos
Bei mir passiert es, dass bei starken Geschwindigkeits-Änderungen der Arduino neu startet. Ich vermute, dies liegt an Spannungssenken, die durch die Motoren erzeugt werden. Hierfür habe ich aktuell noch keine Lösung.
Verwandte Links
- Pan Tilt mit JoystickLink-Status: OK
- OpenSmart Funk JoystickLink-Status: OK
- Funduino JOYSTICK V1.ALink-Status: OK
- Sunfounder nRF24 FernbedienungLink-Status: OK
- Arduino PS2 Controller Platine GrundlagenLink-Status: OK
Quellen
https://playground.arduino.cc/Main/PSXLibrary/Link-Status: OK
https://github.com/microflo/NewPingLink-Status: OK
https://github.com/adafruit/Adafruit-PWM-Servo-Driver-LibraryLink-Status: OK
https://github.com/adafruit/Adafruit_Motor_Shield_V2_LibraryLink-Status: OK
| Datum | Änderung | Autor |
|---|---|---|
| 03.10.2026 | Rechtschreibung korrigiert: Tippfehler, Kommas, Grammatik, Groß-/Kleinschreibung Log-Liste eingefügt | sfambach |
| 23.03.2019 | Beitrag erstellt | sfambach |