Akıllı Güvenlik ve Aydınlatma Sistemi

Bu senaryoda:

LDR: Hava karardığında (ışık azaldığında) LCD’de “Iyi Geceler” yazacak.

PIR: Hareket algıladığında Servo motoru (kapıyı) 90 derece açacak ve LCD’de “HOSGELDINIZ” yazacak.

#include <Wire.h> 
#include <LiquidCrystal_I2C.h>
#include <Servo.h>

// Tanımlamalar
LiquidCrystal_I2C lcd(0x27, 16, 2); 
Servo kapıServosu;
int pirPin = 2;    // Dijital Pin
int ldrPin = A0;   // Analog Pin
int hareketDurumu = 0;
int isikDegeri = 0;

void setup() {
  lcd.init();                      // LCD'yi başlat
  lcd.backlight();                 // Arka ışığı aç
  kapıServosu.attach(9);           // Servoyu 9. pine bağla
  pinMode(pirPin, INPUT);          // PIR giriş olarak ayarlandı
  kapıServosu.write(0);            // Başlangıçta kapı kapalı (0 derece)
}

void loop() {
  hareketDurumu = digitalRead(pirPin);
  isikDegeri = analogRead(ldrPin);

  lcd.clear(); // Ekranı her döngüde temizle (veya değişim olduğunda)

  // 1. Durum: Hareket Algılanması
  if (hareketDurumu == HIGH) {
    kapıServosu.write(90);         // Kapıyı aç
    lcd.setCursor(0, 0);
    lcd.print("HOSGELDINIZ");
    delay(2000);                   // 2 saniye bekle
  } else {
    kapıServosu.write(0);          // Kapıyı kapat
  }

  // 2. Durum: Işık Seviyesi Kontrolü (LDR)
  lcd.setCursor(0, 1);
  if (isikDegeri < 400) {          // Eşik değeri (karanlık)
    lcd.print("Gece Modu: ACIK");
  } else {
    lcd.print("Gunduz Modu");
  }

  delay(500); // Sensör okuması için kısa bekleme
}


LDR Değeri: “LDR 500’den küçükse” gibi bir şart varsa, if (isikDegeri < 500) kısmını ona göre güncellemelisin. LCD Adresi: Eğer kod çalışmazsa sınıftaki LCD'nin adresi 0x27 yerine 0x3F olabilir. Servo Kütüphanesi: kod yazarken #include satırını unutmak en sık yapılan hatadır.

I2C Pinleri: LCD’nin SDA ve SCL pinlerini Arduino’da doğru yerlere (genelde A4 ve A5) takman gerektiğini hatırla.

Buna da gözat

Arduino ile LCD Ekran Kullanımı (I2C Modülü ile)

Gerekli Malzemeler: Arduino Uno (veya benzeri bir Arduino kartı) 16×2 karakter LCD ekran (HD44780 uyumlu) I2C LCD adaptör modülü (örneğin, PCF8574) Breadboard Jumper kablolar I2C modülünün VCC pinini Arduino’nun 5V pinine bağlayın. I2C modülünün GND pinini Arduino’nun GND pinine bağlayın. I2C modülünün SDA pinini Arduino’nun SDA pinine …