Arduino Servo Motor Kontrolü
Arduino servo motor kontrolü, bir çok projede işinize yarayacak teknikler ve kontroller içermektedir, örnek vermek gerekirse, kapı kilit sistemleri, robot hareket sistemlerine kadar bir çok mekanik alanda kullanabilirsiniz. Servo kütüphanesi, servo motorları kontrol etmek için kullanışlı bir kütüphanedir. Bu yazıda, herhangi bir Arduino geliştirme kartı tarafından kullanılabilecek örnekler bulacaksınız.
İlk örnek, Arduino’nuz ve bir potansiyometre ile bir RC (hobi) servo motorun konumunu kontrol eder. İkinci örnek, bir RC servo motorun şaftını 180 derece ileri geri süpürür ayrıca bu sistem sweep devresi olarakta geçer.
Bu kitaplık hakkında daha fazla bilgi edinmek için Servo GitHub deposunu da ziyaret edebilirsiniz.
Potansiyometre Kontrollü
Servo motorların üç kablosu vardır: güç, toprak ve sinyal. Güç kablosu genelde kırmızıdır ve Arduino kartındaki 5V pinine bağlanmalıdır. Topraklama kablosu genel olarak siyah veya kahverengidir ve kart üzerindeki GND pinine bağlanmalıdır. Sinyal pini genel olarak sarı veya turuncudur ve kart üzerindeki PWM pinine bağlanmalıdır. Bu örneklerde, pin numarası 9 olarak kabul edilmiştir.
Gerekli Malzemeler
- Ardunio Geliştirme Kartı
- Servo Motor
- 10kΩ Potansiyometre
- Kablolar
Proje Kodu
#include <Servo.h> Servo myservo; // servoyu kontrol etmek için servo nesnesi oluşturma int potpin = 0; // potansiyometreyi bağlamak için kullanılan analog pin int val; // analog pinden değeri okumak için değişken void setup() { myservo.attach(9); // pin 9'daki servoyu servo nesnesine bağlama } void loop() { val = analogRead(potpin); // potansiyometrenin değerini okur (0 ile 1023 arasındaki değer) val = map(val, 0, 1023, 0, 180); // servo ile kullanmak için ölçeklendirme (0 ile 180 arasında bir değer) myservo.write(val); // servo konumunu ölçeklenen değere göre ayarlar delay(15); // servonun oraya varmasını bekleme }
Devre Şeması

Süpürme Devresi
Bu devre içinde bağlantılar servo motor için tamamen aynıdır, potansiyometre olmadığı için başka kablo bulunmamaktadır.
Gerekli Malzemeler
- Ardunio Geliştirme Kartı
- Servo Motor
- Kablolar
Proje Kodu
#include <Servo.h> Servo myservo; /// servoyu kontrol etmek için servo nesnesi oluşturma int pos = 0; // servo konumunu saklamak için değişken void setup() { myservo.attach(9); // pin 9'daki servoyu servo nesnesine bağlar } void loop() { for (pos = 0; pos <= 180; pos += 1) { // 0 dereceden 180 dereceye kadar gider // 1 derecelik adımlarla myservo.write(pos); // servoya 'pos' değişkenindeki konuma gitmesini söyler delay(15); // servonun pozisyona ulaşması için 15ms bekler } for (pos = 180; pos >= 0; pos -= 1) { // 180 dereceden 0 dereceye gider myservo.write(pos); // servoya 'pos' değişkenindeki konuma gitmesini söyler delay(15); // servonun pozisyona ulaşması için 15ms bekler } }
Devre Şeması

Not: Çoğu kartta on iki servo nesnesi oluşturulabilir.
Diğer servo motor yazıları:
- 555 Entegresi ile Servo Motor Kontrolü
- Servo Motor Nedir? Nasıl Çalışır?
- mBlock Servo Motor Uygulaması
- mBlock Joystick ile Servo Motor Kontrolü
Yorum yapma özelliği, forum tarafından gelen istek sebebiyle kapatılmıştır. Lütfen tartışmalar ve sorularınız için topluluk forumumuza katılın.