Görseldeki uygulamada servo motor 0°den 180°ye birer derece açıyla gidip aynı şekilde geri
döner. 0° ile 180° arası mesafe, bu servo motorda 300 ms sürmektedir. 300 ms’den hızlı komutlarda servo motor doğru çalışmaz.

Menülerden ”Taslak  Library Ekle  Servo” seçilerek programın başına eklenir. Bu programların örneğine menülerden “Dosya  Örnekler  Servo  Sweep ve Knob” adımları izlenerek de
ulaşılabilir.

#include <Servo.h>

Servo servo; // servo isimli nesne oluşturuldu.

byte derece = 0; // Servo derecesini tutan değişken.

void setup() {
  servo.attach(9); // Servo motor 9 numaralı PWM çıkışına bağlı.
}

void loop() {
  for (derece = 0; derece < 180; derece += 1) { // 0°'den 180°'ye birer derece git.
    servo.write(derece); // Servo motorun gideceği derece.
    delay(50); // 15 ms bekle.
  }
  for (derece = 180; derece > 0; derece -= 1) { // 180°'den 0°'ye birer derece git
    servo.write(derece);
    delay(50); // 15 x 180 = 2700 ms'de 0°'den 180°'ye tamamlar.
  }
}

#include <Servo.h>

Servo servo; // servo isimli nesne oluşturuldu.

void setup() {
  servo.attach(9); // Servo motor 9 numaralı PWM çıkışına bağlı.
}

void loop() {
  int pot = analogRead(A0); // Potansiyometrenin konumunu oku. (0 - 1023)
  byte derece = map(pot, 0, 1023, 0, 180);// Servo motorun kullanacağı 0 - 180 aralığına dönüştür.
  servo.write(derece); // Servo motorun gideceği derece.
  delay(15);
}

Categories:

Tags:

No responses yet

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Dersler