Servo Motor İle Delay Komutu ve Return

Merhabalar Foruma yeni katıldım. Adım Melik. Ardunio ile 1 senedir uğraşıyorum. TEKNOFEST için bir Akıllı Kedi Evi projem var ve bunun için kedilerin mama kasesine dolum için servo motoru belli bir saatte açıp bekletip sonra kapatmak istiyorum ve bunu yaptım kodlarını da yazdım ama işlemleri yaptıktan sonra duruyor ve sadece bir defa yapıyor Dosya > Örnekler > Servo > Sweep taslağını değiştirdim biraz birçok deneme yaptım ve başarısız oldum. Bu yüzden Resul abime başvurdum oda burayı yönlendirdi onada çok sevgiler. Kodumu aşağıya bırakacağım. Amacım şu; Servo motoru 180 derece döndürüp bekletip sonra tekrardan kapatıp sonra belli bir süre bekleyerek işlemleri tekrarlamasını istiyorum void loop bölüme koydum bu işlemleri yukarıda belirtiğim gibi çok kez deneme yaptım ve başarısız oldum yardımcı olursanız çok sevinirim! Şimdiden teşekkürler :grin:.

Kodlarım (Çok değişik oldu farkındayım en son başvurduğum yol bu :’) )

   #include <Servo.h>

    Servo myservo;

    int pos = 0;
    void setup() {
    myservo.attach(9);
    }

    void loop() {
    for (pos = 180; pos <= 180; pos -= 180){ 
    myservo.write(pos);              
    delay(3000);
    } //kod burta takılıp kalıyor

    for (pos = 180; pos <= 180; pos -= 180){ 
    myservo.write(pos);              
    delay(3000);
        } 
    }

Merhabalar. İlk başta foruma hoşgeldin. for döngüsü yerine direk servo açısını myservo.write(180);şeklinde istediğiniz açıya getirin. Daha sonra myservo.write(0); şeklinde servoyu eski açısına geri getirin. Tabi araya delay koymayı unutmayın. Bu arada iki for döngüsüde aynı onun için bi değişiklik olmuyor ve for döngüsünün içinde delay koymuşsunuz. Eğer delayı oraya koyarsanız servo 1derece artar 3 saniye bekler daha sonra yine 1derece artar. İyi günler dilerim. :slightly_smiling_face:

1 Beğeni

Çok çok teşekkürler işe yaradı :heart: Sizede iyi günler.Hoşbulduk

1 Beğeni