Alarm Sistemi

Sizde kendi alarm sisteminizi yapmak istiyorsanız işte gerekenler,şema ve kodlar

  • Arduino Uno R3
  • Breadboard
  • Keypad (4×4)
  • 1 tane led (rengi farketmez)
  • 16×2 I2C LCD
  • Aktif Buzzer
ekran görüntüsü 2026 02 01 171007

ve kodları (sadece Arduino Uno R3 modeli içindir, geri sayımı ve şifreyi değiştirebilirsiniz.)

#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <Keypad.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
// KEYPAD
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);
// PINLER
const int ledPin = 10;
const int buzzerPin = 11;
// ŞİFRE
String password = "1453";
String input = "";
// DURUMLAR
bool countdownMode = false;
bool alarmMode = false;
int countdown = 10;
void setup() {
  pinMode(ledPin, OUTPUT);
  pinMode(buzzerPin, OUTPUT);
  digitalWrite(ledPin, LOW);
  lcd.init();
  lcd.noBacklight();          // 🔴 NORMALDE KAPALI
  lcd.setCursor(0,0);
  lcd.print("DURUM: OLUMSUZ");
  lcd.setCursor(0,1);
  lcd.print("CODE: CODE");
}
void loop() {
  // 🚨 ALARM MODU
  if (alarmMode) {
    lcd.backlight();          // 🔥 ALARMDA AÇIK
    lcd.clear();
    lcd.setCursor(0,0);
    lcd.print("EMERGENCY");
    lcd.setCursor(0,1);
    lcd.print("ALERT!");
    while (true) {
      digitalWrite(ledPin, HIGH);
      tone(buzzerPin, 1500);
      delay(200);
      digitalWrite(ledPin, LOW);
      noTone(buzzerPin);
      delay(200);
    }
  }
  // ⏱️ COUNTDOWN MODU
  if (countdownMode) {
    lcd.backlight();          // ⏱️ GERI SAYIMDA AÇIK
    lcd.clear();
    lcd.setCursor(0,0);
    lcd.print("COUNTDOWN:");
    lcd.setCursor(0,1);
    lcd.print(countdown);
    digitalWrite(ledPin, HIGH);
    tone(buzzerPin, 1000, 100);
    delay(300);
    digitalWrite(ledPin, LOW);
    delay(700);
    countdown--;
    if (countdown < 0) alarmMode = true;
    return;
  }
  // 🔐 NORMAL MOD
  char key = keypad.getKey();
  if (key) {
    lcd.backlight();          // 👆 TUŞA BASINCA AÇ
    tone(buzzerPin, 1200, 60);
    if (key == '#') {
      if (input == password) {
        lcd.clear();
        lcd.setCursor(0,0);
        lcd.print("Sifreyi Bildin");
        digitalWrite(ledPin, LOW);
        while (true);
      } else {
        countdownMode = true;
      }
    }
    else if (key == '*') {
      input = "";
      lcd.setCursor(0,1);
      lcd.print("CLEARED        ");
    }
    else {
      input += key;
      lcd.setCursor(0,1);
      lcd.print("CODE: ");
      lcd.print(input);
    }
  }
}