Image
10 Temmuz, 2026

Arduino ile KY-018 LDR Kullanarak Otomatik Gece Lambası Nasıl Yapılır?

Bu projede Arduino Uno, KY-018 LDR ışık sensörü, LED ve direnç kullanarak ortam karardığında otomatik olarak yanan basit bir gece lambası devresi yapacağız. KY-018 LDR modülü ortam ışığına göre analog değer üretir. Arduino bu değeri okuyarak ortamın aydınlık mı karanlık mı olduğunu algılar.

Ortam karardığında LED yanar, ortam aydınlandığında LED otomatik olarak söner. Bu proje, Arduino ile analog sensör okuma, eşik değeri kullanma ve dijital çıkış kontrolü konularını öğrenmek için oldukça uygundur.

Arduino ile KY-018 LDR otomatik gece lambası projesi
Fotoğraf 1: Arduino Uno, KY-018 LDR sensörü ve LED ile otomatik gece lambası projesi.

Projenin Amacı

Bu projenin amacı, ortam ışık seviyesini KY-018 LDR sensörü ile ölçmek ve belirlenen eşik değerine göre LED’i otomatik olarak kontrol etmektir. Ortam karanlık olduğunda LED yanar, ortam yeterince aydınlık olduğunda LED söner.

Kısaca: KY-018 LDR sensörü ortam ışığını algılar. Arduino bu değeri A0 pininden okur. Değer eşik seviyesinin altına düştüğünde LED yanar.

KY-018 LDR Sensörü Nedir?

KY-018 LDR modülü, ışığa duyarlı direnç yani LDR içeren bir ışık algılama modülüdür. LDR’nin direnç değeri üzerine düşen ışık miktarına göre değişir. Bu değişim Arduino tarafından analog değer olarak okunabilir.

KY-018 modülü üzerinde genellikle S / AO, + ve - pinleri bulunur. S veya AO pini analog çıkıştır. Arduino’nun A0 gibi analog giriş pinlerine bağlanarak ortam ışık seviyesi okunabilir.

Not: Bu proje KY-018 modül üzerinden hazırlanmıştır. Eğer modül yerine çıplak LDR kullanıyorsanız, LDR ile birlikte bir direnç kullanarak gerilim bölücü devre kurmanız gerekir.

Kullanılan Malzemeler

Malzeme Açıklama / Ürün Linki
Arduino Uno Arduino Uno R3 Klon + USB Kablo
KY-018 LDR Işık Sensörü KY-018 LDR Işık Sensörü
LED 5mm LED
Direnç LED için 220R / 330R Direnç
Breadboard Büyük Breadboard 830 Pin
Jumper Kablo 40 Adet Erkek-Dişi Jumper Kablo 20cm

Devre Bağlantıları

Bu projede KY-018 LDR modülünün analog çıkış pini Arduino’nun A0 pinine bağlanır. LED ise direnç üzerinden Arduino’nun D9 pinine bağlanır.

Bileşen Arduino Bağlantısı
KY-018 S / AO A0
KY-018 + 5V
KY-018 - GND
LED uzun bacak Direnç üzerinden D9
LED kısa bacak GND
Arduino KY-018 LDR otomatik gece lambası bağlantı şeması
Fotoğraf 2: Arduino Uno, KY-018 LDR sensörü ve LED bağlantı şeması.

Proje Uygulama Videosu

Devre bağlantısı, kod yükleme, Seri Monitör üzerinden LDR değerlerini izleme ve LED kontrol testini aşağıdaki video alanına ekleyebilirsiniz.

Arduino KY-018 LDR Otomatik Gece Lambası Kodu

Aşağıdaki kod, KY-018 LDR sensöründen gelen analog değeri okur. Okunan değer belirlenen eşik değerinin altına düştüğünde LED yanar, eşik değerinin üstündeyse LED söner.

/*
  Proje: KY-018 LDR ile Otomatik Gece Lambası
  Platform: Arduino Uno
  Hazırlayan: Robomer
  Web: https://robomer.com

  Bağlantılar:
  KY-018 S / AO -> A0
  KY-018 +      -> 5V
  KY-018 -      -> GND
  LED uzun bacak -> Direnç üzerinden D9
  LED kısa bacak -> GND
*/

const int ldrPin = A0;
const int ledPin = 9;

int threshold = 500;

void setup() {
  Serial.begin(9600);
  pinMode(ledPin, OUTPUT);
}

void loop() {
  int ldrValue = analogRead(ldrPin);

  Serial.print("LDR Degeri: ");
  Serial.println(ldrValue);

  if (ldrValue < threshold) {
    digitalWrite(ledPin, HIGH);
  }
  else {
    digitalWrite(ledPin, LOW);
  }

  delay(300);
}

Kod Nasıl Çalışır?

Pinler Tanımlanır

const int ldrPin = A0;
const int ledPin = 9;

Bu satırlarda LDR sensörünün bağlı olduğu analog pin A0, LED’in bağlı olduğu dijital pin ise D9 olarak tanımlanır.

Eşik Değeri Belirlenir

int threshold = 500;

threshold değişkeni, LED’in hangi ışık seviyesinde yanıp söneceğini belirler. Bu örnekte eşik değeri 500 olarak ayarlanmıştır. Ortamınıza göre bu değeri 300, 400, 600 veya 700 gibi farklı değerlerle değiştirebilirsiniz.

LDR Değeri Okunur

int ldrValue = analogRead(ldrPin);

analogRead() fonksiyonu Arduino’nun A0 pinindeki analog gerilim değerini okur. Arduino Uno’da analog okuma sonucu 0 ile 1023 arasında bir değer döndürür.

Değer Seri Monitör’e Yazdırılır

Serial.print("LDR Degeri: ");
Serial.println(ldrValue);

Bu satırlar, KY-018 sensöründen okunan değeri Arduino IDE üzerindeki Seri Monitör ekranına yazdırır. Böylece ortam ışığına göre değerin nasıl değiştiğini görebilir ve en uygun eşik değerini belirleyebilirsiniz.

Ortam Karanlıksa LED Yakılır

if (ldrValue < threshold) {
  digitalWrite(ledPin, HIGH);
}
else {
  digitalWrite(ledPin, LOW);
}

Bu koşulda LDR’den okunan değer eşik değerinden küçükse ortam karanlık kabul edilir ve LED yakılır. Değer eşik değerinin üzerindeyse LED söndürülür.

Not: KY-018 modülünün bağlantısına ve ortam ışığına göre değerler ters çalışabilir. LED beklediğinizin tersine yanıyorsa koddaki < işaretini > olarak değiştirebilirsiniz.

Seri Monitör ile LDR Değeri Nasıl Kontrol Edilir?

Eşik değerini doğru belirlemek için Seri Monitör üzerinden LDR değerlerini takip edebilirsiniz.

  1. Arduino IDE’yi açın.
  2. Kodu Arduino Uno kartınıza yükleyin.
  3. Sağ üstteki Seri Monitör butonuna tıklayın.
  4. Baud değerinin 9600 olduğundan emin olun.
  5. LDR sensörünü elinizle kapatarak veya üzerine ışık tutarak değerlerin değişimini izleyin.

Karanlık ve aydınlık ortamdaki değerleri karşılaştırarak threshold değerini projenize göre ayarlayabilirsiniz.

Eşik Değeri Nasıl Değiştirilir?

LED’in hangi ışık seviyesinde yanacağını değiştirmek için kodun başındaki threshold değerini düzenleyebilirsiniz.

int threshold = 500;

Eğer LED çok erken yanıyorsa veya çok geç yanıyorsa bu değeri değiştirerek sistemi kalibre edebilirsiniz. Seri Monitör’den aldığınız karanlık ve aydınlık değerlerin ortasına yakın bir eşik değeri seçmek genellikle daha doğru sonuç verir.

Bu Proje Nerelerde Kullanılabilir?

  • Otomatik gece lambası
  • Ortam ışığına göre LED kontrolü
  • Akıllı aydınlatma sistemi
  • Güneş ışığı algılama projeleri
  • Çizgi izleyen robot mantığını anlamaya yönelik eğitim projeleri
  • Ekran parlaklığı veya lamba kontrolü simülasyonları

Sık Karşılaşılan Hatalar

  • LED hiç yanmıyor: LED’in uzun bacağının direnç üzerinden D9 pinine, kısa bacağının GND’ye bağlı olduğundan emin olun.
  • LED sürekli yanıyor: Ortam karanlık olabilir veya threshold değeri çok yüksek seçilmiş olabilir.
  • LED ters çalışıyor: Koddaki < işaretini > olarak değiştirmeyi deneyin.
  • LDR değeri değişmiyor: KY-018 modülünün S/AO pininin A0’a bağlı olduğundan emin olun.
  • Seri Monitör’de veri görünmüyor: Baud değerinin 9600 olduğundan emin olun.
  • LED zarar gördü: LED’i doğrudan Arduino pinine bağlamayın; mutlaka seri direnç kullanın.
Git

KY-018 LDR Otomatik Gece Lambası Kaynak Kodları

Proje kodlarını, bağlantı notlarını ve geliştirme fikirlerini GitHub deposu üzerinden paylaşabilirsiniz.

Robomer’de Bulabileceğiniz İlgili Ürünler

KY-018 LDR Işık Sensörü

KY-018 LDR Işık Sensörü

Ortam ışık seviyesini Arduino ile analog olarak okumak için kullanılan ışık algılama modülüdür.

Ürünü İncele
Arduino UNO R3 Klon USB Kablo

Arduino UNO R3 Klon + USB Kablo

KY-018 LDR sensöründen gelen analog değeri okuyup LED kontrolü yapmak için kullanılan geliştirme kartıdır.

Ürünü İncele
5mm LED

5mm LED

Ortam karardığında otomatik olarak yanacak çıkış elemanı olarak kullanılır.

Ürünü İncele

Sonuç

Arduino ile KY-018 LDR otomatik gece lambası projesi, analog sensör okuma ve eşik değerine göre dijital çıkış kontrolü konularını öğrenmek için ideal bir başlangıç projesidir. Bu projede KY-018 LDR sensöründen gelen analog değer okunur ve ortam karardığında LED otomatik olarak yakılır.

Projeyi daha ileri seviyeye taşımak için LED yerine röle modülü ekleyebilir, daha güçlü aydınlatmaları kontrol edebilir veya LCD ekran ile ortam ışık seviyesini anlık olarak gösterebilirsiniz.

Arduino Sensör Projelerinizi Robomer ile Geliştirin

Arduino kartları, LDR ışık sensörleri, LED, direnç, breadboard, jumper kablo ve proje setlerini Robomer üzerinden inceleyebilirsiniz.

Robomer Sensörler Kategorisini İncele