Servo Motor Kullanımı
Arduino ile SG90 servo motoru bağlayıp 0, 90 ve 180 derece konumlarına döndürmeyi öğreneceğiz.
Arduino kartında servo motor kullanımının anlatımıdır. Servoyu bağlayıp 0, 90 ve 180 derece döndürüp servonun çalışmasını basitçe anlattım.
- Arduino Uno
- SG90 Servo Motor
SG90 servo motorlarda turuncu veya sarı kablo sinyal kablosudur. Kahverengi veya siyah kablo GND, kırmızı kablo ise 5V besleme hattıdır.
Servo motorun sinyal kablosu Arduino’nun 8 numaralı pinine bağlanır. Kırmızı kablo 5V’a, kahverengi veya siyah kablo GND’ye bağlanır.
Küçük SG90 servo motorlar basit denemelerde Arduino’nun 5V pininden beslenebilir. Ancak daha güçlü servo motorlarda veya yük altında çalışan uygulamalarda harici 5V güç kaynağı kullanılması daha doğru olur. Harici güç kullanılırsa Arduino GND ile güç kaynağı GND ortak bağlanmalıdır.
Servo kütüphanesi, servo motoru belirli açılara döndürmek için kullanılır. motor.attach(8) komutu servo sinyal pininin 8 numaralı pine bağlı olduğunu belirtir.
motor.write(0), motor.write(90) ve motor.write(180) komutları servo motoru sırasıyla 0, 90 ve 180 derece konumlarına götürür.
Aşağıdaki kodda Servo motor 2 saniye aralıklarla 0, 90 ve 180 derece konumlarına gider.
#include <Servo.h>
Servo motor;
void setup() {
motor.attach(8);
}
void loop() {
motor.write(0);
delay(2000);
motor.write(90);
delay(2000);
motor.write(180);
delay(2000);
}
Bu sürümde servo pin numarası sabit değişken olarak tanımlandı ve tekrar eden açı komutları döngü ile daha kısa yazıldı.
#include <Servo.h>
Servo motor;
const int servoPin = 8;
void setup() {
motor.attach(servoPin);
}
void loop() {
for (int aci = 0; aci <= 180; aci += 90) {
motor.write(aci);
delay(2000);
}
}
Bu örnek 0, 90 ve 180 derece konumlarını göstermek için uygundur. Servo mekanik sınırlarına zorlanıyorsa 0 ve 180 yerine daha güvenli ara değerler denenebilir.