Arduino ile Ultrasonik Sensörlü Otomatik Kapı Sistemi

Giriş:

Otomatik kapılar, modern ev otomasyonu ve ticari alanlarda sıkça kullanılan bir teknolojidir. Bu projede, Arduino kullanarak ultrasonik sensörlü bir otomatik kapı sistemi tasarlayacağız. Ultrasonik sensörle mesafeyi algılayarak kapıyı açıp kapatan bir servo motor sistemine dayalı olacak. Proje, hem basit hem de günlük hayatta kullanılabilir bir uygulama sunacak.

Proje Hedefi:

Bu projede amacımız, bir nesne ya da kişinin belirli bir mesafeye yaklaştığında kapıyı açmasını sağlayan bir sistem oluşturmak. Uzaklaştığında ise kapı tekrar kapanacak.

Kullanılacak Malzemeler:

  • Arduino Uno: Projenin beyni olan bu mikrodenetleyici sensör ve motorun yönetimini sağlayacak.
  • HC-SR04 Ultrasonik Sensör: Bu sensör, ses dalgaları kullanarak nesnelerin mesafesini ölçer.
  • Servo Motor (SG90): Kapıyı açıp kapatmak için kullanacağımız motor.
  • Breadboard: Bileşenleri bağlamak için.
  • Jumper Kabloları: Bileşenleri birleştirmek için kullanacağız.

Adım 1: Devre Kurulumu

1.1 HC-SR04 Ultrasonik Sensör Bağlantısı:

  • VCC: Arduino’nun 5V pinine bağlanacak.
  • GND: Arduino’nun GND pinine bağlanacak.
  • Trig Pini: Arduino’nun dijital 9 numaralı pinine bağlanacak.
  • Echo Pini: Arduino’nun dijital 10 numaralı pinine bağlanacak.

1.2 Servo Motor Bağlantısı:

  • VCC (kırmızı kablo): Arduino 5V pinine bağlanacak.
  • GND (kahverengi kablo): Arduino GND pinine bağlanacak.
  • Sinyal Pini (turuncu kablo): Arduino’nun dijital 3 numaralı pinine bağlanacak.

Adım 2: Arduino Kodlaması

2.1 Kütüphaneler ve Pin Tanımları:

Servo motoru kontrol etmek için Arduino’nun yerleşik Servo.h kütüphanesini kullanacağız. Trig ve Echo pinlerini mesafe ölçümü için tanımlayacağız.

#include <Servo.h>

const int trigPin = 9; // Trig pini
const int echoPin = 10; // Echo pini
Servo myservo; // Servo motor nesnesi
int servoPin = 3; // Servo pinini tanımla

void setup() {
pinMode(trigPin, OUTPUT); // Trig pini çıkış olarak ayarlandı
pinMode(echoPin, INPUT); // Echo pini giriş olarak ayarlandı
myservo.attach(servoPin); // Servo motorunu belirlenen pine bağla
Serial.begin(9600); // Seri haberleşme başlat
}

2.2 Mesafe Hesaplaması:

Mesafeyi hesaplamak için HC-SR04 sensöründen gelen sinyalleri kullanacağız. Sensör, belirli bir mesafede (örneğin, 20 cm) bir nesne algıladığında kapı açılacak.

 void loop() {
long duration, distance;

// Mesafe ölçüm işlemi
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);

// Echo pini yüksek olduğunda zamanı ölç
duration = pulseIn(echoPin, HIGH);

// Mesafeyi hesapla
distance = duration * 0.034 / 2;

// Eğer mesafe 20 cm’den küçükse kapıyı aç
if (distance < 20) {
myservo.write(90); // 90 derece dönerek kapıyı açar
} else {
myservo.write(0); // Kapıyı kapatır
}

// Ölçüm aralığı
delay(500); // 0.5 saniyede bir sensörü kontrol et
}

Adım 3: Test ve Kalibrasyon

3.1 Kod Yükleme:

Arduino IDE kullanarak yukarıdaki kodları Arduino’ya yükleyin.

3.2 Test Aşaması:

  • Sensör önüne yaklaşan bir nesne yerleştirin. Eğer sensör nesneyi 20 cm içinde algılarsa, servo motor kapıyı açacak şekilde döner.
  • Nesne uzaklaştığında servo motor, kapıyı kapalı pozisyona getirecektir.
  • Bu aşamada sensörün mesafe algılaması doğrulandıktan sonra, mesafe değerlerini ihtiyaçlarınıza göre değiştirebilirsiniz.

Sonuç:

Bu proje ile basit, etkili ve günlük kullanımda işlevsel olabilecek bir otomatik kapı sistemi tasarlamış olduk. Ultrasonik sensör mesafe algılaması sayesinde kapının bir nesneye yaklaşıldığında açılmasını ve uzaklaşıldığında kapanmasını sağladık. Projeyi daha ileri taşıyarak daha büyük kapılar ya da farklı motor tipleri ile genişletebilirsiniz. Ayrıca, LCD ekran ekleyerek mesafe ölçüm değerlerini de görebilirsiniz.