Bu uygulamada servo motor kütüphanesiz olarak PWM sinyali kullanılarak kontrol edilmiştir. Devrede kullanılan servo motor SG90 servo motordur.
Program Kodları
//AÇIKLAMA
//Servo motor için üretilecek PWM sinyali Timer’lar ile üretilir. millis()
//komutunun Timer’ı ile PWM’in HIGH durumu, micros() komutunun Timer’ı ile de
//PWM’in LOW durumu kontrol edilir. PWM sinyalinin nasıl üretildiği detaylı
//olarak klasör içindeki power point dosyasında şekille birlikte anlatıldı.
unsigned long servo_yuksek = 0;
int servo_yuksek_artir = 20;
unsigned long servo_dusuk = 0;
int servo_dusuk_artir = 1500;
void setup()
{
pinMode(12, OUTPUT);
servo_yuksek = millis();
}
void loop()
{
if (millis() > servo_yuksek + servo_yuksek_artir)
{
digitalWrite(12, HIGH);
servo_yuksek += servo_yuksek_artir;
servo_dusuk = micros();
}
if (micros() > servo_dusuk + servo_dusuk_artir)
{
digitalWrite(12, LOW);
servo_dusuk += servo_dusuk_artir;
}
}
Devre Şeması

0 comments:
Yorum Gönder