Joystick

Joystick

A modul a 80-as, 90-es évek feelingjét adja vissza, egyben pedig egy univerzális kezelőszerv. Egy nyomógombot is magába foglal az iránykijelölésen túl. Az iránymegjelelölések (x, y) beolvasása analóg-jeleken keresztül történik, így a négy fő irányon kívül a pozíciómeghatározás meglehetősen rugalmas lehet.

pinleírás
GNDGrund
+5VTáp
VRxAnalóg (0..1024) X pozíció komponens
VRyAnalóg (0..1024) Y pozíció komponens
SWDigitális jel (a gomb lenyomása után)

Joystick

Joystick vezetékezés

// OB121.com Joystick demo - Vámos Sándor 2018
 
#define joystickX A0            // X tengely PIN A0.
#define joystickY A1            // Y tengely PIN A1.
int button =  5;                // Nyomógomb a PIN 5
const int PAUSE = 250;          // Várakozás
long lastAction = -1;           // Időpecsét
void setup() {
  Serial.begin(9600);           // Kommunikáció alapbeállítással
  // A myomógomb felhúzóellenállással kerül definiálásra, azaz
  // a jelek negálásra kerülnek LOW == HIGH és HIGH == LOW
  pinMode(button, INPUT_PULLUP);
}
void loop() {
  // Aktuális ms állás az indulás óta
  long currentTimestamp = millis(); 
  // A várakozási idő kivárása
  if(lastAction < (currentTimestamp-PAUSE)){
  lastAction = currentTimestamp; 
 
  // A joystick x és y pozíciói
  int x = analogRead(joystickX);
  int y = analogRead(joystickY);
  Serial.print("A joystick aktuális koordinátái (x,y): ");
  Serial.print(x);
  Serial.print(", ");
  Serial.println(y);
  }
 
  // Nyomógomb lekérdezése
  if(digitalRead(button)==LOW){
  Serial.println("A nyomógomb lenyomásra került.");
  }
}