28 Mayıs 2023 Pazar

Arduino ile servo motor kullanımı

Motor denilince aklımıza ilk olarak sürekli dönen ve pervaneleri olan motorlar akla gelir. Araç tekerlerinde, su altı araçlarında gibi bir çok yerde kullanılan motorlardan farklı olarak açısal olarak dönebilen servo motorlar vardır. Servo motor Arduino'dan verilen kodlar ile kendi içindeki elektronik kart ve çarklar ile motorun mekanizması açısal olarak dönmektedir.

Yukarıdaki hareketli görselde gördüğünüz üzere servo motor üzerindeki beyaz kol açısal bir hareket yapmaktadır. Önce bu servo motoru tanıyalım. Aşağıdaki görselde gördüğünüz gibi servo motor bağlantısı 3 pinden oluşmaktadır. Kırmızı renk 5V, kahverengi renk GND, sarı renk ise herhangi bir dijital pine bağlanır.

Servo motorun çalışması için Arduino'ya servo motor kütüphanesi eklenir. Arduino içinde kütüphaneleri yönetme kısmında servo bulunup kurulduktan sonra servo motor kütüphaneleri yüklenmiş olur fakat bir kütüphaneyi kod olarak eklemek için #include <Servo.h> komut satırı kullanılarak ekleme yapılır. 

Servo motoru belirli açılarda döndürmek için ise servom.write(50); gibi kod kullanılır. servom motora verilen isim, 50 ise 50 derece döndürmektir. Diğer kod detayları için aşağıdaki kodları inceleyiniz. 

 #include <Servo.h> //servo motor kütüphanesi eklenir
Servo servom; //motora servom adı verilir
void setup()
{
servom.attach(3); //motor 3 numaralı pine bağlanmıştır. pinMode'a benzer bir kod
//yukarıda motora servom ismi verildi ve servom bir nesne oldu. artık bu motora komutları
// servom.x gibi x yerine gelecek komutlarla gerçekleştirebiliriz
}
void loop()
{
servom.write(100); // motor 100 derece dönsün
delay(500); //500ms bekle
servom.write(20); //motor 20 derece dönsün
delay(500);
//aşağıda for döngüsünde 90 dereceden başlayıp 0 derececeye kadar 15 ms de bir azalarak dönüş sağlanır
for (int de = 90; de >= 0; de=de-1)
{
servom.write(de);
delay(15);
}
}






Hiç yorum yok:

Yorum Gönder