Arduino ile Çizim Robotu – Drawing Robot

Bu yazımda,bozuk bir DC,DVD oynatıcı ile ne yapılabileceğini anlatmaya çalışacağım.Ev de kullanılmayan ve arızalı bir adet vestel dvd oynatıcı vardı,dvd sürücüsünün sağlam olduğunu görünce bunu nasıl değerlendirebilirim diye düşünürken bir çizim robotu ( drawing robot ) yapma fikri aklıma geldi.Aşağıda ki gibi bir dvd oynatıcıydı.

146223792_tn70_0

İlk olarak kasasını sökerek dvd sürücüsünü ayırdım.Bir dvd oynatıcı olmasına da gerek yok eski bilgisayarınızın CD sürücüsünü de kullanabilirsiniz temel çalışma prensibi aynı olduğu için sahip olduğu mekanik ve elektronik yapılarda aynı.Sürücüyü çıkarttığınızda 3 adet motora sahip 1 tanesi cd tepsisini hareket ettirmek diğeri okuyucu kafayı hareket ettirmek bir diğeri ise cd veya dvd yi döndürmeye yarıyor.Bize okuyucu kafa ve tepsi lazım olacak.İlk olarak okuyucu kafayı cd tepsisinden ayırmamız gerekiyor,genellikle vidalı bir şekilde ayrı parçalar halindedir vidalarından çıkartabilirsiniz.Bu parçayı kalemi sağa sola hareket ettirmek için kullanacağız.Elimizde ise cd tepsisi kaldı bunu da kağıdı ileri geri hareket ettirmek için kullanacağız.

Okuyucu kafayı 2 adet çubuk ile belirle bir yüksekliğe montelemelisiniz.Ben silikon ile tepsinin sol ve sağ tarafına yapıştırdım ve okuyucu kafayı belirli bir yükseklikte sert(inşaat)tel ile sabitledim.Hareketli bir mekanizmanız olursa kalemi yukarı aşağıda hareket ettirebilirsiniz.Çizim için ise küçük bir windows yazılımı ile sağa sola ileri geri hareket ettireceğiz veya bluetooth ile bir mobil cihazdan da yönetebilirsiniz.Yazdığım arduino ve windows kodlarına ekten ulaşabilirsiniz.DC motorların montajı ise oldukça basit dijital 2,3,4,5 pinlerine motorların + ve gnd pinleri takmanız yeterli olacaktır.Motorlarınız 9,12v gibi daha büyük motorlar ise bir motor shield ile kontrol etmenizi öneririm.

Windows kontrol yazılımı yazicikontrol.rar

char gelenVeri ; 
 
 
void setup()   {  
 
  Serial.begin(9600);
  
  //Motor pinleri  
  pinMode(2, OUTPUT); 
  pinMode(3, OUTPUT); 
  pinMode(4, OUTPUT); 
  
}
 

void loop() {

  if(Serial.available())
  {
         gelenVeri=Serial.read();
        
                  switch (gelenVeri) {
              case 'A':
                       Serial.println("saga donecek");
                       KalemSaga();
                       delay(100);
                       KalemDur();
                break;
              case 'B':
                     Serial.println("Sola donecek");
                     KalemSola();
                     delay(100);
                     KalemDur();
                break;
                
                  case 'C':
                     Serial.println("tepsi ileri gidecek");
                     TepsiIleri();
                     delay(200);
                     TepsiDur();
                break;
              default: 
             
               break;
            }
        
}
}
   
//Sola tam güç döndür
void KalemSaga(){
  digitalWrite(2, HIGH); 
  digitalWrite(3, LOW);    
    
}
//Sağa tam güç döndür
void KalemSola(){
  digitalWrite(2, LOW);   
  digitalWrite(3, HIGH);
    
}
//Tüm pinlerden gücü kes ve motorları sustur
void KalemDur()
{
digitalWrite(2, LOW);
digitalWrite(3, LOW);   
}
void TepsiIleri()
{
digitalWrite(4, HIGH);
}

void TepsiDur()
{
digitalWrite(4, LOW);
}
//---------------------------------------------------------------------------------

 

20150703_160849 20150703_160855 20150703_160907 20150703_160913 CI5fDOnXAAA61up