Servo motorlar 0 ile 180 derece arasında 1 derece hassasiyetiyle dönebilen motorlardır. Bu özellikleri nedeniyle bir çok projede kullanılmaktadır. Servo motorların arduino kartına bağlamak için 3 farklı renk kablosundan kırmızı renk kablo arduinonun 5V pinine, kahverengi olanı GND pinine, turuncu olanı ise ardunionun 3,5,6,9,10 veya 11 numaralı pinlerinden birisine bağlanır.
Servo motorların arduino bağlantısı aşağıdaki şemada gösterildiği gibi yapılmalıdır.
Servo motorların çalışabilmesi için gereken kütüphane dosyası arduino kurulumunda otomatik olarak yüklendiği için herhangi bir kütüphane kurulumuna gerek olmamaktadır. Servo motor için gerekli kütüphane dosyası #include<Servo.h> kodu ile eklenir.
Gerekli arduino servo motor kodlarını yazalım ve inceleyelim.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | //Servo motor çalışması için gerekli kütüphane dosyasını ekledik. #include<Servo.h> Servo motor; //motor adında bir servo nesnesi oluşturduk. void setup() { motor.attach(3); // Servo motorun data pinini arduino 3 numaralı //pine bağladığımızı belirttik. } void loop() { motor.write(90); // Servo motora açı değeri olarak 90 dereceye döndürdük. } |
Servo motorlar 0 ile 180 derece açılarında dönebilen motorlar olduğundan, motor.write(açı) komutunda açı yerine 0-180 arası bir değer yazarak servo motorunuzu hareket ettirebilirsiniz.
Aşağıdaki örnekte is servo motorumuzun 0 ile 180 derece açı aralığında birer açılık değişimle sürekli ileri ve geri dönmesini sağlayabiliriz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | #include<Servo.h> Servo motor; int aci; void setup() { motor.attach(3); } void loop() { for(aci=0;aci<=180;aci+=1){ motor.write(aci); delay(100); } for(aci=180;aci>=0;aci-=1){ motor.write(aci); delay(100); } } |
Arduino ile servo motor kullanımı ile ilgili videomuzu izleyerek daha detaylı bilgi sahibi olabilirsiniz.
Yorum bölümünü kullanarak sorularınızı iletebilir, görüşlerinizi belirtebilirsiniz.
Arduino ile sg90 servo kontrolünde (potansiyometre yokken) motor hızını nasıl ayarlayabilirim örnek bir program ile yardımcı olabilir misiniz? Teşekkürler.