Arduino
OKUDUĞUNUZ KONU
Arduino Joystick İle Servo Motor Kontrolü
10

Arduino Joystick İle Servo Motor Kontrolü

Yazar : Murat Duran13 Ekim 2015

Joystick İle servo motor kontrol robotlarda en çok kullanılan uygulamalardan bir tanesi hem kullanım kolaylığı hemde ucuz olması tercih sebebidir.Daha yeni dijital kontrol sistemlerine göre mekanik hassasiyeti olduğundan kullanımda ergonomi ön plandadır.Bu projemizde de 2 tane servo motorun bir Joystick ile kontrolü nasıl olur bundan bahsedeceğiz.

Bu uygulama ile isterseniz bir robot kol projesi yapabilirsiniz.İki tane joystick ile toplamda 6 tane servo motor kontrol edebilirsiniz.Robot kol projesinde de 5 tane servo motor bulunmakta kolaylıkla kontrol sağlayabilirsiniz.Aşağıdaki kodu düzenleyip robot kola uyarlayabilirsiniz.

Malzemeler

  • Arduino UNO
  • 9g Servo Motor
  • Arduino Joystick

servomotor-joystick

Öncelikle ucuz iki tane servo motor bir adet arduino ve Joystick gerekiyor.Aşağıdaki devreyi hemen kurun, basit bir devre zaten.Servo motorun sinyal pinleri dijital 3 ve 4 e bağlanacak, Joystick bağlantıları A0 ve A1.

#include <Servo.h>

int ServoHorizontalPin = 3;
int ServoVerticalPin = 4;
int HorizontalPotPin = A0;
int VerticalPotPin = A1;
int ServoH_Min = 0;
int ServoH_Max = 180;
int ServoV_Min = 0;
int ServoV_Max = 180;

Servo HorizontalServo;
Servo VerticalServo;

int HorizontalPotValue;
int HorizontalServoPosition;
int VerticalPotValue;
int VerticalServoPosition;

void setup()
{
  HorizontalServo.attach(ServoHorizontalPin);
  VerticalServo.attach(ServoVerticalPin);
}

void loop()
{
  HorizontalPotValue  = analogRead(HorizontalPotPin);
  VerticalPotValue  = analogRead(VerticalPotPin);
  HorizontalServoPosition  = map(HorizontalPotValue, 0, 1023, ServoH_Min , ServoH_Max);
  VerticalServoPosition  = map(VerticalPotValue, 0, 1023, ServoH_Min , ServoH_Max);
  HorizontalServo.write(HorizontalServoPosition);
  VerticalServo.write(VerticalServoPosition);
  delay(20);
}
SİZCE NASIL OLMUŞ?
Beğendim
54%
İlginç
17%
Eh İşte
6%
Anlamadım
6%
Kötü
7%
Berbat
10%
YAZAR HAKKINDA
Murat Duran
Murat Duran
Açık kaynak donanım ve yazılım geliştiricisiyim , mekanik ve robotik sistemler üzerinde çalışmalar yapmaktayım.Ayrıca bir start-up firması olan Proje Hocam 'ın kurucuyum.
10 YORUMLAR
  • Mehmet Ekrem
    10 Ocak 2017 at 16:19

    1 tane servo motor jkullanıyorum acaba 1 servo motorlu kodu paylaşabilirmisin buradan

  • merakli
    26 Şubat 2017 at 10:50

    Kodları kabul etmiyor. Horizontalservo was declared in this scope diyor servo.horizontalservo koduna ise hicbir servo belirtmediniz diyor.

  • selin bilgili
    20 Nisan 2017 at 10:26

    merhaba, şekilde gösterilen breadboard ile sizin kullandığınız breadboard ve jumperları bağlama şekilleriniz farklı. bu bağlantılar konusundan biraz kafam karışık. daha net biçimde ifade edebilir misiniz?

  • Basri Ç.
    6 Mayıs 2017 at 18:36

    merakli:

    ifadeyi önce tanımlı hale getirmeniz gerekiyor.Bunun için float char int byte gibi farklı ifadeler ile yapılırlar. Burada int kullanabilirsiniz.
    Sonuna noktalı virgül koymayı unutmayın 🙂
    Örneğin ;

    int Horizontalservo;

  • kader
    2 Ekim 2017 at 08:57

    Ya rica etsem bu bağlantıların detaylı görselini atar mısınız

  • Baran Kaymak
    16 Ocak 2018 at 16:30

    Vallah işe yarıyor yanlız eğer sihah renkte joystick kullanıyoradanız joystick bağlantısı farklı

    • Baran Kaymak
      16 Ocak 2018 at 16:33

      birde servoları ektra başka bir 5V güç kaynağına bağlayın arduino dan çıkan grn de güç kaynağının eksi kutbuna bağlayın

  • Mevlut çirakli
    17 Mart 2018 at 12:31

    Bu joysticklerde %60 ya %70 diyim ondan sonra okunan deger 1023 gozukuyor nerdeyse geriye kalan kisimlarda okuma yapmiyor mu yoksa genelde bu tip josticklerde boyle mi

YORUM YAP