Arduino ile Servo Motor Kullanımı – Adım Adım Öğretici

×

Servo motorlar, belirli açılar arasında hassas hareket gerektiren projelerde oldukça yaygın olarak kullanılır. Arduino ile servo motor kontrolü hem basit hem de etkili bir yöntem sunar. Robotik sistemlerden otomatik kapı mekanizmalarına kadar birçok alanda tercih edilir.

Bu rehberde Arduino ile SG90 servo motor nasıl bağlanır, nasıl programlanır ve örnek uygulamalarla nasıl çalıştırılır adım adım anlatılmıştır.


Gerekli Malzemeler


Servo Motor Nedir?

Servo motorlar, içinde bir dişli kutusu ve pozisyon kontrol devresi barındıran motorlardır. Genellikle 0° ile 180° arasında dönebilirler ve 3 bağlantı kablosuna sahiptir:


Bağlantı Şeması

Servo motorun Arduino’ya bağlantısı şu şekilde yapılır:

  • Sinyal (Turuncu/Sarı) → Arduino Dijital Pin 9
  • 5V (Kırmızı) → Arduino 5V pini
  • GND (Kahverengi/Siyah) → Arduino GND pini

Not: Birden fazla servo motor kullanacaksanız, Arduino'nun 5V çıkışı yetersiz kalabilir. Bu durumda harici bir 5V güç kaynağı kullanmanız tavsiye edilir.


Arduino Servo Motor Kod Örneği

Arduino IDE içinde bulunan Servo.h kütüphanesi ile servo motorları kolayca kontrol edebilirsiniz.

#include <Servo.h>

Servo myServo; // Servo nesnesi tanımlanıyor

void setup() {
  myServo.attach(9); // Servo 9 numaralı pine bağlanıyor
}

void loop() {
  myServo.write(0);    // 0 derece konumu
  delay(1000);         // 1 saniye bekleme
  myServo.write(90);   // 90 derece konumu
  delay(1000);
  myServo.write(180);  // 180 derece konumu
  delay(1000);
}

⚙️ myServo.write(açı) komutu, servo motoru belirttiğiniz dereceye döndürür.
⏱️ delay() fonksiyonu ise hareketten sonra bekleme süresini ayarlar.


Faydalı Uygulama Fikirleri


Bonus: Potansiyometre ile Servo Kontrolü

Aşağıdaki örnek, potansiyometreyi çevirerek servo motorun açısını ayarlamanıza olanak tanır:

#include <Servo.h>

Servo myServo;
int potPin = A0; // Potansiyometre A0 pinine bağlı

void setup() {
  myServo.attach(9);
}

void loop() {
  int potValue = analogRead(potPin); // 0 - 1023 arası değer
  int angle = map(potValue, 0, 1023, 0, 180); // Değeri 0-180 dereceye ölçekle
  myServo.write(angle);
  delay(15);
}

Bu yöntemle fiziksel olarak servo açısını elle ayarlayabilir, mekanik sistemlerde hassas kontrol sağlayabilirsiniz.


Sonuç

Servo motorlar, Arduino projelerinde hem basit hem de etkili bir çözüm sunar. Servo.h kütüphanesi sayesinde birkaç satır kodla motorun istenilen açılarda hareket etmesini sağlamak mümkündür. İster basit bir aç/kapa mekanizması, ister robot kol gibi karmaşık projeler olsun, servo motor kontrolü projelerinize değer katacaktır.

💬 Yorumlar
Henüz yorum yapılmamış. İlk yorumu sen yap! 👆