Arduino 37 parça sensör setinin belki de en eğlenceli parçası KY-023 Joystick modülü olsa gerek. Gamepadlerden bildiğimiz analog kontroller tam da bu parçayı kullanıyor.
Bu modülde joystick kolunun X ve Y koordinatlarını aynı anda okuyabiliyor, bir yandan da üzerine basılarak çalışan butonu kullanabiliyoruz.
KY-023 Joystick modülü 5 bağlantı pinine sahip ve soldan sağa GND, 5V, VRx, VRy ve SW pinlerinden oluşuyor. GND ve 5V tahmin ettiğiniz gibi güç bağlantıları. VRx ve VRy ise x ve y akslarının çıkışları. Bu çıkışlar analog pinlere bağlanmalıdır. Sadece tek bir aksı kullanmak istiyorsak diğer aksı ve butonu bağlamak zorunda değiliz.
Son olarak SW joystick’in üzerine basarak kullandığımız butonun çıkışıdır ve herhangi bir dijital pinde kullanılabilir. Aşağıdaki örnek sketch’te diğer kablolarla aynı sırada olması için analog pinlerden birini dijital pin olarak kullandık.
Aşağıdaki sketch joystick’in x ve y koordinatlarını Seri Port Ekranı üzerinde 0-1023 arasındaki değerlerle gösterir ve aynı zamanda butona basılıp basılmadığını 0 veya 1 olarak görüntüler.
Arduino’da iyi olmak için öncelikle elektronikte iyi olmak gerekir. Türkiye’nin en iyi temel elektronik eğitim seti ARDUINO ÖNCESİ TEMEL ELEKTRONİK EĞİTİM VE DENEY SETİ‘ni keşfedin. Gereksiz bilgilerden arındırılmış basit ve eğlenceli anlatımla ELEKTRONİK öğrenin ve Arduino’ya METE HOCA farkıyla güçlü başlayın!
Sketch kodunu kopyalamak için pencerenin sağ üst köşesindeki butona tıklayabilir veya buraya tıklayarak ZIP dosyası olarak indirebilirsiniz. Setin diğer modülleri hakkındaki açıklamalar ve örnek sketch kodlarına ulaşmak için buraya tıklayın.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
/* Arduino KY-023 Joystick Modülü Arduino 37 parça sensör setinin bir parçası olan Joystick modülünün örnek sketch'idir. Joystick akslarını ve buton konumunu Seri Port Ekranı'nda görüntüler. Setin diğer parçalarının açıklama ve örnek kodlarına web sitemizden ulaşabilirsiniz. Oluşturma: 5 Ekim 2021 / Mete Hoca https://www.metehoca.com/ */ int x = A4; // (VRx) x aksı pini int y = A5; // (VRy) y aksı pini int buton = A0; // (SW) buton pini (bu analog pini dijital okuma için kullanacağız) // 5V ve GND pinlerini Arduino üzerindeki ilgili pinlere bağlamalıyız void setup() { pinMode(buton, INPUT_PULLUP); // Buton pinini giriş olarak ayarlıyoruz Serial.begin(9600); // Seri Port Ekranı'nı doğru ayarlamayı unutmayın } void loop() { Serial.print("Buton: "); Serial.print(digitalRead(buton)); // Butonun değerini (0 veya 1) okuyoruz // Buton basıldığında 0, bırakıldığında 1 değerini verir Serial.print(" | X: "); // Biraz boşluk bırakalım Serial.print(analogRead(x)); // x aksını okuyor ve yazıyoruz // x, 0-1023 arasında değerler alır. Joystick'in // orta pozisyonu 1023/2= 511 civarında değerler gösterir Serial.print(" | Y: "); // Biraz daha boşluk bırakalım Serial.println(analogRead(y)); // y, 0-1023 arasında değerler alır. Joystick'in // orta pozisyonu 1023/2= 511 civarında değerler gösterir delay(100); // Aşırı hızlı okuma yapmamak için biraz bekliyoruz } |