Servo motorlar, belirli bir açıya dönerek veya belirli bir pozisyonda kalacak şekilde hareket eden motorlardır. Arduino ile servo motor kontrolü yapmak oldukça basittir ve birçok farklı uygulama için kullanılabilir. Bu yazıda, bir potansiyometre kullanarak servo motor kontrolünü nasıl gerçekleştirebileceğimizi öğreneceğiz.
Öncelikle, Servo kütüphanesini projemize eklememiz gerekiyor. Bu kütüphane, servo motorları kolayca kontrol etmemize olanak tanır. Kütüphaneyi eklemek için, Arduino IDE’de “Sketch” menüsünden “Include Library” seçeneğine gidin ve “Servo” kütüphanesini seçin.
Servo motor kontrolü yapmak için, potansiyometre kullanacağız. Potansiyometre, bir analog girişten okunan bir voltajı değiştiren üç terminalli bir bileşendir. Bu voltaj, servo motorun pozisyonunu belirlemek için kullanılacak.
Servo motor kontrolü için aşağıdaki kodu kullanabilirsiniz:
#include <Servo.h> // Servo kütüphanesi eklenir
Servo servomotor; // Servo motor nesnesi oluşturulur
byte pot_pin = A5; // Potansiyometre pin numarası atanır
int pot_deger; // Potansiyometre okuması
void setup() {
Serial.begin(9600); // Seri haberleşme hızı ayarlanır
servomotor.attach(10); // Servo motor sinyal pimi
servomotor.write(0); // Servo motorun başlangıç konumu 0
}
void loop() {
pot_deger = analogRead(pot_pin);
Serial.println(pot_deger);
int yeni_deger = map(pot_deger, 0, 1023, 0, 180); // //Potansiyometre değeri 0-1023 aralığından 0-180 aralığına //dönüştürülür
servomotor.write(yeni_deger); // Servo motor //pozisyonu potansiyometre değerine göre ayarlanır
Serial.println(yeni_deger); // Servo motor //pozisyonu seri portta yazdırılır
delay(15); // 15 ms gecikme //eklenir
}
Bu kod, potansiyometre değerini okur ve bu değeri 0-180 aralığındaki bir açıya dönüştürerek servo motorun pozisyonunu ayarlar.
Elde ettiğimiz okuma değeri, 0-1023 arasında olacak şekilde analog okuma yapılır. Bu değer daha sonra “map” fonksiyonu yardımıyla 0-180 arasına ölçeklenir. Servo motorun konumunu değiştirmek için “write” fonksiyonu kullanılır ve yeni konum değeri servo motorun pozisyonuna gönderilir. Bu işlem, bir “delay” fonksiyonu ile belirtilen süre boyunca tekrarlanır.
Bu örnek kod, servo motor kontrolü için basit bir başlangıç noktasıdır. Servo motorların kullanımı, robotik, uzaktan kumanda sistemleri, otomatik kontrol sistemleri gibi birçok alanda yaygın olarak kullanılmaktadır. Servo motorların kontrolü, Arduino gibi mikrokontrolörlerle basit bir şekilde gerçekleştirilebilir.
Benzer şekilde, Arduino veya diğer mikrokontrolörler ile farklı sensörlerin kullanılması ile servo motorların kontrolü ve çeşitli uygulamaları mümkündür.
Eğer bu konuya meraklıysanız Flex (esnek) sensör ile Servo motor kontrolü isimli blog yazımıza bakabilirsiniz.




Bir yanıt yazın