Arduino İle Joystick Shield Kullanımı

Bu yazımızda arduino ile joystick shield kullanımını öğreneceğiz. Bu modül sayesinde kumanda gerektiren projelerimizde kullanacağız. Mesela uzaktan kumandalı bir araba projesi, uçak projesi veya bir gamepad projesinde kullanabiliriz.

Joystick shieldımız aşağıdadır. Satın almak için linke tıklayınız.

Joystick Shield

İlk olarak joystick shieldımızın özelliklerini tanıyalım.

Arduino Joystick Shield Özellikleri

  • UNO R3 ve MEGA 2560 kontrol kartıyla uyumludur.
  • Kapaklı 4 yuvarlak butonu vardır: Buton A (D2); buton B (D3); buton C (D4); buton D (D5).
  • 2 küçük butonu vardır: Buton E (D6); buton F (D7)
  • Bir joystick düğmesiyle birlikte gelir: X- (A0’a bağlı); Y- (A1’e bağlı); düğme (D8’e bağlı).
  • 1 adet nrfl2401 kablosuz haberleşme modülü giriş pinleri yer almaktadır.
  • 1 adet 5110 lcd ekran giriş pinleri yer almaktadır.
  • 1 adet bluetooth modülü giriş pinleri yer almaktadır.
  • 1 adet I2C pinleri yer almaktadır.
  • 1 adet voltaj seçim anahtarımız yer almaktadır.
  • Son olarak shieldımızın boşta olan pinlerini kullanabilmemiz için header pinler yer almaktadır.

Joystick Shield Pin Bağlantıları

Joystick Shield Bağlantı Pinleri
Joystick Shield Bağlantı Pinleri

Buton Tanımlama Bağlantı Pinleri

Pin#Buton
D0(RX)0Boş
D1(TX)1Boş
D22Buton A
D33Buton B
D44Buton C
D55Buton D
D66Buton E
D77Buton F
D88Joystick Modül Butonu
Joystick Shield Buton Pinleri

5110 LCD Ekran Bağlantı Pinleri

Pin#Pin İsmi
D99SCLK
D1010CSN
D1111D/C
D1212RST
D1313SCE
Joystick Shield 5110 LCD Ekran Pinleri

nRF24L01 Koblosuz Haberleşme Modülü Bağlantı Pinleri

Pin#Pin İsmi
D99SCE
D1010CSN
D1111SCK
D1212MOSI
D1313MISO
Joystick Shield nRF24L01 Koblosuz Haberleşme Pinleri

Bluetooth Modülü Bağlantı Pinleri

Arduino PinShield PinPin İsmi
D0RRX
D1TTX
GNDGND
+3.3V++3.3V

Artık modülümüzde bulunan pinlerin arduino üzerinde nerelere bağlandığını öğrendiysek rahat rahat kodumuzu yazmaya geçebiliriz. Kodumuzda shield üzerinde olan buton ve joystickin anlık verilerini alalım ve serial monitöre yazdıralım.

Joystick Shield Kodu

int butonF=7;
int butonE=6;
int butonD=5;
int butonC=4;
int butonB=3;
int butonA=2;

int joystickX=A0;
int joystickY=A1;
int joystickButon=8;

void setup() {
  Serial.begin(9600);
  pinMode(butonF,INPUT);
  pinMode(butonE,INPUT);
  pinMode(butonD,INPUT);
  pinMode(butonC,INPUT);
  pinMode(butonB,INPUT);
  pinMode(butonA,INPUT);
  pinMode(joystickX,INPUT);
  pinMode(joystickY,INPUT);
  pinMode(joystickButon,INPUT);


}

void loop() {
  String veri="";
  int butonADurum=digitalRead(butonA);
  int butonBDurum=digitalRead(butonB);
  int butonCDurum=digitalRead(butonC);
  int butonDDurum=digitalRead(butonD);
  int butonEDurum=digitalRead(butonE);
  int butonFDurum=digitalRead(butonF);
  int joystickXDurum=analogRead(joystickX);
  int joystickYDurum=analogRead(joystickY);
  int joystickButonDurum=digitalRead(joystickButon);

  veri=String(butonADurum)+";"+String(butonBDurum)+";"+String(butonCDurum)+";"+String(butonDDurum)+";"+String(butonEDurum)+";"+String(butonFDurum)+";"+String(joystickButonDurum)+";"+String(joystickXDurum)+";"+String(joystickYDurum)+";";
  Serial.println(veri);
  delay(200);
}

kodumuzun çıktısı da aşağıdadır.

Joystick Shield Çıktısı
Joystick Shield Çıktısı

Joystick shield kullanılarak uzaktan kumandalı araba projemize aşağıdaki linkten ulaşabilirsiniz.

Takıldığınız kısımları yorum kısmından sorabilirsiniz. 🙂