Arduino ile Servo Motor Kontrolü
Kısa bir aranın ardından tekrar merhaba. Bu yazım içerisinde arduino ile servo motor kontrolü, arduino servo motor gibi aramalarınıza yanıt bulabileceksiniz.
Servo motorlar 0 - 180 derece açılar arasında hareket sağlayabildiğimiz elektronik bileşenlerdir. İhtiyaca göre birçok farklı çeşiti bulunur. Yapıldığı malzemelere göre veya servo motorun ne kadar yük altına girebildiğine göre değerlendirilir. Ben bu projem içerisinde genelde küçük işlerde kullanılan SG90 Servo Motor'u kullanacağım. Siz ihtiyacınıza göre daha güçlü motorlar kullanabilirsiniz. Ancak burada dikkat etmeniz gereken önemli hususlar mevcut. Kullandığınız motor kaç volt ile çalışıyor?, maksimum yük altında veya boşta ne kadar amper çekiyor? gibi... Bu kısımlar biraz uzun olacağından ve bu yazım içerisinde konumuz bu olmadığından bu kısmı şimdilik atlıyorum. Siz yeterli bilgiye sahip değilseniz şimdilik güçlü motorları veya birden fazla motor sürmemeye çalışın. Arduino kartınızı yakabilirsiniz. Eğer başka motor kullanacaksanız ve aklınıza takılan bir soru var ise lütfen yorumlar kısmından belirtmeyi unutmayın. Şimdi gelin adım adım 1 adet SG90 Servo Motor, Arduino UNO ile nasıl kullanılır göz atalım.
Adım 1: Gerekli Bileşenler
- SG90 Servo Motor x1
- Arduino UNO
Adım 2: Servo Motor Nasıl Kullanılır?
Arduino ile servo motor kontrolü 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 ilgili pinleri bulabilirsiniz. Servo motoru satın aldığınızda genelde üzerine lehimli şekilde gelen üç adet kablo bulunur. SG90 Servo Motor için konuşacak olursak bu kablolar üç farklı renkte. Herhangi bir aksaklık olmadıysa ya da birisi kabloların yerini değiştirmemiş ise bu üç farklı renkteki kablonun özellikleri;
- Kahverengi (GND)
- Kırmızı (5V)
- Turuncu (PWM Pin)
olarak belirlenmiştir.
Adım 3: Arduino Servo Motor Bağlantısı
Devremizin şemasında çizdiğim programdan kaynaklı tam istediğim renkleri yakalayamadım. Yukarda yer alan şemaya göre devrenizi kurun. Burada yer alan Sarı renkli kablo turuncu kabloya, kırmızı kablo yine kırmızı kabloya ve siyah kablo ise kahverengi kabloya denk geliyor. Devrenizi kurarken bu kısmı aramayın diye yine aşağıya karşılık gelen renkleri maddeler halinde sıraladım.
- Sarı - Turuncu
- Kırmızı - Kırmızı
- Siyah - Kahverengi
Adım 4: Kodları Yazalım
Arduino üzerinde bileşenleri kullanırken kütüphane eklemenizi gerektiren durumlar olabilir. Servo motor da yine o bileşenlerden biri. Servo motoru kullanırken kütüphane eklemeniz gerekir. Aşağıda nasıl yapılacağını sizlere adım adım anlattım.
Arduino IDE’ye Kütüphane Ekleme
Arduino IDE'ye kütüphane eklemenin benim bildiğim kadarıyla üç farklı yolu mevcut. Bu yöntemler;
- IDE'nin kendisinde bulunan kütüphane ekleme yöneticisi ile
- Zip dosyası olarak
- Doğrudan kütüphane klasörüne eklemek
Ben bu projemde Arduino IDE içerisinde yer alan kütüphane yükleme yöneticisini kullanacağım. Size de projelerinizde burayı kullanmanızı öneririm. Ancak Arduino ile yol alıp farklı farklı sensör ve modülleri kullanmaya başladığınızda bu yöntemin yetersiz kalacağını görecek ve alternatif yükleme yöntemlerine başvuracaksınız.
Buradan sonraki kısımda Arduino ile Servo motoru kontrol edebilmek için kütüphanenin nasıl ekleneceğini resimlerle anlatacağım.
Yukarıda ekran görüntüsünden de görebilceğiniz üzere Arduino programımız çalıştırdıktan sonra Taslak > Library Ekle > Kütüphaneleri Yönet seçeneklerine sırası ile tıklıyoruz.
Açılan ekranda yukarda görüldüğü gibi bir arama kısmı mevcut. Oraya Servo yazıp aratıyoruz. Fotoğrafta görülen ikinci kısımda Servo başlıklı kısmın install'a tıklayıp kurulumunu yapıyoruz.
Servo motor kütüphanesinin eklenme işlemi artık tamam. Kodları yazmak için önümüzde engel kalmadı.
Buraya kadar uzun uzun tane tane anlatımını gerçekleştirdim. Kod yazma kısmında da erinmeden güzel bir kod yazmak istedim. Yorum satırı olarak gereken tüm açıklamalar mevcut. Bu kodlar sayesinde 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. Kod ve gereken açıklamalar aşağıda mevcut.
#include <Servo.h> // Servo kütüphanesini projemize dahil ettik.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);}}
Arduino ile servo motor kontrolü işte bu kadar basit. Aklınıza takılan yerler veya sorularınız için lütfen yorumlar kısmını kullanın. Sevdiği işi yapan birinin yazısını okudunuz. En yakın zamanda görüşebilmek dileğiyle.
Hiç yorum yok:
Yorum Gönder