Hırsız alarm sistemi, ev güvenliğini artırmak için etkili bir çözüm sunar. Bu proje ile, Arduino, PIR sensörü, LED'ler ve buzzer kullanarak bir alarm sistemi geliştireceğiz. Şifre korumalı bu sistem, belirli bir hareket algılandığında alarmı tetikleyip, doğru şifre girilene kadar alarmı durdurmayacaktır.
Gerekli Malzemeler
- 1 x Arduino Uno (veya uyumlu bir model)
- 1 x 4x4 Keypad (Tuş Takımı)
- 1 x PIR Sensörü
- 1 x Buzzer
- 1 x I2C LCD Ekran
- 1 x Kırmızı LED (Alarm durumu göstergesi için)
- 1 x Yeşil LED (Alarmın devreden çıkarıldığını göstermek için)
- Breadboard
- Bağlantı Kabloları
Devre Bağlantıları

Bileşen | Arduino Pini |
---|---|
Keypad ROWS | 2, 3, 4, 5 |
Keypad COLS | 6, 7, 8, 9 |
Yeşil LED | D10 |
Kırmızı LED | D11 |
Buzzer | D12 |
PIR Sensörü | D13 |
I2C LCD Ekran | SDA=>A4 SCL=>A5 |
PIR Sensör
- VCC → 5V
- GND → GND
- Data → D13
LED'ler
- Uzun bacak (anot) → Belirtilen dijital pine
- Kısa bacak (katot) → GND
Buzzer
- Pozitif bacak → D12
- Negatif bacak → GND
Keypad
- Keypad'in satır ve sütun pinleri Arduino'ya belirtilen şekilde bağlanır.
I2C LCD Ekran
Arduino Kodu
Aşağıdaki kod, alarm sisteminin temel işlevlerini gerçekleştirir:
<#include
#include
#include
// I2C ekran tanımlama (0x27 adresli 16x2 ekran için)
LiquidCrystal_I2C lcd(0x27, 16, 2);
const byte ROWS = 4;
const byte COLS = 4;
char keys[ROWS][COLS] = {
{'1', '2', '3', 'A'},
{'4', '5', '6', 'B'},
{'7', '8', '9', 'C'},
{'*', '0', '#', 'D'}
};
byte rowPins[ROWS] = {2, 3, 4, 5};
byte colPins[COLS] = {6, 7, 8, 9};
Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);
String correctPassword = "1234";
String inputPassword = "";
const int greenLED = 10;
const int redLED = 11;
const int buzzer = 12;
const int pirSensor = 13;
bool alarmActive = false; // Alarm aktif mi?
bool alarmTriggered = false; // Alarm tetiklenmiş mi?
void setup() {
pinMode(greenLED, OUTPUT);
pinMode(redLED, OUTPUT);
pinMode(buzzer, OUTPUT);
pinMode(pirSensor, INPUT);
lcd.init(); // LCD ekranı başlat
lcd.backlight(); // Arka ışığı aç
lcd.setCursor(0, 0);
lcd.print("Alarm Sistemi");
delay(2000);
lcd.clear();
// Başlangıç durumu: Alarm kurulu değil, yeşil LED yanar
digitalWrite(greenLED, HIGH);
digitalWrite(redLED, LOW);
lcd.print("Durum: Pasif");
}
void loop() {
char key = keypad.getKey();
// Şifre girme işlemi
if (key) {
if (key == '#') {
if (inputPassword == correctPassword) {
if (alarmTriggered) {
lcd.clear();
lcd.print("Alarm Durdu!");
noTone(buzzer);
alarmTriggered = false;
delay(2000);
lcd.clear();
} else {
alarmActive = !alarmActive;
lcd.clear();
lcd.print(alarmActive ? "Durum: Aktif" : "Durum: Pasif");
digitalWrite(greenLED, !alarmActive);
digitalWrite(redLED, alarmActive);
}
} else {
lcd.clear();
lcd.print("Yanlis Sifre!");
delay(2000);
lcd.clear();
lcd.print(alarmActive ? "Durum: Aktif" : "Durum: Pasif");
}
inputPassword = ""; // Girişi sıfırla
} else if (key == '*') {
inputPassword = ""; // Girişi temizle
lcd.clear();
lcd.print("Girisi Temizlediniz");
delay(2000);
lcd.clear();
lcd.print(alarmActive ? "Durum: Aktif" : "Durum: Pasif");
} else {
inputPassword += key; // Tuşu girişe ekler
lcd.setCursor(0, 1);
lcd.print("Girilen: ");
lcd.print(inputPassword);
}
}
// Alarm aktifken hareket algılama
if (alarmActive && digitalRead(pirSensor) == HIGH) {
lcd.clear();
lcd.print("Hareket Algilandi!");
lcd.setCursor(0, 1);
lcd.print("Alarm Caliyor!");
alarmTriggered = true;
while (alarmTriggered) {
tone(buzzer, 1000); // Alarm çalar
digitalWrite(redLED, HIGH);
digitalWrite(greenLED, LOW); // Hareket algılandığında kırmızı LED yanar, yeşil LED söner
key = keypad.getKey();
if (key == '#') {
if (inputPassword == correctPassword) {
lcd.clear();
lcd.print("Alarm Durdu!");
noTone(buzzer);
digitalWrite(greenLED, HIGH); // Alarm durdurulduğunda yeşil LED yanar
digitalWrite(redLED, LOW); // Alarm durdurulduğunda kırmızı LED söner
alarmTriggered = false; // Alarm durduruluyor
delay(2000);
lcd.clear();
lcd.print("Durum: Pasif");
} else {
lcd.clear();
lcd.print("Yanlis Sifre!");
delay(2000);
lcd.clear();
lcd.print("Alarm Caliyor!");
}
inputPassword = ""; // Girişi sıfırla
} else if (key && key != '#') {
inputPassword += key;
lcd.setCursor(0, 1);
lcd.print("Girilen: ");
lcd.print(inputPassword);
}
}
}
}
Kod Açıklamaları
Keypad ile Şifre Girişi
#
tuşu ile şifre kontrol edilir.*
tuşu ile şifre temizlenir.- Doğru şifre girildiğinde alarm aktif veya pasif edilir.
PIR Sensör Kontrolü
- Alarm aktifken PIR sensör hareket algıladığında alarm tetiklenir.
LED ve Buzzer Kontrolü
- Alarm kurulu değilse: Yeşil LED yanar.
- Alarm kuruluysa: Kırmızı LED yanar.
- Alarm tetiklenirse: Buzzer çalar ve kırmızı LED yanar.
I2C Ekran Kontrolü
lcd.init()
ve lcd.backlight()
ile ekran başlatıldı.Projenin çalışan örneğini görmek için tıklayınız.
Kullanım Alanları
- Ev güvenlik sistemleri
- Ofis alarm sistemleri
- Eğitim projeleri
Bu sistem, Arduino ile temel güvenlik sistemlerinin nasıl geliştirilebileceğini öğrenmek için harika bir başlangıçtır.
Sıkça Sorulan Sorular
Arduino, PIR sensör, Keypad ve LED kullanarak bir hırsız alarm sistemi oluşturabilirsiniz. Şifre girildiğinde alarm aktif olur, hareket algılandığında şifreyle devre dışı bırakılır.
Evet, Arduino ve 4x4 Keypad kullanarak şifreyle kontrol edilen bir alarm sistemi yapabilirsiniz. Şifre doğru girildiğinde alarm devreye girer veya kapanır.
PIR sensör, hareket algıladığında Arduino'ya sinyal gönderir. Alarm devredeyse buzzer çalar ve kırmızı LED yanar. Şifreyle alarm kapatılabilir.
Arduino alarm sistemi için 4x4 Keypad, PIR sensör, kırmızı ve yeşil LED, buzzer, breadboard ve bağlantı kabloları kullanılır.
PIR sensör hareket algılamadığında alarm devrede değilse yeşil LED yanar. Alarm devredeyse kırmızı LED yanar ve buzzer sessizdir.
Şifre, Arduino kodunda String correctPassword
değişkeniyle tanımlanır. Kullanıcı doğru şifreyi girerek alarmı kontrol edebilir.
Alarm aktifse ve hareket algılanırsa, buzzer çalar ve kırmızı LED yanar. Kullanıcı doğru şifreyi girene kadar alarm devam eder.
Keypad, alarm sistemine şifre girişi için kolay bir yöntem sağlar. Şifre doğrulamasıyla alarm kontrol edilebilir.
Alarm devredeyken kırmızı LED, devrede değilken yeşil LED yanar. Hareket algılanmadığında sistem durumuna göre LED'ler değişir.
Keypad için 2-9 numaralı PIN'ler, yeşil LED için 10, kırmızı LED için 11, buzzer için 12 ve PIR sensör için 13 numaralı PIN kullanılır.
Bu Gönderiye Yorum Yapılmamış