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.

İ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ı

Buton Tanımlama Bağlantı Pinleri
Pin | # | Buton |
---|---|---|
D0(RX) | 0 | Boş |
D1(TX) | 1 | Boş |
D2 | 2 | Buton A |
D3 | 3 | Buton B |
D4 | 4 | Buton C |
D5 | 5 | Buton D |
D6 | 6 | Buton E |
D7 | 7 | Buton F |
D8 | 8 | Joystick Modül Butonu |
5110 LCD Ekran Bağlantı Pinleri
Pin | # | Pin İsmi |
---|---|---|
D9 | 9 | SCLK |
D10 | 10 | CSN |
D11 | 11 | D/C |
D12 | 12 | RST |
D13 | 13 | SCE |
nRF24L01 Koblosuz Haberleşme Modülü Bağlantı Pinleri
Pin | # | Pin İsmi |
---|---|---|
D9 | 9 | SCE |
D10 | 10 | CSN |
D11 | 11 | SCK |
D12 | 12 | MOSI |
D13 | 13 | MISO |
Bluetooth Modülü Bağlantı Pinleri
Arduino Pin | Shield Pin | Pin İsmi |
D0 | R | RX |
D1 | T | TX |
GND | – | GND |
+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 kullanılarak uzaktan kumandalı araba projemize aşağıdaki linkten ulaşabilirsiniz.
Takıldığınız kısımları yorum kısmından sorabilirsiniz. 🙂