top of page
  • Writer's pictureCan Duru

3D Yazıcı ile İlk Robot Tecrübesi

3D yazıcılar ile birçok farklı ürün ortaya çıkarabilmek mümkün. Bazı kişiler evde süs eşyaları yaparken bazı kişiler de teknik alanda robot kolu gibi ürünler oluşturuyor. Bu içeriğimizde birçok kişinin ilgisini çekebileceği 3D yazıcı ile oluşturulan bir robotun yapım süreçlerini inceleyeceğiz. Eğer siz de böyle projeler ile ilgileniyorsanız ve evinizde Arduino modülü bulunuyorsa ilk robotunuzu bu içerik ile hazırlayabilirsiniz.


Gerekli Ürünler:

  1. Baskıya hazır bir 3D Yazıcı

  2. PLA veya ABS filament (ABS ile basım daha zor olduğu için PLA tercih edilebilir.)

  3. Ayakların hareket edebilmesi için iki adet servo motor

  4. Bir adet Arduino Micro

  5. Bağlantıları sağlayabilmek için 40-pin soket

  6. Bir adet 9V pil ve pil tutucu

  7. Bir adet breadboard

  8. İki adet pin başlığı

  9. On üç adet M3 somun ve civata

  10. Ayaklar için dört adet kalem

Aşamalar:

3D Parçaları Yazıcıdan Baskı Alın

İlk olarak gerekli parçaları 3D yazıcıdan baskı almanız gerekiyor. Her ne kadar bazı parçaları basmak uzun sürebilse de 48 saatten az bir sürede gerekli parçaları basıp robotunuzu oluşturabilirsiniz. Model toplamda dört adet parçadan oluşuyor:

Robot parçaları

Tüm parçaların basımdan sonra gözükmesi gereken durumları

Bu parçaların basımı sırasında dikkat edilmesi gereken birkaç nokta bulunuyor. Kendi yazıcımdan ilk baskı aldığım zaman destek koymam gerektiğini bilmediğim için maalesef başarısız bir baskı almıştım. Sizin de bu durum ile karşılaşmamanız adına gövde ve bacak kısımları için destek koymanızı öneririm.

Parçaları Birleştirme Vakti

Baskılar tamamlandıktan sonra sıra robotu oluşturmaya geliyor. Eğer önceden Arduino ile çalıştıysanız bu kısımı oldukça basit ve hızlı bir şekilde tamamlayabilirsiniz.

İlk olarak gövde kısmı ile ön ayakları birleştirmeniz gerekiyor. Bunun için baskıdan alınan iki ayağa, bir dişliye ve dört vidaya ihtiyaç duyuluyor.

Robot parçalarının bağlantısı

Fotoğrafta da görüldüğü üzere ilk olarak gövde kısmının kapalı olan tarafından dört adet vidayı geçiriyoruz. Daha sonrasında dördüncü fotoğrafta görünen boşluğun içerisine iki ayak parçası ile bir dişliyi yerleştiriyoruz. Sonrasında ise bu dişlinin dönmesi ile ayakların hareketini sağlayacak olan servo motoru vidalara uygun bir şekilde yerleştiriyoruz. Son olarak da servonun yerinde durması için vidaların üzerine somonları yerleştirerek sabitliyoruz.

Robot motorunun bağlanması

İlk motorun yerleştirme işlemleri tamamlandığında arka ayakların hareketini sağlayacak olan alt motorun bağlantılarının yapılması gerekiyor. Bunun için gerekli olan ise dört vida ve somon, baskıdan alınan arka ayaklar ve bir servo motor. İkinci resimde gösterildiği üzere gövdenin alt kısmında bulunan boşluğa servo motoru yerleştiriyoruz ve daha sonrasında vidaları sıkarak motorun hareket etmesini önlüyoruz. Daha sonrasında arka ayakların motor ile bağlantısını tamamlayarak iki motorumuzu da hazır duruma getirmiş oluyoruz.

Gerekli bağlantıları tamamlamanızın ardından ayak işlevini görecek olan kalemleri baskıdaki boşluklara yerleştirebilirsiniz. Ancak bu aşamada kalemin silgi yönlerine dikkat etmeniz gerekiyor. Ön iki ayak için silginin boşluğa girmesi gerekirken arka ayaklar için silginin dışarda kalması ve daha sonrasında sökülmesi gerekiyor. Bu şekilde robotun dengesi sağlanmış oluyor ve daha rahat bir kontrol sağlanabiliyor. Eğer tasarım ile önceden uğraşmışsanız tabii ki de ayakların boşluğunu modifiye olarak istediğiniz şekilde modeli değiştirebilirsiniz.

Robot ayaklarının bağlantısı

Şimdi sırada son aşama var:

Devrenin Hazırlanması

Önceden proje yapmayan bir kişi için bu bağlantılar ilk başta zor gelebilir ancak fotoğraflar ile bu sorunun çözüleceğini umuyorum.

İlk olarak, 40 pinli soketi breadboard’un ortasına bağlamanız gerekiyor. Pilden gücü çekmeye yarak 9V pil çıtçıtından gelen siyah kabloyu Arduino soketindeki topraklama pimine ve kırmızı kabloyu güç (V-in) pimine bağlayın. Daha sonrasında ilk üç pimli erkek başlığı 40 pimli sokete bağlamanız gerekiyor. Bu bağlantı için:

  1. Başlık pimi 1 → 5V güç

  2. Başlık pimi 2 → Topraklama

  3. Başlık pimi 3 → Dijital Pim 8 (soket pimi 36)

İkinci üç pimli erkek başlığı 40 pimli sokete bağlamak için ise:

  1. Başlık pimi 1 ---> 5V güç

  2. Başlık pimi 2 ---> Topraklama

  3. Başlık pimi 3 ---> Dijital Pim 9 (soket pimi 37)

Robot devresinin hazırlanması

Yukarıdaki aşamalar için gereki olan bağlantıların tamamlanmış hali

Pil için Gerekli Bağlantı

Pili bağlamak için breadboard’un üzerinde pil bağlantı aparatanın üzerindeki delik büyüklüğünde bir boşluk açmanız gerekiyor. Bunun için (1/8″) boyutunda bir matkap ucu kullanabilirsiniz.

Robot devresinin hazırlanması

Bu resimde görüldüğü üzere deliği açıktan sonra bir vida yardımı ile pil yuvasını devreye yerleştirebilirsiniz.

Arduino’nun Bağlanması

Sırada ise breadboard ile Arduino arasında bir bağlantı kurmak yer alıyor. Bunun için Arduino’nun pimlerini soket üzerindeki uygun pimlere yerleştirebilirsiniz. Böylece pilden gelen güç breadboard sayesinde Arduino’ya aktarabilecek.

Robot devresinin hazırlanması

Bu aşamaların sonunda devre tamamlanmış oluyor. Artık breadboard’unuzu gövdeye vidalayarak motorların bağlantısını yapabilirsiniz.

Robot devresinin birleştirilmesi

Vidaların bağlantısının tamamlandığında robotun bu şekilde gözükmesi gerekiyor.

Motorların bağlantıları ise Arduino’nun yanındaki soketler ile gerçekleştirilebilir.

Kodun Hazırlanması

Tüm bağlantılar tamamlandıktan sonra son olarak bir bilgisayar bağlantısı ile Arduino’nun programlanması gerekiyor. Projenin tamamlanması için herhangi bir kod yazmanıza da gerek bulunmuyor, hazır olarak bir “randofo”nun oluşturduğu bir algoritma bulunuyor.

//
// Code for a 3D Printed Robot
// Learn more at: https://www.instructables.com/id/3D-Printed-Robot/
// This code is in the Public Domain
//


//add the servo library
#include <Servo.h> 

//Create two servo instances 
Servo myservo; 
Servo myservo1; 
 
//Change this numbers until the servos are centered!!!!
//In theory 90 is perfect center, but it is usually higher or lower.
int FrontBalanced = 75;
int BackCentered = 100;

//Variables to compensate for the back center of balance when the front shifts
int backRight = BackCentered - 20;
int backLeft = BackCentered + 20;



//Setup initial conditions of the Servos and wait 2 seconds
void setup() 
{ 
  myservo.attach(8); 
  myservo1.attach(9); 
  myservo1.write(FrontBalanced); 
  myservo.write(BackCentered);  
  delay(2000);
} 

 
 
void loop() 
{ 
  
  //Walk straight
  goStraight();
  for(int walk = 10 ; walk >= 0; walk -=1) { 
     walkOn();
  }   
 
  //Turn right
  goRight();
  for(int walk = 10 ; walk >= 0; walk -=1) { 
     walkOn();
  } 
  
  
  //Walk straight   
  goStraight();
  for(int walk = 10 ; walk >= 0; walk -=1) { 
     walkOn();
  }  
  
  //Turn left  
  goLeft();
  for(int walk = 10 ; walk >= 0; walk -=1) { 
     walkOn();
  } 

} 


//Walking function
void walkOn(){
    myservo.write(BackCentered + 30);
    delay(1000);
    myservo.write(BackCentered - 30);
    delay(1000);
}


//Turn left function
void goLeft(){
  BackCentered = backLeft;
  myservo1.write(FrontBalanced + 40);       
}


//Turn right function
void goRight(){
  BackCentered = backRight;
  myservo1.write(FrontBalanced - 40);              
}


//Go straight function
void goStraight(){
  BackCentered = 100;
  myservo1.write(FrontBalanced);             
} 

Tüm bu aşamaları başarıyla tamamladıysanız artık bataryayı takmaya ve robotunuzu çalıştırmaya hazırsınız demek. İlk kez deneyenler için zor bir proje gibi görünse de umarız fotoğraflar yardımcı olmuştur. Eğer robotunuzu bizimle paylaşmak isterseniz Instagram hesabımıza direkt mesaj atabilirsiniz. Robotunuzu görmeyi çok isteriz!

bottom of page