Joystick Modul mit Arduino auslesen

Benötigte Komponenten

  • Arduino UNO R3 kompatibles Board
  • Joystick Modul
  • 5 Buchse-Stecker Kabel

Beschreibung

Mit Joysticks bringen Sie Ihre Projekte unter analoge Kontrolle! Dieses Joystick Modul eignet sich perfekt für eine 2-Achsen-Steuerung wie Sie häufig in Roboterarmen verwendet wird. Das Modul macht sich ebenfalls super als Eingabemethode für Spiele und Menüs.

Dieses Joystick Modul besitzt 5 Pins: GND, 5V, VRx, VRy und SW. Die Beschriftung kann je nach Charge variieren, die Belegung und Funktion bleibt aber die gleiche. Der Joystick arbeitet analog und liefert genauere Werte als digitale Joysticks. Er verfügt über einen integrierten Taster, der durch Drücken ausgelöst werden kann. Dadurch lassen sich z.B. Umschaltfunktionen (Toggle) oder Auswahlfunktionen (Select) programmieren.

Funktionsweise

Am Arduino werden die Daten der X- und Y-Pins über analoge Eingänge gelesen. Das Joystick Modul besitzt jeweils ein Potentiometer für die X- und Y-Achse. Je nach Position des Joysticks wird eine andere Ausgangsspannung an unseren Arduino gegeben. Das Arduino Board wandelt die analoge Spannung zwischen 0 bis 5V in Werte von 0 bis 1023 um. Der Taster liefert permanent 2V, bei Betätigung wird er mit GND verbunden. Im seriellen Monitor lesen wir 1 im Ruhezustand und 0 beim Auslösen.

Schaltplan

Joystick_Schaltplan

Anschlussplan

Joystick_Steckplatine

 

Joystick

Arduino

GND

Ground

+5V

5V

VRx

Analoger Pin A0

VRy

Analoger Pin A1

SW

Digitaler Pin 2

 

 

 

 

 

 

 

 

Code für Arduino

const int SW_pin = 2; // Taster-Pin
const int X_pin = A0; // X-Ausgang
const int Y_pin = A1; // Y-Ausgang

void setup() {
pinMode(SW_pin, INPUT);
digitalWrite(SW_pin, HIGH);
Serial.begin(9600);
}

void loop() {
Serial.print("Taster: ");
Serial.print(digitalRead(SW_pin));
Serial.print("\n");
Serial.print("X-Achse: ");
Serial.print(analogRead(X_pin));
Serial.print("\n");
Serial.print("Y-Achse: ");
Serial.println(analogRead(Y_pin));
Serial.print("\n\n");
delay(500);
}

 

Mit dem seriellen Monitor können Sie die aktuellen Werte auslesen. Wenn der Joystick im Mittelpunkt (Ruheposition) steht, sollte er einen Wert von ca. 512 ausgeben. Wenn Sie eine Achse bewegen, ändert sich der Wert von 0 bis 1023

Joystick_monitor

Schlagworte: Arduino, Starter Kit, Anleitung

Die mit einem * markierten Felder sind Pflichtfelder.