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.

Bu Gönderiye Yorum Yapılmamış