Arduino Joystick-Modul bauen: Schritt-für-Schritt-Anleitung
Joystick-Modul
Arbeiten Sie an Projekten im Bereich Robotik oder Bewegungssteuerung? Dann sind Sie wahrscheinlich schon auf das Arduino-Joystick-Modul gestoßen – aber wissen nicht, wie Sie es aufbauen oder einsetzen. Genau hier sind Sie richtig.
Ein Arduino-Joystick übermittelt Bewegungsinformationen in zwei Achsen (2D) an den Mikrocontroller. Damit eignet er sich ideal für Robotik, Drohnensteuerung, Kameraschwenks und viele weitere Anwendungen.
In diesem Artikel lernen Sie:
- Wie ein Joystick-Modul funktioniert
- Pin-Belegung und technische Daten
- Schaltplan und Anschluss an Arduino
- Programmierung (mit und ohne Mapping auf Displays)
- Praxisbeispiele
Was ist ein Joystick-Modul?
Joysticks sind in der Robotik allgegenwärtig. Fertige Controller sind oft teuer oder passen nicht zum Projekt. Ein Joystick-Modul bietet eine günstige, flexible Alternative.
Das Modul enthält zwei Potentiometer (je 10 kΩ), die im 90°-Winkel zueinander angeordnet sind. Ein Hebel mit Federzentrierung betätigt beide Potentiometer gleichzeitig. In Ruhelage liegen beide Ausgänge bei ca. 2,5 V (entspricht ADC-Wert ~512 bei 10 Bit / 5 V Referenz). Bei Auslenkung variiert die Spannung von 0 V bis 5 V (ADC 0–1023).
Pin-Belegung
| Pin | Name | Funktion |
|---|---|---|
| 1 | GND | Masse |
| 2 | +5V | Versorgungsspannung (5 V) |
| 3 | VRx | X-Achse (analog) |
| 4 | VRy | Y-Achse (analog) |
| 5 | SW | Taster (digital, aktiv-low bei Druck auf den Knopf) |
Merkmale
- Zwei unabhängige Potentiometer für X- und Y-Achse
- Leichtgewichtig, kompakt (ca. 40 × 26 × 32 mm)
- Einfache Anbindung an Arduino, Raspberry Pi, ESP32 u. a.
- Automatische Rückstellung in Mittelposition
- Integrierter Drucktaster (SW-Pin)
Technische Daten
- Betriebsspannung: 5 V DC
- Potentiometer-Widerstand: 10 kΩ
- Temperaturbereich: 0 … 70 °C
- Rastermaß: 2,54 mm
- Abmessungen: 40 × 26 × 32 mm
- 5 Pins
Schaltbild
Das Modul besteht aus zwei unabhängigen Spannungsteilern (Potentiometer) und einem Taster, der den SW-Pin gegen GND zieht. Beide Potentiometer teilen die Versorgungsspannung; der Mittelabgriff geht an VRx bzw. VRy.
Anschluss an Arduino
- VCC → 5 V (Arduino)
- GND → GND (Arduino)
- VRx → A0 (Analog-Eingang)
- VRy → A1 (Analog-Eingang)
- SW → Digitaler Pin (z. B. D8), internen Pull-up aktivieren:
pinMode(8, INPUT_PULLUP)
Arduino-Code (Grundversion)
#define JOY_X A0
#define JOY_Y A1
#define JOY_SW 8
void setup() {
Serial.begin(9600);
pinMode(JOY_SW, INPUT_PULLUP);
}
void loop() {
int xValue = analogRead(JOY_X);
int yValue = analogRead(JOY_Y);
int swState = digitalRead(JOY_SW);
Serial.print("X: "); Serial.print(xValue);
Serial.print("\tY: "); Serial.print(yValue);
Serial.print("\tSW: "); Serial.println(swState);
delay(50);
}
Mapping auf 8×8 LED-Matrix (Beispiel mit LedControl-Bibliothek)
#include <LedControl.h>
#define JOY_X A0
#define JOY_Y A1
LedControl lc = LedControl(12, 11, 10, 1); // DIN, CLK, CS, Geräte
int xValue, yValue, xMap, yMap;
void setup() {
Serial.begin(115200);
lc.shutdown(0, false);
lc.setIntensity(0, 8);
lc.clearDisplay(0);
pinMode(8, INPUT_PULLUP); // SW-Pin
}
void loop() {
xValue = analogRead(JOY_X);
yValue = analogRead(JOY_Y);
xMap = map(xValue, 0, 1023, 0, 7);
yMap = map(yValue, 0, 1023, 7, 0); // Y invertiert für Matrix
lc.clearDisplay(0);
lc.setLed(0, xMap, yMap, true);
delay(50);
}
Hinweis: Die map()-Funktion skaliert die ADC-Werte (0–1023) auf den gewünschten Bereich (hier 0–7 für 8×8 Matrix).
Anwendungsbeispiele
- Robotik: Steuerung von Fahrgestellen, Greifarmen, Laufrobotern
- Kameraschwenk/Neige: Pan-Tilt-Mechanismen für FPV oder Überwachung
- Spiele-Controller: DIY-Gamepads für Retro-Gaming
- Drohnen/Flugmodelle: Fernsteuerungseingabe
- Allgemeine Bewegungssteuerung: CNC-Handbedienung, 3D-Drucker-Jogging
Fazit
Das Arduino-Joystick-Modul ist ein vielseitiges, preiswertes Eingabegerät für 2D-Bewegungen. Mit wenigen Bauteilen und wenig Code lässt es sich in nahezu jedes Mikrocontroller-Projekt integrieren. Ob Roboterarm, Drohne oder interaktive Installation – der Joystick liefert zuverlässige Analogwerte und einen digitalen Taster.
Haben Sie Fragen oder Verbesserungsvorschläge? Kontaktieren Sie uns gerne!
Industrietechnik
- Selbstbau: Schlagbare, anpassbare Tasten mit Arduino und Piezo-Element
- Arduino Mega mit NEO‑6M GPS-Modul verbinden: Schritt-für-Schritt-Anleitung
- DIY Arduino Lenkrad / Joystick für Rennspiele – USB-HID-Umbau
- Musikalische Töne mit Arduino erzeugen: Schritt-für-Schritt-Anleitung
- Automatische Tür mit Arduino & Ultraschallsensor bauen
- Bluetooth-gesteuertes Arduino-Auto bauen – Komplette DIY-Anleitung
- DIY Mini-Oszilloskop mit Arduino Nano bauen – Schritt-für-Schritt-Anleitung
- JARVIS v1 Heimautomation mit Arduino Nano – Schritt-für-Schritt Tutorial
- rDUINOScope: Arduino Due Teleskop-Steuerung (GOTO) mit TFT, GPS, RTC, Bluetooth & Joystick
- Gesteuerter Roboter selbst bauen: Arduino, MPU-6050 & Bluetooth