Arduino Joystick ile Servo Motor Kontrol

Arduino Joystick ile Servo Motor Kontrolü 2025 | Analog Kontrol Projesi

Arduino Joystick Servo Kontrolü Nedir?

Arduino joystick servo motor kontrolü, analog joystick hareketlerini servo motor pozisyonuna çeviren interaktif kontrol projesidir. Joystick’in X-Y ekseni servo motorun açısını belirler.

Joystick ve Servo Çalışma Prensibi

Joystick potansiyometre tabanlı analog sensördür (0-1023 değer). Servo motor PWM sinyali ile 0-180° arası pozisyon alır. Arduino joystick değerlerini servo açısına map eder.

Arduino Joystick Servo Kontrol Malzemeleri

📦 Temel Bileşenler:

  • Arduino Uno R3 – Ana mikrokontrolcü
  • Analog Joystick Modülü – X-Y ekseni kontrolü
  • SG90 Servo Motor – Pozisyon motoru
  • Jumper Kablolar – Bağlantı

🔧 Ek Malzemeler:

  • Breadboard – Montaj tahtası
  • Güç Kaynağı – Harici 5V (çoklu servo için)

Devre Bağlantısı

🔌 Joystick Bağlantıları:

  • VCC → Arduino 5V
  • GND → Arduino GND
  • VRx → Arduino A0 (X ekseni)
  • VRy → Arduino A1 (Y ekseni)
  • SW → Arduino Pin 2 (Button)

🎛️ Servo Motor Bağlantısı:

  • Kırmızı (VCC) → Arduino 5V
  • Kahverengi (GND) → Arduino GND
  • Turuncu (Signal) → Arduino Pin 9

Arduino Joystick Servo Kodu

📚 Gerekli Kütüphane:

#include <Servo.h>

💻 Basit Kontrol Kodu:

#include <Servo.h>

Servo myServo;
int joyX = A0;
int joyY = A1;
int joyButton = 2;

int servoPin = 9;
int xValue, yValue;
int servoAngle = 90;

void setup() {
  Serial.begin(9600);
  myServo.attach(servoPin);
  pinMode(joyButton, INPUT_PULLUP);
  
  myServo.write(90); // Orta pozisyon
  Serial.println("Joystick Servo Kontrol Başladı");
}

void loop() {
  // Joystick değerlerini oku
  xValue = analogRead(joyX);
  yValue = analogRead(joyY);
  
  // X ekseni ile servo kontrol (0-1023 → 0-180)
  servoAngle = map(xValue, 0, 1023, 0, 180);
  myServo.write(servoAngle);
  
  // Button kontrolü
  if (digitalRead(joyButton) == LOW) {
    myServo.write(90); // Orta pozisyona dön
    Serial.println("Reset - Orta Pozisyon");
    delay(200);
  }
  
  // Debug bilgisi
  Serial.print("X: ");
  Serial.print(xValue);
  Serial.print(" | Servo: ");
  Serial.println(servoAngle);
  
  delay(50);
}

Joystick Modülü Özellikleri

🕹️ Teknik Özellikler:

  • X-Y Ekseni: 2 adet potansiyometre
  • Çıkış Aralığı: 0-1023 (10-bit)
  • Orta Değer: ~512
  • Button: Push-button switch
  • Çalışma Voltajı: 3.3V-5V

Servo Motor Özellikleri

⚙️ SG90 Teknik Bilgiler:

  • Tork: 1.8kg/cm
  • Hız: 0.1s/60°
  • Açı Aralığı: 180°
  • Kontrol: PWM (1-2ms pulse)
  • Frekans: 50Hz

Kullanım Alanları

🎯 Uygulama Örnekleri:

  • Robot Kol Kontrolü – Servo arm
  • Kamera Gimbal – Pan-tilt kontrol
  • RC Araç – Direksiyon kontrolü
  • Drone Gimbal – Kamera yönlendirme
  • Oyun Kontrolcüsü – Gaming interface

Gelişmiş Kontrol

🚀 İyileştirmeler:

  • Çift Servo: X ve Y ekseni ayrı kontrol
  • Smooth Movement: Yumuşak geçiş
  • Dead Zone: Orta bölge hassasiyeti
  • Speed Control: Hareket hızı ayarı

💻 Çift Servo Kodu:

Servo servoX, servoY;

void setup() {
  servoX.attach(9);  // X ekseni servo
  servoY.attach(10); // Y ekseni servo
}

void loop() {
  int angleX = map(analogRead(A0), 0, 1023, 0, 180);
  int angleY = map(analogRead(A1), 0, 1023, 0, 180);
  
  servoX.write(angleX);
  servoY.write(angleY);
  delay(50);
}

Sorun Giderme

⚠️ Yaygın Problemler:

  • Titreşim: Dead zone ekleyin
  • Servo Çalışmıyor: PWM pin kontrolü
  • Yanlış Hareket: Map değerleri ters çevirin
  • Güç Sorunu: Harici 5V kullanın

Kalibrasyon

⚙️ Joystick Kalibrasyonu:

  • Min/Max Değer: Serial monitor ile test
  • Orta Nokta: ~512 civarı olmalı
  • Dead Zone: ±20 değer toleransı
  • Smoothing: Ortalama filtre uygulama

Maliyet

Malzeme Fiyat (TL)
Arduino Uno 45-60
Joystick Modülü 8-15
SG90 Servo 12-20
Jumper Kablo 3-5
Toplam 68-100

Sonuç

Arduino joystick servo motor kontrolü, analog girişleri motor pozisyonuna çeviren temel robotik kontrol projesidir. Robot kol ve gimbal uygulamaları için mükemmel başlangıç.

📺 Gerekli bilgiler videoda mevcuttur.


Anahtar Kelimeler: Arduino joystick servo kontrol, analog joystick Arduino, servo motor kontrolü, SG90 servo projesi, joystick ile motor kontrol

Devre Şeması

Çalışma Videosu

Gerekli Kodlar:


Premium Üyeler İçin Gerekli Kodlar: 

[member]   [/member]

Not:Gerekli bilgiler video da verilmiştir. Yapamazsanız lütfen videoyu izleyiniz !