Arduino ile servo motor kontrolü
  • Örnek video:
    Bağlantı şekli : http://answers.oreilly.com/uploads/monthly_05_2011/post-3847-13054689498.png Gerekli kod : // by Murat Onur SÜREK https://twitter.com/#!/teknologer // Bu örnek kod kamuya aittir. #include < Servo.h> // "<" işaretinden sonra bırakılan boşluğu siliniz. "<Servo.h>" şeklinde olacak. Servo myservo; // Bu komutla servo kontrol nesnenizi oluşuyorsunuz. // En fazla sekiz tane servo kontrol nesnesi oluşturabilirsiniz. int pos = 0; // Bu komutla servonun başlangıç pozisyonunu belirliyorsunuz. void setup() { myservo.attach(9); // Servonun sinyal alacağı pin numarasını belirliyorsunuz. } void loop() { for(pos = 0; pos < 180; pos += 1) // Servo 0'dan 1 pozisyonuna 180 derece dönecek. { // 1 derecelik adımlarla myservo.write(pos); // Belirlenen pozisyona gitmesi isteniyor. delay(5); // Pozisyona 5 ms de ulaşıyor. } for(pos = 180; pos>=1; pos-=1) // Servo 1'den 0 pozisyonuna 180 derece dönecek. { myservo.write(pos); // Belirlenen pozisyona gitmesi isteniyor. delay(5); // Pozisyona 5 ms de ulaşıyor } }
  • Eğer 2 veya daha fazla servo motoru kontrol etmek istiyorsanız gereken örnek kod : // by Murat Onur SÜREK https://twitter.com/#!/teknologer // Bu örnek kod kamuya aittir. #include < Servo.h> // "<" işaretinden sonra bırakılan boşluğu siliniz. "<Servo.h>" şeklinde olacak. Servo servo1; // Bu komutla servo kontrol nesnenizi oluşuyorsunuz. Servo servo2; // En fazla sekiz tane servo kontrol nesnesi oluşturabilirsiniz. int pos = 0; // Bu komutla servonun başlangıç pozisyonunu belirliyorsunuz. void setup() { servo1.attach(1); // Servonun sinyal alacağı pin numarasını belirliyorsunuz. servo2.attach(2); } void loop() { for(pos = 0; pos < 180; pos += 1) // Servo 0'dan 1 pozisyonuna 180 derece dönecek. { // 1 derecelik adımlarla servo1.write(pos); // Belirlenen pozisyona gitmesi isteniyor. servo2.write(pos); delay(5); // Pozisyona 5 ms de ulaşıyor. } for(pos = 180; pos>=1; pos-=1) // Servo 1'den 0 pozisyonuna 180 derece dönecek. { servo1.write(pos); // Belirlenen pozisyona gitmesi isteniyor. servo2.write(pos); delay(5); // Pozisyona 5 ms de ulaşıyor } }
  • İyi günler aynı komutlar Mega 2560 r3' te çalışır mı?
  • Elbette çalışır hocam
  • Arkadaşlar ben Arduino Nano Atmega328 de denedim. Ama Arduinodan tık yok. Bir yeri yanmış adını unuttum. Yarın yaptıracağım.
  • Servo da çalışmıyor.
  • Bu kodları ben de kullandım fakat arduinoyu bilgisayar ile değil de 12 V ile besleyince daha kararlı çalıştı, bilgisayarla bağlantısı devam ederken sürekli reset attı arduino, toprak ile reset arasına kapasitör koymama rağmen yine de devam etti.
  • hatalı bağlantınız var mutlaka, motorları arduino pininden besliyorsunuz yanlışlıkla galiba.
  • ya bunu bluetooth üzerinden kontrol edebilirmiyiz dc motora benzemiyo uğraştım ama bişey çıkaramadım
  • Oh be! Oldu sonunda. Daha önceki yorumlarda verdiğim sorunun kaynağı servonun Arduino'ya ağır gelmesi. Daha küçük bir servo aldım oldu. Kolay gelsin herkese.
  • Servonun beslemesini harici yapıp sadece sinyalini arduino dan alırsan o ağır gelen servoyu da kullanabilirsin sanırım. Ağır geldi dediğin servonun modeli nedir?
  • Tabiki öyle yapılmalı beslemeyi harici bir kaynaktan verin sadece data ucu arduino pin çıkışına bağlı olsun
  • Harici kaynaktan servoya güç verirken transistör mü kullanıyoruz acaba?
  • Bunu RTC ile kontrol etme imkanımız nasıl olur, yani belirlenen zamanda servo yukarıdaki kodları verilmiş hareketi yapsın.
  • Servoyu harici beslerken GND leri nasıl birleştirebiliriz?
  • arduino gnd si ile harici kaynağın gnd sini birbirine bağlayacaksınız. nası bi soru bu anlamadım
  • İstediğimi anlatamadım sanırım, servo motoru istediğim bir zamanda hareket vermek istiyorum. RTC olmalı, milisaniye saydırarak olmuyor.
    Ayrı olarak servo çalıştırabiliyorum, ayrı olarak Rtc çalıştırabiliyorum ancak ikisini birleştiremedim :(
  • ds1302 rtc kullanın onun pinleri serbestçe seçilebiliyor kutuphanesi musait, devrenizde boşta kalan uçlardan birine bağlarsınız. bir başlama durma planı yaparsınız o saatlerde başlar durur veya saati gelince belli bir servo işlemi yaparsınız.
  • Merhaba Hocam,
    robot kol projesinde alt kolları kaldıracak ve senkronize çalışacak servo motorların dönme yönlerinin ters olması gerekiyor yoksa biri kolu kaldırmaya çalışınca öbür motor ters yönde çevirmeye çalışıp kitleniyorlar.
    Konuyla ilgili örnek kodlarınız var mıdır acaba?
    Teşekkürler
  • iyi günler hocam,
    ben arduino adafruit sürücü ile çalışıyorum.dc motorları kontrol edebiliyorum ama servo motor u kontrol edemiyorum
    yazmam gereken kodlar nelerdir
    teşekkürler
  • Hocam merhabalar ,

    Elimde Micro Servo SG90 modeli bir helikopter servo motoru var 360 derece döndürmek istiyorum yardımcı olabilirmisiniz ?
  • 360 derece dönsün istiyorsan içini açıp potansiyometreyi devreden ayırmalısın.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Açık kaynak kültürü gereği, çözdüğünüz problemlerin çözümlerini paylaşmayı lütfen unutmayın.