Arduino Servo Motor ile Otomatik Kapı Simülasyonu Nasıl Yapılır?
Bu beşinci Arduino projesinde, hassas açı kontrolü sağlayan servo motoru kullanarak açılıp kapanan bir kapı simülasyonu yapıyoruz. Servo.h kütüphanesiyle motor kontrolünün temellerini öğrenin.
1Projenin Amacı ve Servo Motor Mantığı
Otomasyon projelerinin vazgeçilmezi olan servo motorlar, LED'ler gibi sadece Açık/Kapalı (HIGH/LOW) sinyali yerine, hassas açı kontrolü sağlayan motorlardır. Bu projede, servo motoru kullanarak bir kapının kapalı (0 derece) ve açık (90 derece) pozisyonlarını simüle edeceğiz.
Servo Motor Nedir?
Servo motorlar, bir konumdan diğerine hassas bir şekilde dönebilen motorlardır. Bir DC motorun aksine, onlara belli bir açı değeri (0 ile 180 derece arasında) gönderebilirsiniz ve motor o konuma gider ve orada kalır. Kontrolü için Arduino'nun özel Servo.h kütüphanesini kullanacağız.
Kapı Senaryosu
Kapı başlangıçta kapalıdır. Komut ile açılır, belli bir süre açık kalır ve ardından otomatik olarak kapanır. Bu döngü sürekli tekrar edecektir.
2Gerekli Malzemeler ve Detaylı Devre Kurulumu
Bu projede, LED'lerden farklı olarak hareket kontrolüne geçtiğimiz için bir servo motor kullanacağız.
Servo Motor Bağlantı Detayları
Servo motorların 3 adet kablosu bulunur: Güç (Kırmızı), Toprak (Kahverengi/Siyah) ve Sinyal (Turuncu/Sarı). Servo motorlar doğru akım beslemesi ve dijital sinyal ile kontrol edilir.
Arduino ile servo motor bağlantı şeması — Güç, Toprak ve PWM Sinyal (D9) hatları
Bağlantı Kontrol Listesi
Önemli Not: Güç Kaynağı
Birden fazla servo motor veya daha büyük motorlar kullanıyorsanız, Arduino'nun 5V pininin akımı yetersiz kalabilir. Bu durumda harici bir güç kaynağı (ortak GND ile) kullanmanız gerekir.
Robotik dünyasına adım atmak için ilk adımı atın!
Eğitim materyallerimizi ve projelerimizi keşfederek hemen öğrenmeye başlayın. Blok tabanlı kodlamaya başlayın.
Başla3Kodlama ve Servo Kütüphanesi Kullanımı
Servo motor kontrolü, digitalWrite() yerine Servo.h kütüphanesindeki özel komutlarla yapılır. Bu kütüphaneyi programa dahil etmek için ilk satırı kullanmalıyız.
Arduino Program Kodu
// Otomatik kapı simülasyonu (servo motor ile)
// Servo motor kütüphanesini programa dahil et
#include <Servo.h>
// Servo nesnesi oluştur (koda "myServo" adıyla hitap edeceğiz)
Servo myServo;
// Servo motorun bağlı olduğu sinyal pinini tanımla
const int servoPin = 9;
// Pozisyon değişkenleri (derece)
const int kapaliAci = 0; // Kapalı pozisyon
const int acikAci = 90; // Açık pozisyon
const int beklemeSuresi = 3000; // 3 saniye bekleme
void setup() {
// Servo motoru tanımlanan pine bağla
myServo.attach(servoPin);
// Başlangıç pozisyonu: kapalı (0 derece)
myServo.write(kapaliAci);
delay(500); // motorun yerine gitmesi için kısa bir bekleme
}
void loop() {
// Adım 1: Kapıyı aç (0'dan 90'a hareket ettir)
myServo.write(acikAci);
// Adım 2: Kapı açık kalsın
delay(beklemeSuresi); // 3 saniye açık bekle
// Adım 3: Kapıyı kapat (90'dan 0'a hareket ettir)
myServo.write(kapaliAci);
// Adım 4: Kapı kapalı kalsın
delay(beklemeSuresi); // 3 saniye kapalı bekle
// loop() döngüsü otomatik olarak tekrar başlar (kapı tekrar açılır)
}
4Detaylı Komut Açıklamaları
#include <Servo.h>
Bu satır, Arduino'ya motor kontrolü için gerekli olan Servo kütüphanesini kullanacağını bildirir. Bu kütüphane Arduino IDE'de standart olarak bulunur.
Servo myServo;
Bu, servo motoru kontrol etmek için kod içinde kullanacağımız bir nesne (instance) oluşturur ve ona "myServo" adını verir.
myServo.attach(servoPin);
setup() kısmında bu komut, "myServo" nesnesini fiziksel olarak Arduino'nun 9 numaralı pinine bağlar. Bu, pinMode() komutunun servo motorlar için karşılığıdır.
myServo.write(aci);
Bu temel komut, servo motorun milini belirtilen açı değerine (0-180 arası) anında hareket ettirir. Bu projenin kalbidir.
delay(beklemeSuresi);
Tıpkı trafik lambası projesinde olduğu gibi, bu komut da kapının açılıp kapandıktan sonra belirli bir süre beklemesini sağlar.
Bu proje ile servo motorların temel çalışma mantığını öğrenmiş oldunuz. Açı değerlerini ve bekleme sürelerini değiştirerek farklı kapı hızları deneyebilir, hatta bir buton veya mesafe sensörü ekleyerek kapıyı komutla açılan gerçek bir otomasyon sistemine dönüştürebilirsiniz.
?Sıkça Sorulan Sorular
Servo motor kaç dereceye kadar dönebilir?
Standart hobi servo motorları (SG90, MG995 gibi) genellikle 0 ile 180 derece arasında hareket edebilir. Bu projede kapı simülasyonu için 0 ve 90 derece kullanılmıştır.
Servo motor için neden ayrı bir güç kaynağı gerekebilir?
Arduino'nun 5V pini sınırlı akım sağlar. Tek bir küçük servo (SG90) genelde sorun çıkarmaz, ancak birden fazla servo veya daha güçlü modeller (MG995 gibi) kullanıldığında akım yetersiz kalabileceğinden ortak GND'li harici bir güç kaynağı önerilir.
Servo.h kütüphanesini ayrıca indirmem gerekir mi?
Hayır. Servo.h, Arduino IDE ile birlikte gelen standart kütüphanelerden biridir; ek bir kurulum yapmadan #include <Servo.h> satırıyla doğrudan kullanabilirsiniz.
Robotik dünyasına adım atmak için ilk adımı atın!
Eğitim materyallerimizi ve projelerimizi keşfederek hemen öğrenmeye başlayın. Blok tabanlı kodlamaya başlayın.
Başla
