ARDUİNO İLE SERVO MOTOR KONTROLÜ


London Eye

  Arduino'da Servo motor kontrolü için Arduino'nun bize sunduğu Servo kütüphanesini kullanarak servo motorumuzun kontrolünü sağlayabiliriz.     Gelin bu Servo kütüphanesi hakkında kısaca bilgi sahibi olalım.    Arduino'muz bilgisayarımızda yüklüyse Servo kütüphanemizde otomatik olarak yüklü gelir ve kütüphaneyi kullanabilmek için proje kodlarımıza import etmemiz gerekir. Bunun için de #include <Servo.h> kodu ile Servo kütüphanemizi projemizin içine aktararak bu kütüphanedeki fonksiyonlardan faydalanabiliriz.
   Servo kütüphanesinin içinde altı tane fonksiyon bulunmaktadır.Biz bu fonksiyonları kullanarak işlemlerimizi gerçekleştireceğiz. Gelin sıklıkla kullanacağımız bu fonksiyonları ve ne işe yaradıklarını basitçe anlatalım.

attach()

Bu fonksiyon Servo motorumuzun hangi pinde takılı olduğunu Arduino'muza söylediğimiz fonksiyondur. Mesela myservo.attach(9) kodu ile servo motorumuzun 9. pinde olduğunu Arduino'muza söyleriz. Böylece Servo motorunnun yerini bildirdikten sonra artık işlemlerimizi yapabiliriz.

write()

Bu fonksiyon ise servo motorumuzun açılı olarak 0 ile 180 derece arasında döndürmemizi sağlar. Örnek olarak servo.write(45) komutu ile 0 derecede bulunan motorumuz 45 derecelik bir açı alacak şekilde tam hızda döndürmüş oluruz.

read()

Servo motorumuz en son döndürdüğümüz açıda durur ve bekler. Bu yüzden servo motorumuzun hangi açıda bulunduğu bulmak için ise servo.read() komutu ile read() fonksiyonumuzu kullanırız. Böylece bu komut bize 0 ile 180 derece arasında bir sayı değeri döndürür. Bu sayı değeri de servo motorumuzun o anki açısıdır.

attached()

Servo motorumuzun belirttiğimiz pinde takılı olup olmadığını anlamak için ise servo.attached() komutu ile attached() fonksiyonumuzu kullanarak haberdar olabiliriz. Bu fonksiyonu kullandığımızda eğer Servo motor takılı ise true , değilse false değerini döndürerek bize cevap verir.
   İçinizden ben bişey anlamadım bu dediklerin diyorsanız. Hiç sıkıntı yapmayın. :D Çünkü bu dediklerimi örneklerle pekiştirme yapmazsak çok anlamsız dururlar. Gelin o zaman bu anlattıklarımızı örnek uygulamalar ile pekiştirelim.

Potansiyometre ile Servo Motor Kontrolü

   Bildiğiniz gibi potansiyometre ayarlanabilir bir dirençtir. Biz ise bu uygulamamızda potonsiyometremizi sağa sola çevirerek servomuzu hareket ettirebileceğimiz bir uygulama yapacağız. Uygulamayı aşağıdaki devre şemasında görüldüğü gibi kurulmalıdır.

Potansiyometre ile Servo Kontrolü Devre şeması



Potansiyometre ile Servo Motor Kontrolü Arduino Kodlar:
#include <Servo.h>  //Servo kutuphanesini projemize aktardık.

Servo servomotor;         //servomotor isminde bir nesne olusturduk.
int potpin = 0;           //potansiyometrenin pinini (0) ve türünü (int) olarak belirledik.
int deger;                //deger adinda bir integer degisken tanimladik.

void setup() {
  servomotor.attach(9);   //Servo muzu 9. pin olarak ayarladik. 
}

void loop() {
  deger = analogRead(potpin); //potpin imizin degerini okuduk (not:0 ile 1023 arasındadır.)
  deger = map(deger, 0, 1023, 0, 180);//degerimizi 0-180 arasındaki karsiligini bulduk.
  servomotor.write(val); //servo mumuzu 0-180 arasinda buldugumuz degere hareket ettirdik.
  delay(15); //15ms beklemeye aldik.                           
}
Kısaca ve basitce Arduino ile Servo motor kontrolümüz de bu şekildedir. Başka konularda görüşmek üzere.

Yorumlar

  1. Teşekkürler çok güzel bir anlatım olmuş akıllı ev sistemleri hakkında.

    YanıtlaSil
  2. Yaşadığımız mekanlarda kullandığımız tüm donanımların, bir arada tek yerden kontrolü ve hayatı kolaylaştırır, birçok detayın otomasyon sayesinde bizlere sunulduğu evlere akıllı ev denmektedir. Konya akıllı ev sistemleri ile kullanıcısına konfor, güvenlik ve kullanım maliyetleri tasarrufu sağlayan evlere sahip olmak artık bir hayal değil!
    www.efeguvenlik.com.tr

    YanıtlaSil

Yorum Gönder

Popüler Yayınlar