11 Haziran 2015 Perşembe

Servo Kontrol


Merhaba arkadaşlar...
Bugün daha önce yaptığım çalışmayı sizlerle paylaşmak istiyorum.
Servo için 3 ayrı program vermeye çalışacağım. Servo motorlar günümüzde 3d Printer, robot kol, kaldırma tutma yani bir nevi iskeletteki eklem görevi görmektedir. İleride de bende uzaktan kumandalı arabamda kullanmaya çalışacağım.

Gerekli Malzemeler


  • Arduino Geliştirme kartı
  • 9V pil ve Pil başlığı                                    
  • 10 K pot
  • Jumper kablolar
  • 7805







Bağlantı Şeması


















Kullanılacak Kodlar 


//Program1 (pot ile servo konum ayarı)
#include <Servo.h>    //servo kütüphanesi koda dahil ediliyor
const int ServoPals=9;  //servoyu kontrol edecek pals çıkış pini
const int Pot=0;  //potun bağlanacağı adc pini
Servo servoKontrol; //servo sınıfıdan bir nesne yaratılıyor
int deger=0;  //adc nin okuduğu değeri tutacak değişken
void setup(){
      servoKontrol.attach(ServoPals);   //servoKontrol nesnesine hangi pinden pals çıkışı alnıcağı belirtiliyor
}
void loop(){
     deger=analogRead(Pot);  //pottan değer okuuyor
     deger=map(deger,0,1023,0,179);   //0-1023 arasında okunan değeri 0-179 arasında sınırla
     servoKontrol.write(deger); //deger kadar açıda motoru hareket ettir.
     delay(15);
}

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

//Program2 (tek yön 180 derece yavaşlatılmış otomatik tarama)
#include <Servo.h>    //servo kütüphanesi koda dahil ediliyor
const int ServoPals=9;  //servoyu kontrol edecek pals çıkış pini
Servo servoKontrol; //servo sınıfıdan bir nesne yaratılıyor
void setup(){
      servoKontrol.attach(ServoPals);   //servoKontrol nesnesine hangi pinden pals çıkışı alnıcağı belirtiliyor
}
void loop(){
     for (int i=0; i<180;i++){     
servoKontrol.write(i); //i kadar açıda motoru hareket ettir.
          delay(20);
     }
}

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

//Program3 (tek yön 180 derece tarama, pot ile hız ayarı)
#include <Servo.h>//servo kütüphanesi koda dahil ediliyor
Servo servoKontrol; //servo sınıfıdan bir nesne yaratılıyor
int deger=0;  //adc nin okuduğu değeri tutacak değişken
void setup(){
      servoKontrol.attach(9);  //servoKontrol nesnesine hangi pinden pals çıkışı alnıcağı belirtiliyor
}
void loop(){
     for (int i=0 ; i<180 ; i++){
         deger=analogRead(0);  //pottan değer okuuyor
        deger=map(deger,0,1023,5,100);     //0-1023 arasında okunan değeri 5-100 arasında sınırla, 
        servoKontrol.write(i);    //deger kadar açıda motoru hareket ettir.
       delay(deger);
  }
}
-------------------------------------------------------------------------------------------------------------------
Umarım ileride daha da iyi programlar yapacağız
Herkese iyi çalışmalar dilerim 

Hiç yorum yok:

Yorum Gönder