Bu yazım içerisinde arduino servo motor,
arduino servo motor kodu ile ilgili bilgiler edinebilirsiniz.
Arduino Servo Motor Nedir?
Servo motorlar 0 - 180 derece açı aralıklarında hareket
sağlayabildiğimiz elektronik bileşenlerdir. İhtiyaca göre farklı çeşitleri
vardır. Yapıldığı malzemelere göre veya ne kadar yük taşıyabildiğine göre
çeşitlendirilir.
Arduino Servo Motor Projeleri
Arduino ile servo motor kontrolünü gerçekleştirebilmek için ufak bir
proje yapacağım. Bunun için genelde küçük işlerde kullanılan
SG90 Servo Motor'u kullanacağım. Siz ihtiyaca göre daha güçlü, daha
fazla yük taşıyabilen motorlar kullanabilirsiniz. Fakat burada dikkat etmeniz
gereken bazı önemli noktalar var. Kullandığınız motorun kaç volt ile
çalıştığı, tam yük altında veya boştayken ne kadar akım çektiği gibi. Bu
konuda yeterli bilginiz yok ise şimdilik güçlü motorları kullanmayı veya
birden fazla servo motoru arduino'ya doğrudan bağlayıp aynı anda sürmeyi
denemeyin. Arduino kartınızı yakabilirsiniz.
Arduino Servo Motor Bağlantısı
Servo motoru kontrol edebilmek için Arduino üzerinde yer alan PWM
pinleri kullanılır. Bu pinlerin hemen yanında (~) işareti yer alıyor. Bu
işarete bakarak pwm pinlerini bulabilirsiniz.
Devre şemasında çizdiğim programdan dolayı tam istediğim renkleri
yakalayamadım. Yukarıda yer alan devre şemasından faydalanarak devrenizi
kurun.
- Sarı - Turuncu (PWM Pin)
- Kırmızı - Kırmızı (5V)
- Siyah - Kahverengi (GND)
Arduino Servo Motor Kütüphanesi
Arduino ile bazı bileşenleri kullanırken kütüphane eklememiz gerekebilir.
Servo motor da kütüphane eklememizi gerektiren bileşenlerden biri
Yukarıda görüldüğü üzere arduino programını açtıktan sonra taslak sekmesi
altından library ekle (kütüphane ekle) seçeneğini seçelim ve hemen altında
yer alan kütüphaneleri yönet sekmesine tıklayalım.
Açılan ekranda yukarıda görüldüğü gibi bir arama kısmı var. Oraya "Servo"
yazıp aratıyoruz. İkinci kısımda Servo başlıklı kısmın install'a tıklayıp
kurulumunu yapıyoruz. Servo motor kütüphanesinin projemize eklenme işlemi
artık tamam. Kodları yazmaya başlayabiliriz.
Arduino Servo Motor Kodu
Kod ile ilgili gereken açıklamalar kodların yanında yer alan yorum
satırlarında mevcut. Yine de kodun ne işe yaradığından kısaca bahsetmek
gerekirse; Servo motorumuz 0'dan 180 dereceye kadar birer birer 20
milisaniye aralıklar ile artıyor ve 180 dereceye geldiğinde tekrar 0
dereceye kadar birer birer 20 milisaniye aralıklar ile
azalıyor. Projemizin ilk satırına "#include <Servo.h>" kodunu
yazarak servo kütüphanesini projemize dahil ediyoruz ve aşağıdaki kodları da
hemen onun altına yazıyoruz.
Servo servoM; // Servo nesnemizi oluşturduk ve ismini servoM yaptık. int position = 0; // position değişkenini oluşturup 0’a eşitledik. void setup() { servoM.attach(9); // Servo motoru Arduino'nun 9 nolu pini’ne bağladığımızı belirttik. } void loop() { // For döngüsü ile 0 ile 180 derece arası ileri gitmesini sağladık. // her 20ms sonunda 1 derece artacak şekilde ayarladık. for (position = 0; position <= 180; position += 1) { servoM.write(pos); // Servo motorun açı değeri olarak belirlediğimiz position değişkenini servo motora yazdırdık. delay(20); // Motorumuzun hedeflenen açıya gidebilmesi için 20 ms bekleme ekledik. } // for döngüsü ile 180 ile 0 derece arası geriye gitmesini sağladık. for (position = 180; position >= 0; position -= 1) { servoM.write(pos); delay(20); } }
Anlamadığınız veya takıldığınız yerler için yorumlar kısmını
kullanabilirsiniz.