Arduino
OKUDUĞUNUZ KONU
Humanoid Yürüyen Servo Robot
7

Humanoid Yürüyen Servo Robot

Yazar : Murat Duran5 Eylül 2015

Yürüyen servo robot denildiğinde aklımıza ciddi paralar harcanarak hazırlanmış robotlar gelir.Yapacağımız robot tıpkı insan gibi adım atmakta.Bu projeyi yaparken denge merkezini çok iyi ayarlamanız gerekmektedir.Aksi halde robotunuz dengede durmayacaktır.

Projede en ucuz servo motorlar kullanılmıştır.Bu yüzdende çok fazla ağırlık yüklememeniz gerekmektedir.Mümkün olduğunca hafif malzemeler kullanmanız gerekecektir.

Malzemeler

1- Arduino UNO
2- Breadboard
3- Servo Motor x4 (TowerPro 9g)
4- Jumper Kablolar
5- Oyun hamuru

Projemizin yapılış resimleri aşağıda mevcuttur.Aşağıdaki resimleri bakarak benzetmeye çalışınız.İlk önce servo motorlarını birbirine ekleyiniz.Aynı resimlerdeki gibi olmalı.Daha sonra iki adet bacak servosunu silikon ile birbirine sıkıca sabitleyin.Servoları sabitlerken birbirine 90 derece ile sabitlemeniz gerekecek.

Servoları sabitledikten sonra servoların üzerine elektronik parçalarımızı yerleştirmemiz gerekiyor.Yerleştirirken robotun tamamı ile dengede durduğundan emin olun.Aksi halde adım atmaya başladığında devrilecektir.

Son olarak robotunuzu ister adaptör ile dışarıdan kablo kullanarak besleyin isterseniz de yine arduino üzerine batarya ekleyin hiç fark etmez.Ama batarya kullanırsanız daha iyi olur.

 // Yürüyen Humanoid Robot
#include <Servo.h> 
Servo rightfoot;
Servo righthigh;
Servo leftfoot;
Servo leftthigh;
 int pos;
void setup() 
{ 
rightfoot.attach(3);
righthigh.attach(5);
leftfoot.attach(9);
leftthigh.attach(6);

} 
 
 
void loop() 
{  int pos=120;
rightfoot.write(90);
righthigh.write(90);
leftfoot.write(90);
leftthigh.write(90);delay(500);
leftfoot.write(55);delay(400);
 for(int i=90;i<=115;i++)
 {rightfoot.write(i);delay(12);}

leftfoot.write(120);delay(100);
leftthigh.write(120);delay(100);
delay(500);
 for(int i=90;i<=120;i++)
{righthigh.write(i);delay(12);
leftthigh.write(i);delay(12);}

 leftfoot.write(90);delay(300);
 for(int i=115;i>=90;i--)
 {rightfoot.write(i);delay(12);}

delay(500);

 rightfoot.write(120);delay(300);
leftfoot.write(65);
righthigh.write(60);
for(pos=120;pos>=60;pos--)
{leftthigh.write(pos);delay(7);}
 rightfoot.write(60);

 delay(500);
  rightfoot.write(90);delay(300);
leftfoot.write(90);delay(300);
leftthigh.write(60);delay(300);

righthigh.write(60);delay(300);
 delay(500);
} 
SİZCE NASIL OLMUŞ?
Beğendim
60%
İlginç
17%
Eh İşte
6%
Anlamadım
6%
Kötü
3%
Berbat
9%
YAZAR HAKKINDA
Murat Duran
Murat Duran
Açık kaynak donanım ve yazılım geliştiricisiyim , mekanik ve robotik sistemler üzerinde çalışmalar yapmaktayım.Ayrıca bir start-up firması olan Proje Hocam 'ın kurucuyum.
7 YORUMLAR
  • onur hançerkıran
    1 Mayıs 2016 at 01:40

    90 derece ile tutturmuş olduğunuz servolar, çalıştırmaya başladığımızda hamurlar dağılıyor. Kullandığınız dört sevronun ardunio bağlantıları ile programın içinde atadığınız pinler, hangi pin hangi servoya geldiğinin bir önemi var mı yoksa kafamıza göre mi servoları birbirlerine bağlıyoruz. Teşekkürler.

    • Altan anıl sipahi
      5 Ekim 2016 at 19:24

      aynen pinlerin bağlantısı nasıl yapan yada bilen varsa lütfen yazsın.

      • Altan anıl sipahi
        5 Ekim 2016 at 19:30

        Servo rightfoot;
        Servo righthigh; —> bu kısımda isim
        Servo leftfoot; isim vermiş sağ
        Servo leftthigh; bacak servosu vs.

        rightfoot.attach(3);
        righthigh.attach(5); —>burdada
        leftfoot.attach(9); pin numaralarını
        leftthigh.attach(6) vermiş.

  • alper seçen
    2 Aralık 2016 at 20:55

    ben herşeyi yaptım çalıştırdığımda iste robot saçmalıyor ayaklar fln başka tarafa dönüyor

  • 26 Mart 2017 at 19:36

    kardeş pinlerin numaralarını verirsen seviniriz bir de kod hatalı olmuş bunu düzelt

  • Said Uludağ
    20 Nisan 2017 at 21:46

    kodlar olmamış galiba denedim 1 servo çalışıyor yardım edebilr misin? pinler de olmamış gibi ?????

  • Said Uludağ
    20 Nisan 2017 at 21:50

    Yeni baktımda pinlerde sıkıntı yok ama anlaayamdım hatayı

YORUM YAP