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.
Csatlakozó
pin | leírás |
---|---|
GND | Grund |
+5V | Táp |
VRx | Analóg (0..1024) X pozíció komponens |
VRy | Analóg (0..1024) Y pozíció komponens |
SW | Digitális jel (a gomb lenyomása után) |
Vezetékezés
Szoftver
// 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."); } }