Bilgisayar
OKUDUĞUNUZ KONU
Arduino ve Android Kontrollü Robot Kol Yapımı
33

Arduino ve Android Kontrollü Robot Kol Yapımı

Yazar : Alper Gencan14 Aralık 2015

Herkese merhaba.Bugün sizlere sitemizde daha önce paylaşılan robot kol ile yapmış olduğum robotun yapılışını anlatacağım.Bazı arkadaşlar yorumlarda elektronik aksamını istemişler.Bu yazı umarım faydalı olur.Murat Duran hocamızın paylaşmış olduğu http://www.projehocam.com/robot-kol-yapimi-lazer-kesim robot kol projesindeki dosyaları indirip 3D yazıcıda çıkarttırdım ve ortaya böyle bir proje çıkarttık.Bende sizlerle paylaşmak istedim.

Malzeme Listesi:

  • Robot Kol plastik parçaları
  • Civata ve somun çeşitleri robot kol projesinde yorumlarda var.M3 1cm lik fazla almanız iyi olur
  • Arduino Uno
  • Arduino Protoshield
  • Bluetooth HC-06 kullandım.HC-05 de kullanabilirsiniz
  • Motor Sürücü
  • 3 adet servo
  • Jumper kablo
  • Robot şasesi (Hazır kit kullandım)
  • 9V pil (Arduino için) ve Lipo Pil (Motorlar için)

Malzemeleri temin ettikten sonra robot kol montajına başladık.Montaj gerçekten hiç kolay olmadı uğraştırdı baya diyebilirim.Çünkü parçalar yazıcıdan çıktıklarında vida yerlerinde yol yoktu bu yolları klavuz yardımıyla veya el ile açmanız gerekiyor.Montaj yaparken çekmiş olduğumuz bir kaç resmi ekleyeceğim sizde onlara bakarak montajı yapabilirsiniz.

Montaj yaparken servolarınızın açılarını kontrol edin.Haberleşmemiz bluetooth üzerinden olduğu için telefondan verileri integer türünde göndermek daha faydalı öteki türlü baya yavaş oluyor ve bağlantı kopuyor.Programı hazırlarken hızlı olması için şöyle düşündüm.Toplamda 3 adet servo olduğu için bunların açılarının birbirine karışmadan Arduino tarafından algılanıp işlenmesi gerekli.Bunun için ilk servonun açısını telefondan 1000-1180 , ikincisini 2000-2180 , üçüncüsünü 3000-3180 olarak gönderdim ve arduino kodunda gelen verinin aralığna göre gelen veriyi map fonksiyonu ile daraltıp işlem yaptırdım.

Birinci Servo Kod Örneği:

if (data>= 1000 && data<1180)

{
int servo1 = data;
servo1 = map(servo1, 1000,1180,80,170);
myservo1.write(servo1);
delay(10);
}

Map Fonksiyonu Kullanımı :

servo1 = map(servo1, 1000,1180,0,180);

Burada 1000 değeri 80’e , 1180 değeri 170’e eşitlenir.Yani 1000-1180 arasındaki değerler 80-170 arasına eşitlenir.Bu değerleri robot kolu birleştirdikten sonra deneye deneye en ideal açıları kendim verdim.Sizin kendi servo açınıza göre belki açıları değiştirmeniz gerekebilir.Bunu deneyerek kendiniz ayarlamalısınız.Tek yapmanız gereken 1180 den sonraki değerleri değiştirmeniz.

Servo ayarları yapıldıktan sonra robotun ileri , geri, sol , sağ ve dur fonksiyonlarının kodlaması da aynı şekilde yapıldı.Ben programlarken numped deki rakamları örnek alarak kodladım.Yani dedim ki 4008 verisi gelince ileri, 4002 verisi gelince geri gibi numaralara göre yazdım kodları.

Android uygulamasından bağlantı kurmadan önce kullanıcağnız bluetooth modülü ile telefonunuzu önceden eşleştirmelisiniz.Bunun içinde bağlantıları yapıp arduinoyu çalıştırdıktan sonra telefonunuzun bluetooth kısmını açıp yakınlardaki cihazlar listesinde kullanıcağınız modülü tıklayın(HC-05 yada HC-06).Size eşleşme için şifre sorar genellikle 1234 tür şifre.Şifreyi girdikten sonra modül ile telefon eşleşmiş olur.Sonra android uygulamasını açıp bluetooth butonuna bastığınızda telefonunuzun eşleşmiş olduğu cihaz listesi açılacak oradan modülü seçip bağlantı kuracaksınız.

Pin Bağlantıları:

robot kol

Arduino Uno – Bluetooth                      Arduino – Motor Sürücü

Pin0   –   Bluetooth TX Pinine                Pin8   –   EN1 Pinine
Pin1    –   Bluetooth RX Pinine               Pin9   –   IN1 Pinine
3.3V   –   Bluetooth VCC                          Pin10 –   IN2 Pinine
GND  –   Bluetooth GND                        Pin11  –   IN3 Pinine
Pin12  –   IN4 Pinine
Pin13  –   EN2 Pinine

NOT:Bluetooth modülünüzün VCC pinini Arduino’nun 3.3V pinine bağlamalısınız aksi taktirde bluetooth yanabilir.

NOT:Pillerin ve Arduino kartınızın GND pinlerini birleştirmezseniz motorlar çalışmaz.

Evet arkadaşlar bağlantılar bu şekilde.Bağlantıları arduino koduna bakarak da yapabilirsiniz.

Android Uygulamam:

robotprogram-android

Projenin Arduino kodunu ve Android uygulamasını bu linkten indirebilirsiniz: https://yadi.sk/d/YTQLaxT9mCVCi

SİZCE NASIL OLMUŞ?
Beğendim
52%
İlginç
6%
Eh İşte
2%
Anlamadım
34%
Kötü
0%
Berbat
6%
YAZAR HAKKINDA
Alper Gencan
Alper Gencan
Karabük Üniversitesi Elektrik Elektronik Mühendisliği mezunuyum.Ankara'da özel bir firmada Ar-Ge mühendisi olarak çalışmaktayım.Üniversite hayatıma kadar amatörce olan elektrik elektronik uğraşım okul hayatım ile bir adım öne taşınmış oldu.Daha çok kontrol sistemleri ve robot projeleri ile uğraşmaktayım.
33 YORUMLAR
  • emre
    20 Aralık 2015 at 07:58

    Merhaba iyi günler robot parça larini Nereden alabilirim

  • Batuhan
    21 Aralık 2015 at 20:07

    merhaba projenin joystick ile kontrol edilenini yapacagim ancak kod yazmayi bilmiyorum eger elinizde varsa paylasabiir misiniz?

  • Alper Gencan
    Alper Gencan
    22 Aralık 2015 at 00:02

    Merhaba Batuhan.Elimde hazır yok.Boş bir vaktimde joystick ve rf kullanarak kontrol etmeyi deniycem.Yazıyı paylaşırım

  • Batuhan
    25 Aralık 2015 at 22:05

    projeyi tamamladiktan sonra arduino ya yuklemis oldugunuz kodlari paylasmaniz mumkun mu

  • Batuhan
    26 Aralık 2015 at 10:40

    gormemisim :))

  • Yener
    31 Aralık 2015 at 00:14

    uygun bir zamaniniz olursa projenin videolarini atar misiniz

  • ali dörtlemez
    16 Ocak 2016 at 14:53

    malzeme lisetesinde Arduino Protoshield yazıyor ama fritzing çiziminde göremedim. nerede kullanıyorsunuz proto yu?

  • Murat DULKADİR
    29 Mart 2016 at 21:23

    Merhaba,
    projeniz gerçekten mükemmel olmuş.emeğinize sağlık,bu projedeki robotun bağımsız kendi ekseninde sağa sola dönmesini sağlamak için Arduino kodlarında nasıl bir değişikli yapabiliriz mekanik kısmını halledebilirim ama arduino kodu ve android uygulamasındaki tanıtımı nasıl yapabiliriz yardımcı olabilirmisiniz .okul için ödev olarak yapacağım.

  • serdar
    11 Nisan 2016 at 14:58

    öncelikle emeklerine teşekkür ederim kardeşim memkleketmden senin gibi basarılı öğrenciler öıkması grur veriyor bize ..Kardesim ben bu robotu yaptım sag sol ıleri geri cok ıyı ama blutot ile servo motorların 3 unu kotrol ederken sorun yasıyorum kolu onatamıyorum yardımcı olurmusun sagolasın

    • Alper Gencan
      Alper Gencan
      11 Nisan 2016 at 15:20

      Merhaba.Teşekkür ederim öncelikle.Nasıl bir sorun yaşıyorsunuz acaba? Bağlantıları doğru yaptıysanız eğer uygulama ile servo motorların hareketi kontrol edilebilmektedir.

  • serdar
    11 Nisan 2016 at 17:46

    BAĞLANTILARI SEMAYA GÖRE YAPTIK ARABAMIZI İLERİ GERİ SAĞA VE SOLA HAREKETİNDE BİR SIKINTI YOK VERDİĞİN APK UGULAMASIYLA GAYET GÜZEL KONTROL EDEBİLİYORUZ.ROBOT KOLUN BASKISINI ALDIK MONTAJ ETTİK VE AYNI VERDİĞİNİZ GİBİ BAĞLANTILARI TAMAMLADIK ANCAK ARABANIN ÜZERİNE MONTE ETTİĞİMİZ ROBOT KOLDA Bİ TİTREŞİM VAR AMA SERVOLARI HAREKET ETTİREMİYORUZ DOLAYISIYLA KOL MEKANİZMASI ÇALIŞMIYOR .SERVONUN AÇILARIYLA İLGİLİ PROGRAMI DEĞİŞTİRMEMİZDEN BAHSETMİŞSİNİZ YAZINIZDA .BUNU NASIL YAPALIM YARDIMINA IHTIYACIMIZ VAR..TESEKKÜRLER

  • serdar
    11 Nisan 2016 at 17:52

    PIN13 VE PIN8 SEKİLDE BOS GÖRÜNÜYOR HOCAM BUNLARI YAZMISSINIZ EN2-EN1 DİYE MOTOR SÜRÜCÜMÜZDE EN1 VE EN2 Yİ NASIL BAĞLICAZ.

    • Alper Gencan
      Alper Gencan
      12 Nisan 2016 at 10:17

      Anladım resimde motor sürücünün EN1 ve EN2 pinleri yapılmamış ama arduino kodu içerisinde yazıyor.EN1 8.pine , EN2 13.pine bağlamanız gerekiyor.Ama servoların bununla bir alakası yok.Servoları arduino üzerinden beslemeyin.Harici bir kaynak kullanın servolar için.Açı olayı ise motorları kola bağlarken ki konumlarını kastetmiştim.Motorun üzerindeki beyaz plastik kısmın konumu yani bende farklı sizde farklı olabilir.

  • ömer
    14 Nisan 2016 at 19:03

    Kontrol uygulamasını yükleyemiyorum silinmiş galiba tekrar atabilirmisiniz

    • Alper Gencan
      Alper Gencan
      14 Nisan 2016 at 23:44

      Merhaba Ömer, Kontrol uygulaması derken android uygulaması galiba linke baktım sağlam.”Android Uygulama” klasöründeki .apk uzantılı dosyayı telefonunuza atarak telefondan o dosyayı açmalısınız.Dosyaya tıkladığınızda uygulama yüklenicektir.

  • serdar
    17 Nisan 2016 at 12:46

    hocam her sey düzgün çalışıyor sorunum servolardaymıs küçük servolar bi işe yaramyor servoları biraz büyüttüm sorun kalmadı her şey tamam.. sağolasın

  • yunus
    27 Nisan 2016 at 02:33

    bu uygulama android tabletede kurulabilir mi

  • yunus
    28 Nisan 2016 at 01:39

    bağlantıları aynı şelikde kurudum ama servo motorlar Bluetooth üzerinden kontrol edemiyorum daha doğrusu hiç kontrol edemiyorum
    birde pin 13 en1 pini pin 8 en2 pini hangileri oluyor tam olarak
    bana çok acil yardım edebilirmisiniz sizinle nasıl iletişim sağlayabilirim

    • Alper Gencan
      Alper Gencan
      29 Nisan 2016 at 15:29

      Merhaba servo motorları hiç kontrol edemiyorsanız bluetooth bağlantılarını kontrol etmenizi öneririm.RX ve TX pinlerinin doğru bağlandığından emin olun yanlış bağlarsanız haberleşme kurulmaz.Ayrıca motor beslemesini nasıl yapıyorsunuz? Pil ile yapıyorsanız GND pinlerini arduinonun gnd si ile birleştirmelisiniz.
      en1 ve en2 pinleri motor sürücünün üzerinde yazmaktadır.Yani en1 sürücüde en soldaki pin , en2 pini ise en sağdaki pindir.

  • yunus
    30 Nisan 2016 at 01:39

    hocam mail adresimi versem dönüş yaparsanız çok memnun olurum
    yunus_chamur@hotmail.com
    çok acil hocam proje için acil yetişmesi gerek.

  • yunus
    8 Mayıs 2016 at 19:26

    hocam bu dc motorları ayrı bir besleme vermem gerekiyor dc servo beslemelerine gelen güç yetmiyor dc motorlara ayrı besleme verdiğimde tek biri çalşıyor nedeni yazılımsal değildir dimi

  • Cihan Cömertoğlu
    16 Mayıs 2016 at 14:59

    Hocam bu robot kol için gerekli olan plastik malzemwleri nerde bulabilirz acaba

  • Cihan Comardoğlu
    17 Mayıs 2016 at 16:53

    Hocam iyi günler gerekli olazn malzemeleri nrden temin edebiliriz yardımcı olursanz çok sevenirim.

    • Alper Gencan
      Alper Gencan
      23 Mayıs 2016 at 16:54

      Merhaba plastik malzemeleri 3d yazıcı ile çıkarabilirsiniz.Yazıcı dosyalarının linkleri mevcut

  • 7 Ekim 2016 at 00:35

    merhaba bu uygulamanın aia dosyası varmıdır ben 1 adet daha servo eklemek istiyorum kolu sağa sola araçtan bağımsız döndurebilmek için.

    iyi çalışmalar

  • Harun ARSLAN
    22 Ekim 2016 at 14:10

    Hocam projemiz için bunu yapmayı düşümüyoruz da gereken malzemelerin ayrıntılı bir dökümünü mail olarak atabilir misiniz rica etsem?
    Teşekkürler.
    mail adresim harunarslan275@gmail.com

  • Özge Alıcı
    17 Kasım 2016 at 13:53

    Merhabalar,
    Bu kol projelerinizden yaptığınız ve satmayı düşündüğünüz var mı acaba? Tezim için benim de yapmam lazım 5 eksenli robotik kol. Ancak sizde var ise çok süper olur benim için.
    Teşekküerler

  • mertcan ahi
    28 Kasım 2016 at 23:11

    hocam li-po pili değerleri nelerdir 3S mi 5S mi hangisi yardımcı olursanız

YORUM YAP