Arduino-Roboterpanzer mit PS2-Funkjoystick steuern
Komponenten und Zubehör
| Arduino UNO | 1 |
| SparkFun Dual H-Bridge L298 Motortreiber | 1 |
| DIY Roboter-Panzer-Bausatz (Chassis, 2 DC-Motoren, Ketten, Getriebe, Schrauben) | 1 |
| Sony PS2 Wireless Controller (Sender + Empfänger) | 1 |
| 3× 18650 3,7 V Li-Ion-Akkus (in Reihe = 11,1 V) | 3 |
| 3S 18650 Batteriehalter | 1 |
| 18650 Ladegerät | 1 |
| Steckbrücken (männlich-weiblich, männlich-männlich) | 1 Set |
| USB-Kabel (Typ B) | 1 |
| Lötkolben & Lötzinn, EVA-Schaumstoff (Isolierung), doppelseitiges Klebeband, Schere | nach Bedarf |
Software & Tools
- Arduino IDE
- PS2X Library (Bill Porter) – GitHub
Projektüberblick
Dieses Tutorial zeigt, wie man einen Roboterpanzer mit einem kabellosen PlayStation-2-Controller steuert. Der Arduino Uno empfängt die Funksignale des PS2-Empfängers und steuert über den L298N-H-Brücken-Treiber die beiden Kettenmotoren. Das Projekt eignet sich hervorragend für Einsteiger in Robotik und Funksteuerung.
Schritt 1: Werkzeuge & Materialien
Alle nötigen Teile und Werkzeuge sind oben aufgelistet. Der Panzerbausatz enthält bereits alle mechanischen Teile und Werkzeuge (Inbusschlüssel, Schraubendreher). Wichtig: Das Aluminium-Chassis leitet Strom – daher EVA-Schaumstoff zwischen Platinen und Chassis kleben, um Kurzschlüsse zu vermeiden.
Schritt 2: Mechanischer Aufbau
Dem Video und den Bildern folgen. Der Bausatz ist gut verarbeitet, enthält Ersatzschrauben und ist auch für Anfänger gut machbar. Die Anleitung liegt nur auf Chinesisch vor – daher lohnt sich die visuelle Dokumentation hier.
Schritt 3: Verkabelung
Arduino Uno ↔ L298N:
- D3 → ENA (PWM rechts)
- D4 → IN2
- D5 → IN1
- D6 → ENB (PWM links)
- D7 → IN4
- D8 → IN3
- 5 V → 5 V (Logikversorgung)
- GND → GND
L298N ↔ Motoren & Akku:
- OUT1/OUT2 → Rechter Motor
- OUT3/OUT4 → Linker Motor
- 12 V → Akku +
- GND → Akku –
PS2-Empfänger ↔ Arduino:
- Pin 1 (Data) → D12
- Pin 2 (Command) → D11
- Pin 4 (GND) → GND
- Pin 5 (3,3 V) → 3,3 V
- Pin 6 (Attention) → D10
- Pin 7 (Clock) → D13
Schritt 4: Arduino IDE einrichten
- Arduino IDE installieren (aktuellste Version).
- PS2X-Library herunterladen, entpacken, in den
libraries-Ordner kopieren.
Schritt 5: PS2X-Library – Kurzerklärung
Die Library stellt die Klasse PS2X bereit. Wichtige Methoden:
config_gamepad(clock, command, attention, data, pressures, rumble)– Initialisierung, liefert Fehlercode zurück.read_gamepad(vibrate, pressure)– Muss im Loop regelmäßig aufgerufen werden.Button(PSB_...)– Prüft digitalen Tastendruck (z. B.PSB_PAD_UP,PSB_R2,PSB_L3).Analog(PSS_...)– Liefert Analogwert 0–255 für Sticks (PSS_LX,PSS_LY,PSS_RX,PSS_RY).
Schritt 6: Sketch #1 – D-Pad-Steuerung (Digital)
Vier Richtungen = volle Motorleistung vor/rück/links/rechts. Einfache Einstiegskontrolle.
Schritt 7: Sketch #2 – Linker Analogstick (Lenkung) + L2/R2 (Gas/Bremse)
Analogstick X-Achse → Differenzgeschwindigkeit der Ketten (Lenkung). R2 = vorwärts, L2 = rückwärts. Geschwindigkeitsabhängig von Stick-Auslenkung.
Schritt 8: Sketch #3 – Beide Analogsticks (Differential Drive)
Linker Stick Y → linkes Kettenrad, rechter Stick Y → rechtes Kettenrad. Sehr intuitiv, wie echte Panzersteuerung. Totzone ±50 gegen Driften.
Schritt 9: Sketch #4 – Nur linker Analogstick (Arcade-Steuerung)
X/Y des linken Sticks werden auf Differentialantrieb gemappt (Mischung aus Vorwärts- und Drehbewegung). Spart Tasten, erfordert aber Übung. Basiert auf ImpulseAdventure-Tutorial.
Schritt 10: Fazit & Weiterentwicklung
Vier Steuerungsvarianten zeigen die Flexibilität des PS2-Controllers. Weitere Ideen: Relais für Licht/Hupe, Sensoren für Hinderniserkennung, Autonome Modi. Viel Spaß beim Nachbauen!
Quellcodes (Alle Sketche)
Alle vier Sketche sind im Originalprojekt enthalten. Gemeinsamer Kern: PS2X-Initialisierung, Pin-Definitionen für L298N, Loop mit ps2x.read_gamepad() und Auswertung der gewünschten Eingaben. PWM-Werte 0–1023 (10 Bit) für Motorleistung.
Schaltpläne
Zwei Übersichtsbilder: Gesamtverkabelung und Detail PS2-Empfänger-Anschluss.
Herstellungsprozess
- Internet-gesteuerter Video-Streaming-Roboter mit Arduino & Raspberry Pi bauen
- Unopad: Nahtloser Arduino MIDI-Controller für Ableton Live
- Servogesteuerter Hindernisvermeidungs-Roboter: Bauen mit Arduino & HC-SR04
- Roomba Create 2 per Arduino & Android steuern – Schritt-für-Schritt
- Arduino-basierter 6-DoF Roboterarm mit Nunchuk-Steuerung
- Zwei Schrittmotoren mit Arduino Nano & Joystick steuern – Einfaches Tutorial
- DIY Arduino Lenkrad / Joystick für Rennspiele – USB-HID-Umbau
- Einen ferngesteuerten Battle-Bot mit PS2-Controller bauen
- Arduino Roboterarm per Android-App & Bluetooth steuern
- Arduino Nano Fress-Roboter: Ultraschall-gesteuerter Mund (Schritt-für-Schritt)