Merhaba arkadaşlar ! Arduino dersleri serimizin her bir adımında daha eğlenceli projeler yapıyoruz. Bugünkü yazımızda sizlere Arduino Joystick ile servo motor kullanımından bahsedeceğiz. Bu sayede hem joystick kullanmayı hem de servo motor kontrol etmeyi öğreneceğiz.

Bir önceki yazımızda ses sensörü modülü ve DC motor kullanmıştık >>> Arduino ve Ses Sensörü Modülü ile Motor Kontrolü

Gerekli Malzemeler:

Arduino ile Joystick Kullanımı

Joystick, iki eksende hareket etmeyi sağlayan iki potansiyometre bulunduran ve dikey hareketinde ise buton görevi gören bir modüldür. Joystick’leri genellikle oyun konsollarında ve uzaktan kumandalı araçlarda görürüz. Arduino ile uyumlu joystick modülleri ile birçok farklı proje yapılma imkanı vardır. Motor kontrolü, LED kontrolü, robotik kontroller gibi birçok farklı uygulama görmeniz mümkündür.

Arduino Joystick shield butonu, diğer butonların tersine çalışan bir karakteristiğe sahiptir. Yani bir pullup butondur. Butona basmadığımızda 1, bastığımızda ise 0 değerini okuruz. Aşağıda Joystick modülünün pinout yapısı bulunmaktadır. Dikey, yatay ve buton hareketlerinin hepsi için ayrı birer data pini bulunmaktadır. Modülün çalışabilmesi için ise 5V ve GND beslemesinin yapılması gerekmektedir.

Arduino ile Servo Motor Kullanımı

Servo motorlar sayesinde çok hassas pozisyon kontrolü yapmak mümkündür. Çoğunlukla çalışma açıları 0-180 derece arasındadır. Arduino’da servo motor kontrol kodları bulunmaktadır. Bunlar için Arduino’da Dosya>Örnekler>Servo>Sweep ve Dosya>Örnekler>Servo>Knob komutlarını takip etmeniz gerekecektir.

Servo Motor İçin Neden PWM Pinleri Kullanmalıyım?

Arduino’da Servo Motorlar PWM sinyali ile çalışırlar. PWM’in Türkçe açılımı Sinyal Genişlik Modülasyonudur ve bu sinyaller mikrokontrolcülerden veya uzaktan kumandalardan sağlanırlar. PWM pinleri ile servonun tam dönüş açısı ve dönüş süresi kontrol edilebilmektedir.

Arduino PWM Pinleri: 3, 5, 6, 9, 10, 11

Servo motorlar, çalışma prensipleri ve PWM pinleri hakkında detaylı bilgiye buradan ulaşabilirsiniz.

Hadi devremizi kuralım !

Arduino Joystick ile Servo Motor Kontrolü

Gerekli Joystick kodlarını yazalım !

#include 

Servo motor;

int deger;
int derece;

void setup() {
  motor.attach(3);

}

void loop() {

  deger = analogRead(A0);
  derece = map(deger, 0,1023,0,180);
  motor.write(derece);

}

3 Yorumlar

  1. İyi günler, ben joystick ile iki eksende ayrı servo motorlar döndürmek istiyorum.
    Kodlarım ise şöyle;
    #include

    Servo motor;
    Servo motor1;

    #define A0 yPin
    #define A1 xPin
    int xderece;
    int xdeger;
    int ydeger;
    int yderece;
    int zaman = 0;
    int xPin;
    int yPin;

    void setup() {
    motor.attach(3);
    motor1.attach(5);
    pinMode(xPin, INPUT);
    pinMode(yPin, INPUT);
    }

    void loop() {

    ydeger = analogRead(yPin);
    xdeger = analogRead(xPin);

    xderece = map (xdeger, 0,1023, 0,180);

    yderece = map(ydeger, 0,1023, 0,180);

    motor.write(yderece);
    motor1.write(xderece);

    }

    Yardım ederseniz sevinirim . Teşekkürler.

CEVAP VER

Please enter your comment!
Please enter your name here