Joystik, kullanıcı olarak input gönderebildiğimiz component'lerden birisidir. Joystick kullanımı potansiyometre kullanımından oldukça farklıdır çünkü potansiyometreden 0 ile 1023 değerleri arasında tek bir parametre input alabilmek mümkün iken Joystick component'inde 3 adet farklı input bulunmaktadır:
- X ekseni
- Y ekseni
- Basmalı buton (kola üstten basma eylemi)
Toprak hattı, 5V girişi ve üstteki 3 input ile birlikte joystick component'inin 5 adet pini bulunmaktadır. Sadece x ekseni, y ekseni ya da buton kullanılacaksa diğer input pinleri boş bırakılabilir.

Joystick pinleri aşağıdaki görselden daha iyi görülebilir.

Arduino'da joystick pinleri için aşağıdaki bağlantı şemasını kullanabilirsiniz:

Şimdi Joystick ile alabildiğimiz 3 input değerini serial monitör üzerinde yazdıran basit bir uygulama kodlayalım.
Proje Kodları:
- int PinVRx = A0;
- int PinVRy = A1;
- int PinSW = 2;
-
- int xKonum = 0;
- int yKonum = 0;
- int butonDurum = 0;
-
- void setup() {
- Serial.begin(9600);
-
- pinMode(PinVRx, INPUT);
- pinMode(PinVRy, INPUT);
- pinMode(PinSW, INPUT_PULLUP);
-
- }
-
- void loop() {
- xKonum = analogRead(PinVRx);
- yKonum = analogRead(PinVRy);
- butonDurum = digitalRead(PinSW);
-
- Serial.print("X: ");
- Serial.print(xKonum);
- Serial.print(" | Y: ");
- Serial.print(yKonum);
- Serial.print(" | Buton: ");
- Serial.println(butonDurum);
-
- delay(100);
- }
Aşağıdaki görselden de serial monitöre gelen değerler görülebilir. Joystick'e hiç dokunmadığımızda 0 olması beklene x ve değerlerinde küçük sapmalar (kalibrasyon hataları) olabileceğini de unutmayın.
