5-Wege-Joystick-Modul

Für manche Anwendungen oder Projekte wird ein kleines Richtungseingabegerät benötigt. Das folgende Modul besitzt vier Richtungen, einen Auslöser und zwei zusätzliche Knöpfe als Eingabemöglichkeiten. Allerdings sind alle diese Eingaben als digitale Werte zu verstehen, d.h. es sind quasi Knöpfe und kein potentiometer-ähnlicher Joystick

5-Wege-Joystick-Modul

Verwendete Bauteile

Anschlüsse

Joystick-Modul Arduino
COM (common) GND
UP (hoch) beliebiger I/O-Pin
DWN (herunter) beliebiger I/O-Pin
LFT (links) beliebiger I/O-Pin
RHT (rechts) beliebiger I/O-Pin
MID (Press) beliebiger I/O-Pin
SET (Set button) beliebiger I/O-Pin
RST (Reset button) beliebiger I/O-Pin

Hinweis: Wenn im Sketch nicht der Modus INPUT_PULLUP verwendet wird, dann muss für jeden angeschlossenen Eingang ein separater Pullup-Widerstand verwendet werden.

Sketch

Der folgende Sketch fragt an den einzelnen Eingängen des Arduino die Werte des 5-Wege-Joysticks ab und gibt immer dann einen Text auf der seriellen Konsole aus, wenn der entsprechende Knopf gedrückt wurde. Im Zuge der Einfachheit wurde in dem Sketch auf jegliche Entprellung verzichtet.

const byte joystickPins[] = {2, 3, 4, 5, 6, 7, 8};
String joystickStr[] = {"UP", "DWN", "LFT", "RHT", "MID", "SET", "RST"};

void setup()
{
    Serial.begin(9600);
    for (byte i = 0; i < sizeof(joystickPins); i++) {
        pinMode(joystickPins[i], INPUT_PULLUP);
    }
}

void loop()
{
    for (byte i = 0; i < sizeof(joystickPins); i++) {
        if (digitalRead(joystickPins[i]) == LOW) {
            Serial.println(joystickStr[i]);
        }
    }
    delay(50);
}
Ausgabe auf der seriellen Konsole
Abb.: Ausgabe auf der seriellen Konsole
zurück