Arduino ile servo motor döndürme

Katılım
3 Mart 2019
Mesajlar
46
Merhaba benim elimde "ds3231" saat modülüm ve "mg995" servo motorum var ve her on dakikada dönmesini istiyorum acaba nasıl bir kod yazmalıyım? İf mi for mu koymalıyım bir sürü şekilde denedim fakat istediğim gibi çalışmadı hiç.. (Bağlantıları tamam)

Not: Sadece döngü ve delay mantığını anlasam yeter orda sıkıntı yaşıyorum.
 
C#:
delay(600000);

Bu şekilde 10 dakika bekletebilirsiniz. Sonsuz döngü içerisinde dahil ederseniz her 10 dakika bekledikten sonra 1 kez daha çalışır.

C#:
while(1){
   delay(600000);
}
Teşekkürler hocam çalıştı fakat 4 saat arayla çalışsın istersem gene delay ile mi yapıcam yoksa şart falan eklemem gerekecek mi? Ve birde zamanlama modülü olmadan çalıştı ama projelerde hep zamanlama modülü var acaba saat modülünün ne gibi avantajı vardır?
 
Delaydaki mantık, içine yazdığın sayı milisaniye cinsinde olmalı. Ben sana söyleyeyim. Mesela yarım saniye diyeceksin şöyle diyeceksin: felay(500);
Bir saniye diyeceksin şöyle diyeceksin: Ddelay(1000);
 
Eğer sadece bekleyip servoyu döndürmesini istiyorsanız delay kullanışlı olabilir fakat bunun yanında başka işlemler de yaptıracaksanız delay sorun çıkartır. Çünkü delayde kelimenin tam anlamıyla Arduino hiçbir şey yapmadan öylece bekler diğer tüm işlemler askıya alınır.

Bu sorunun önüne geçmek için millis() fonksiyonu kullanılmalıdır.

İf-else yapısı iş görür fakat sürekli kodu düzenlemek istemezseniz mesela butonlar ile bu süreyi ayarlamak isterseniz switch-case öneririm if-else'ye göre çok daha hızlıdır.
 

Geri
Yukarı