Servo motor nedir?
Sıradan bir motor durmadan döner. Servo motor ise istediğimiz açıya (0-180 derece) gidip orada durur. Robot kolları, uzaktan kumandalı arabaların direksiyonu ve otomatik kapılar servo ile çalışır.
Kütüphane kullanmak
Servoyu kontrol etmek için gereken karmaşık sinyalleri biz yazmayız; Arduino'nun hazır Servo kütüphanesi bu işi yapar. Programın başına #include <Servo.h> eklemek yeterlidir.
Bağlantı
- Servo: kahverengi (GND) → GND, kırmızı (+) → 5V, turuncu (sinyal) → 6. pin
- HC-SR04: TRIG → 9, ECHO → 10 (park sensörü projesindeki gibi)
Kod
// Codebil Campus - Proje 8: Servo Motorlu Otomatik Bariyer
#include <Servo.h>
const int TRIG = 9;
const int ECHO = 10;
const int SERVO_PIN = 6;
Servo bariyer;
void setup() {
pinMode(TRIG, OUTPUT);
pinMode(ECHO, INPUT);
bariyer.attach(SERVO_PIN);
bariyer.write(0); // bariyer kapalı
}
long mesafeOlc() {
digitalWrite(TRIG, LOW);
delayMicroseconds(2);
digitalWrite(TRIG, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG, LOW);
return pulseIn(ECHO, HIGH, 30000) * 0.034 / 2;
}
void loop() {
long cm = mesafeOlc();
if (cm > 0 && cm < 15) {
bariyer.write(90); // araç yaklaştı: aç
delay(3000); // geçmesi için bekle
} else {
bariyer.write(0); // kapat
}
delay(100);
}
Nasıl çalışıyor?
- Sensör sürekli mesafe ölçer.
- Bir araç (veya elinizi) 15 cm'den yakına gelirse servo 90 dereceye döner ve bariyer açılır.
- 3 saniye beklenir, sonra engel yoksa bariyer tekrar 0 dereceye iner.
Güvenlik notu
Büyük servolar Arduino'nun 5V pininden fazla akım çekebilir ve kartın yeniden başlamasına neden olur. Birden fazla servo kullanacaksanız ayrı bir güç kaynağı kullanın ve GND'leri birleştirin.
Proje fikri
Kartondan bir otopark maketi yapın. Bariyerin yanına bir LCD veya LED ekleyerek "boş yer var" bilgisini gösterin.
Konuyu pekiştir
3 soruluk kısa test. Bir seçeneğe dokunduğunuzda doğru cevap ve açıklaması görünür.
-
Servo motoru sıradan motordan ayıran özellik nedir?
Servo 0-180 derece arasında istenen açıya konumlanır.
-
Servo kütüphanesini programa eklemek için hangi satır yazılır?
Arduino'da kütüphaneler #include ile eklenir.
-
bariyer.write(90) komutu ne yapar?
write() fonksiyonu servonun açısını belirler.