Bu yazımızda Arduino ile servo kontrolünden bahsedeceğiz. Servo, içinde bir motor ve mil bulunan, geribesleme düzeneği yoluyla hata denetimi yapabilen bir sistemdir.

Çoğu servo, milinin 180 derece dönmesine izin verir. 360 derece dönebilen mile sahip servolar da mevcuttur.

Servo Kütüphanesi

Arduino yazılımında servo kontrolü için hazır kütüphane mevcuttur. Bu kütüphaneyi programınıza eklediğinizde onlarca satır kod yazmaktan kurtularak servonuzu kontrol edebilirsiniz. Servo kütüphanesi çoğu Arduino kartında 12 servo kontrolü sağlar. Bu sayı Arduino Mega’da 48’dir. Mega dışındaki Arduino kartlarında servo kullanmak 9 ve 10 nolu pinlerde analogWrite() (PWM) özelliğinin iptal olmasına sebep olur. Bu pinlere servo bağlanmış olup olmaması önemli değildir. Mega’da ise 12 ile 23 arasında servo kullanıldığında 11 ve 12 nolu pinlerin analogWrite() (PWM) özelliği devre dışı kalır.

Programımıza servo kütüphanesini eklemek için şu kodun yazılması gerekir:

Bu satırı yazdığımızda artık programımızda servo kontrolü için gerekli alt kodlar arka planda yüklenip çalışacaktır. Böylece hem kod kalabalığı kaybolmuş oluyor hem de kodları yazmaktan kurtulmuş oluyoruz.

Devre Bağlantısı

Servoların 3 tane kablosu vardır:

  • Güç kablosu: Genellikle kırmızı renktedir. Arduinodaki 5v pinine bağlanır.
  • GND kablosu: Genellikle kahverengi veya siyah renktedir. Arduinodaki GND pinlerinden birine bağlanabilir
  • Sinyal kablosu: Genellikle sarı, turuncu veya beyaz renktedir. Arduinodaki dijital pinlerden birine bağlanabilir.
Servolar çok fazla akım çekebileceğinden 1-2’den fazla servo kullanacağınız zaman veya çok güçlü servo kullanacağınız zaman güç kablosunu Arduino’nun 5V pinine değil, harici bir güç kaynağı kullanıp onun artısına bağlamalısınız. Tabi bunu yaptığınızda harici güç kaynağının eksisi(GND) ile Arduinonun GND pinini birbirine bağlamanız lazım.

Servo Kontrol Programı

Servo kontrolünde birkaç  kod vardır Bunları sırasıyla açıklayalım:

  • Kütüphanenin yüklenmesi

Bu komut servo kütüphanesini programımıza dahil eder.

  • Servo nesnesinin tanımlanması

Bu komut myservo isminde bir Servo nesnesi tanımlar. Bundan sonraki kısımlarda myservo üzerinde işlem yapılacak.  Birden fazla Servo nesnesi oluşturulabilir. Örneğin;

gibi.

  • Servonun bağlandığı pinin belirtilmesi.

Bu işlem setup() bloğu içinde yapılır.

Bu kodda myservo isimli servo 9 nolu pine bağlandı.

  • Servo milinin döndürülmesi

Bu kodda myservo isimli servonun mili 90 dereceye gönderiliyor.

Örnek Uygulama – 1

Aşağıdaki program servonun milinin sürekli olarak bir sağa bir sola dönmesini sağlar

 

Örnek Uygulama – 2

Bu uygulamada Arduino’nun A0 pinine bağlayacağımız potansiyometrenin değerine göre servonun milini döndüreceğiz. Potansiyometreden analog değerin nasıl okunacağını anlattığımız yazımız için tıklayın.

Umarım faydalı bir yazı olmuştur. Bir sonraki yazımızda görüşmek dileğiyle…


Benzer Yazılar

Arduino Dersleri – LDR Değeri Okuma

Bu yazımızda Arduino ile LDR değerinin nasıl okunacağını anlatacağız.

Arduino Dersleri – Analog Değer Okuma

Bu yazımızda Arduino'nun Analog pinlerinden ve bunların nasıl okunacağından bahsedeceğiz.

Arduino Dersleri – Led Yakma

Bu dersimizde Arduino ile ilk uygulamamızı yapacağız. LED yakmak Arduino programının örnek kodları arasında yer alır. LED yakma örneği basit ama programın çalışma mantığını anlamak açısından önemli bir örnektir. 

Arduino Dersleri – Butonla LED Yakıp Söndürme

Arduino'da dijital pinlerin nasıl giriş-çıkış olarak kullanılacağını anlatacağız.


Facebookta Paylas