HIZLI VE GÜVENİLİR KARGO
1.750 TL üzeri ücretsiz kargo
HIZLI VE GÜVENİLİR KARGO
1.750 TL üzeri ücretsiz kargo
Ev Yapımı Alarm: Sesli ve Işıklı Güvenlik Sistemi

Ev Yapımı Alarm: Sesli ve Işıklı Güvenlik Sistemi

Ev Yapımı Alarm: Sesli ve Işıklı Güvenlik Sistemi

Daha önce LED'leri kontrol etmeyi ve sensörlerden veri almayı öğrendiniz. Şimdi bu bilgileri birleştirerek kendi güvenlik sisteminizi yapmanın tam zamanı. Bu proje, basit bir giriş (düğme veya LDR) ile hem bir çıkış (LED) hem de bir başka çıkışı (buzzer) aynı anda kontrol etmeyi öğretecek.

Gerekli Malzemeler

  • Arduino Uno: Projemizin beyni.
  • 1 adet LED: Alarm tetiklendiğinde yanacak ışık.
  • 1 adet aktif buzzer: Alarm sesini çıkaracak parça. (Aktif buzzer, basit bir enerji verildiğinde ses çıkarır.)
  • 1 adet düğme veya LDR (seçime bağlı): Alarmı tetikleyecek giriş. (Düğme için 10kΩ direnç gerekecek, LDR için zaten biliyorsunuz.)
  • 1 adet 10kΩ Direnç (Düğme kullanıyorsanız): Butonun durumunu stabil tutmak için.
  • 1 adet 220Ω Direnç (LED için): LED'i korumak için.
  • Breadboard: Malzemeleri birbirine bağlamak için.
  • Jumper Kablolar: Bağlantılar için gerekli.

Devre Kurulumu

Bu devrede iki farklı çıkış elemanı (LED ve buzzer) ve bir giriş elemanı (düğme veya LDR) olacak. Hangi girişi seçeceğinize bağlı olarak devre kurulumu biraz değişir.

Seçenek 1: Düğme ile Alarm

  1. LED ve 220Ω Direnç Bağlantısı: LED'in uzun bacağını 220Ω dirençle birlikte Arduino'nun Pin 13'üne, kısa bacağını ise GND'ye bağlayın.
  2. Buzzer Bağlantısı: Aktif buzzer'ın pozitif (+) bacağını Arduino'nun Pin 12'sine, negatif (-) bacağını ise GND'ye bağlayın.
  3. Düğme ve 10kΩ Direnç Bağlantısı: Düğmenin bir bacağını Arduino'nun 5V pinine, aynı sıradaki diğer bacağını ise bir jumper kabloyla Arduino'nun Pin 2'sine bağlayın. Düğmenin diğer tarafındaki bacağı 10kΩ dirençle birlikte GND'ye bağlayın.

Seçenek 2: LDR ile Alarm

  1. LED ve Buzzer Bağlantısı: LED'i ve aktif buzzer'ı yukarıdaki gibi sırasıyla Pin 13 ve Pin 12'ye bağlayın.
  2. LDR ve 10kΩ Direnç Bağlantısı: LDR'nin bir bacağını Arduino'nun 5V pinine, diğer bacağını ise hem Arduino'nun Analog A0 pinine hem de bir 10kΩ dirençle GND'ye bağlayın.

Kodlama Zamanı!

Alarmı tetiklemek için bir düğme veya bir LDR kullanabilirsiniz. Aşağıdaki kodda, her iki senaryo için de gerekli olan bölümler açıklanmıştır. Seçiminize göre ilgili kısmı kullanın.

C

// Değişken tanımlamaları
const int ledPin = 13;      // LED pini
const int buzzerPin = 12;   // Buzzer pini

// GIRIŞ AYARI: Düğme veya LDR seçimine göre aşağıdaki değişkeni kullanın
// const int inputPin = 2;    // Düğme kullanıyorsanız
const int inputPin = A0;   // LDR kullanıyorsanız

// Sadece LDR kullanıyorsanız eşik değerini tanımlayın
const int threshold = 300; // Karanlık eşik değeri (deneyerek ayarlayın)

void setup() {
  // Seri iletişimi başlat
  Serial.begin(9600);

  // ÇIKIŞ pinlerini ayarla
  pinMode(ledPin, OUTPUT);
  pinMode(buzzerPin, OUTPUT);

  // GİRİŞ pinini ayarla
  pinMode(inputPin, INPUT);
}

void loop() {
  // GİRİŞ'ten değeri oku
  int inputValue = digitalRead(inputPin); // Düğme için
  // int inputValue = analogRead(inputPin); // LDR için

  // Düğme için alarm kontrolü
  if (digitalRead(inputPin) == HIGH) { // Eğer düğmeye basılmışsa
    activateAlarm();
  } else {
    deactivateAlarm();
  }

  /*
  // LDR için alarm kontrolü (Düğme kodunu yoruma alıp bunu kullanın)
  if (analogRead(inputPin) < threshold) { // Eğer LDR değeri eşikten küçükse (karanlıksa)
    activateAlarm();
  } else {
    deactivateAlarm();
  }
  */
  
  // Küçük bir bekleme
  delay(10);
}

// Alarmı aktif eden fonksiyon
void activateAlarm() {
  digitalWrite(ledPin, HIGH);   // LED'i yak
  digitalWrite(buzzerPin, HIGH); // Buzzer'ı çal
  Serial.println("Alarm A C T I F");
}

// Alarmı deaktif eden fonksiyon
void deactivateAlarm() {
  digitalWrite(ledPin, LOW);    // LED'i söndür
  digitalWrite(buzzerPin, LOW); // Buzzer'ı sustur
  Serial.println("Alarm Pasif");
}

Kodu Anlayalım

  • const int ledPin = 13; ve const int buzzerPin = 12;: LED ve buzzer'ı bağladığımız pinleri tanımladık.
  • const int inputPin = ...: Burası alarmı tetikleyecek girişi tanımladığımız yer. Düğme için 2'yi, LDR için A0'ı kullanın. Unutmayın, aynı anda sadece birini kullanın!
  • activateAlarm() ve deactivateAlarm(): Kodu daha okunabilir hale getirmek için fonksiyonlar oluşturduk. activateAlarm() fonksiyonu, LED'i ve buzzer'ı açar. deactivateAlarm() ise kapatır.
  • Düğme Kontrolü: digitalRead(inputPin) == HIGH ifadesi, eğer düğmeye basıldıysa (pin HIGH değerini veriyorsa) alarmı çalıştırır.
  • LDR Kontrolü: analogRead(inputPin) < threshold ifadesi, eğer LDR'den okunan değer belirlediğimiz eşik değerinin altındaysa (ortam karanlıksa) alarmı çalıştırır.

Kodu Yükleme ve Deneme

  1. Arduino'nuzu bilgisayarınıza bağlayın ve doğru portu seçin.
  2. Kodu yükleyin.
  3. Eğer düğme kullandıysanız, düğmeye bastığınızda hem LED'in yandığını hem de buzzer'dan ses geldiğini göreceksiniz. Elinizi çektiğinizde her ikisi de susacaktır.
  4. Eğer LDR kullandıysanız, sensörün üzerini kapatıp ortamı kararttığınızda alarmın çaldığını, elinizi çektiğinizde ise sustuğunu gözlemleyeceksiniz.

Tebrikler! Artık bir sistemden gelen veriye göre birden fazla çıkışı aynı anda kontrol etmeyi öğrendiniz. Bu temel bilgi, hareket sensörüyle tetiklenen bir ışıklandırma sistemi veya duman sensörüyle çalışan bir yangın alarmı gibi daha karmaşık projelere başlamanız için mükemmel bir adımdır.