In diesem Tutorial möchte ich den 2 Achsen Joystick für den Arduino (und auch Raspberry PI) erläutern.
Den Joystick habe ich bereits erfolgreich in dem Weekend Project: Jump’n Run auf dem Arduino eingesetzt.
Der Joystick besteht aus 2 Teilen einmal der Knauf und die Elektronik.
Inhaltsverzeichnis
Bezug
Der Joystick kann über ebay.de oder amazon.de für ca. 2€ bestellt werden.
Technische Daten des Joystick
- Abmaße : 33mm x 25mm x 33mm (Länge x Breite x Höhe)
- Spannung: 5V
Schaltplan
Der Joystick verfügt über 5 PINs welche wie folgt an den Arduino angeschlossen werden:
Joystick | Beschreibung | Arduino |
---|---|---|
GND | Ground | GND |
+5V | Spannungsversorgung | 5V |
VRX | Daten der X Achse | analoger PIN A0 |
VRY | Daten der Y Achse | analoger PIN A1 |
SW | Status des Buttons | digitaler PIN D2 |
Quellcode
#define joystickX A0 //X Achse des Joysticks am analogen PIN A0. #define joystickY A1 //Y Achse des Joysticks am analogen PIN A1. int button = 2; //Taster am digitalen PIN 2 const int PAUSE = 250; //Wert für die Pause long lastAction = -1; //Variable zum speichern des Zeitstempels der letzten Ausführung. void setup() { Serial.begin(9600); //Begin der seriellen Kommunikation mit 9600baud //Setzen des Tasters als Eingang mit dem PullUp Widerstand. //Das Signal wird hier umgekehrt d.h. LOW == HIGH und HIGH == LOW pinMode(button, INPUT_PULLUP); } void loop() { //Abfragen der Millisekunden seit dem der Arduino gestartet / resetet wurde. long currentTimestamp = millis(); //Alle x Millisekunden die Were der X & Y Achse Ausgeben. if(lastAction < (currentTimestamp-PAUSE)){ lastAction = currentTimestamp; //Auslesen der X & Y Achse des Joysticks. int x = analogRead(joystickX); int y = analogRead(joystickY); Serial.print("aktuelle Koordinaten des Joysticks (x,y): "); Serial.print(x); Serial.print(", "); Serial.println(y); } //Auslesen des Zustandes des Taster. if(digitalRead(button)==LOW){ Serial.println("Der Taster ist gedrück!"); } }
Video
Dieses Video ansehen auf YouTube.
handelt es sich nun um einen 2 achsen joystick oder 3 achsen? Da oben 3 achsen steht jedoch unter dem bild 2 achsen steht.
Hi,
danke für die Frage, es ist wirklich “nur” ein 2 Achsen Joystick.
Gruß,
Stefan Draeger