Merhabalar, bu projede XY Joystick kullarak beklenilen sonuçlara ulaşacağız. Öncesinde Joystick modülünü tanıyalım. Joystick modülü, gamepadlerde bulunan analog joysticklere benzerdir. İki potansiyometreyi 90 derecelik bir açıyla monte ederek yapılır. Potansiyometreler yaylarla ortalanmış kısa bir çubuğa bağlanır.

Kumanda kolunun hareket ettirilmesi, çıkışın yönüne bağlı olarak 0V ile 5V arasında değişim gösterir. Bu modülü bir mikrodenetleyiciye bağlarsanız, dinlenme konumunda yaklaşık olarak 512’lik bir değer okumayı bekleyebilirsiniz (yayların ve mekanizmanın küçük kusurları nedeniyle 512’lik değere ulaşmada küçük değişiklikler bekleyebilirsiniz). Joystick’i hareket ettirdiğinizde konumlarına bağlı olarak değerlerin 0’dan 1023’e değiştiği seri ekranda görülür.

XY joystick ile oyun konsolu, robot kumandası, robot kol kontrolcüsü, uzaktan kumanda vb. uygulamalar gerçekleştirebilirsiniz. Joystick kullanılarak tasarlanan Jlinker-Programlanabilir Kablosuz Joystick‘i inceleyebilirisiniz.

Malzeme Listesi:

Pin Konfigürasyonu:

  • GND: ground
  • +5V: 5V DC
  • VRx: voltage proportional to x position
  • VRy: voltage proportional to y position
  • SW: switch pushbutton

Bileşenleri kullanarak kablo şemasında gösterilen şekle göre bağlayın. 5V güç kaynağına +5V pin bağlanır. GND pin GND’ye bağlanır. VRx ve VRy pinleri analog giriş pinlerine bağlanır. Donanım bağlantısından sonra Arduinodaki kodunuzu tamamlayın. USB kablosu kullanarak mikrodenetleyiciden gelen bağlantı noktalarını bilgisayara bağlayın. Programı yükleyin ve böylelikle seri monitördeki sonuçlara ulaşmış olacaksınız.

Joystick Arduino Bağlantı Şeması:

 

Joystick Arduino Kodları:


#define JoyX A0
#define JoyY A1
#define JoyBut 2
void setup()
{
Serial.begin(9600);
pinMode(JoyX, INPUT);
pinMode(JoyY, INPUT);
pinMode(JoyBut, INPUT_PULLUP);
}
void loop()
{
int joy_x = analogRead(JoyX);
int joy_y = analogRead(JoyY);
int buton = digitalRead(JoyBut);
Serial.print("joy_x = ");
Serial.print(joy_x );
Serial.print(" joy_y = ");
Serial.print(joy_y );
Serial.print(" button = ");
Serial.println(!buton);
delay(1000);
}


Farklı uygulama ve proje önerilerinizi bizimle paylaşabilirsiniz. 🙂 #projebaşlasın

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz