LDR (IŞIK ŞİDDETİ) SENSÖRÜ VE ARDUİNO İLE KULLANIMI
Arduino ile kullanılan ışık sensörleri arasında LDR (Light Dependent Resistor), phototransistor, ve photodiode gibi optoelektronik sensörler bulunur. Bu sensörler, girdi olarak ışık seviyelerini alır ve çıktı olarak analog veya dijital sinyaller verir. Arduino kullanılarak bu sinyallerin işlenmesi ve kontrol edilmesi mümkündür.
LDR (Light Dependent Resistor) : LDR, ışık yoğunluğuna dayalı olarak direnci değişen bir sensördür. Daha yüksek ışık yoğunluğunda direnci daha düşük, daha düşük ışık yoğunluğunda direnci daha yüksek olur. Bu özellik sayesinde LDR ile ışık yoğunluğunu ölçebiliriz.
Phototransistor : Phototransistor, optoelektronik bir transistördür. Bu sensör, ışığa maruz kaldığında emitter ve collector arasında akım geçirir. Bu akım miktarı ışık yoğunluğuna bağlı olarak değişebilir.
Photodiode : Photodiode, ışığa maruz kaldığında elektronların hareketini sağlar. Bu sensör, ışık yoğunluğuna bağlı olarak üreteceği elektronlar sayesinde ölçüm yapar.
Bu üç sensör arasında LDR en yaygın kullanılanıdır. Çünkü LDR kolayca kullanılır ve uygun fiyatlıdır. Diğer iki sensör ise daha hassas ve daha pahalıdır. Ancak daha yüksek performans sağlarlar.
LDR SENSÖR ÇALIŞMA PRENSİBİ
LDR (Light Dependent Resistor), ışık yoğunluğuna dayalı olarak direnci değişen bir sensördür. Bu sensör, bir yarı iletken malzeme olan selenyumdan yapılır ve genellikke karbon içerir.
LDR çalışma prensibi, ışık yoğunluğuna bağlı olarak yarı iletken malzemesinin direncinin değişmesine dayanır. Daha yüksek ışık yoğunluğunda LDR direnci daha düşük olur, daha düşük ışık yoğunluğunda ise LDR direnci daha yüksektir. Bu özellik sayesinde LDR ile ışık yoğunluğunu ölçebiliriz.
LDR sensörünü ölçüm yapmak için kullanılan devrelerde genellikle seri veya paralel bağlantı kullanılır.
- Seri bağlantıda, LDR direncinin arttığı zaman (düşük ışık yoğunluğunda) devrenin ölçülen direncinin de arttığını, düştüğü zaman (yüksek ışık yoğunluğunda) devrenin ölçülen direncinin de düştüğünü ifade etmekteyim.
- Paralel bağlantıda ise, LDR direncinin arttığı zaman (düşük ışık yoğunluğunda) devrenin ölçülen geriliminin arttığını, düştüğü zaman (yüksek ışık yoğunluğunda) devrenin ölçülen geriliminin de düştüğünü ifade etmekteyim.
LDR sensörler çeşitli alanlarda kullanılır, örneğin ısıtma, aydınlatma, güvenlik sistemleri, otomotiv ve endüstriyel uygulamalar gibi. LDR ile ölçülen verileri arduino ile işleyebilir ve kontrol edebilirsiniz.
LDR ÇEŞİTLERİ
- Selenyum LDR: En yaygın kullanılan LDR çeşididir. Uygun fiyatlı ve kolayca kullanılabilir.
- Cadmium Sulfide LDR: Cadmium Sulfide (CdS) malzemesinden yapılmış olan LDR sensörleri, selenyum LDR sensörlerine göre daha hassas ve daha pahalıdır.
LDR (Light Dependent Resistor) sensörleri, şekil ve boyutlarına göre çeşitli tipte üretilir. Örneğin, LDR sensörleri, düz, yuvarlak, kare, koni, veya kapsül şeklinde olabileceği gibi, çeşitli boyutlarda da üretilir. Bu sayede, farklı uygulamalara ve mekanik kısıtlamalara uygun olarak kullanılabilir. Ayrıca LDR sensörleri, üreticilerin özel olarak tasarladığı özel şekil ve boyutlara da sahip olabilir. Bu özel tasarımlar, özel uygulamalar için optimize edilmiş olabilir.
Ayrıca LDR sensörleri ayrıca mikro boyutlu veya mini boyutlu olarak da üretilir. Böylece, sensörler küçük veya sınırlı alanlarda kullanılmak üzere tasarlanabilir. Bu özellikleri sayesinde LDR sensörleri, birçok farklı alanda kullanılabilir.
Sonuç olarak LDR sensörleri şekil ve boyutlarına göre birçok çeşitleri bulunur ve her bir çeşit kendine özgü avantajları ve dezavantajları ile kullanılır. Hangi LDR sensörünün kullanılması gerektiği, projenin gereksinimlerine ve mekanik kısıtlamalarına göre belirlenir.

ARDUİNO İLE LDR BAĞLANTISI VE KODLARI

Arduino ile LDR sensörünü bağlamak için aşağıdaki adımları izleyebilirsiniz:
- LDR sensörünün bağlantı noktalarını belirleyin. Genellikle LDR sensörü 2 bağlantı noktasına sahiptir. Biri “VCC” diğeri ise “GND”.
- Arduino’nun GND (ground) pini ile LDR sensörünün GND bağlantı noktasını bağlayın.
- Arduino’nun VCC veya 5V pini ile LDR sensörünün VCC bağlantı noktasını bağlayın.
- LDR sensörünün birinci bağlantı noktasını bir analog giriş pini ile bağlayın. Arduino UNO gibi modellerde A0-A5 giriş pinleri kullanılabilir.
- Arduino kodunu yazın ve LDR sensörünün ölçtüğü değerleri okuyun veya kullanarak işleyin.
- Arduino kodunu yükleyin ve LDR sensörünün ölçtüğü değerleri seri monitör veya bir LED gibi bir cihaz aracılığıyla görüntüleyin.
Not: Bu bağlantı yöntemi genel bir örnektir ve LDR sensörünün özelliklerine ve üreticinin verdiği bilgilere göre değişebilir. Bu nedenle, LDR sensörünün kullanım kılavuzunu okuyun ve doğru bağlantı yöntemini belirleyin.
Aşağıda, LDR sensörünü okuyarak Arduino’nun seri monitöründe gösterilen bir örnek kod bulabilirsiniz:
//////////
int ldrPin = A0; // LDR sensörünün bağlandığı pin
int ldrValue; // LDR sensörünün okuduğu değer
void setup() {
Serial.begin(9600); // Seri haberleşme başlatılıyor
}
void loop() {
ldrValue = analogRead(ldrPin); // LDR sensöründen okunan değer
Serial.println(ldrValue); // Okunan değer seri monitöre yazdırılıyor
delay(1000); // 1 saniye bekle
}
/////////////
KODLARI AÇIKLAYALIM
Bu kod, LDR sensörünün okuduğu değerleri seri monitöre yazdırmaktadır. Kodun çalışma prensibi şöyle özetlenebilir:
- LDR sensörünün bağlandığı pin “A0” olarak tanımlanır ve okunan değer “ldrValue” değişkenine atanır.
- setup() fonksiyonunda seri haberleşme başlatılır ve baud rate olarak 9600 seçilir.
- loop() fonksiyonunda, LDR sensöründen okunan değer analogRead() fonksiyonu ile okunur ve “ldrValue” değişkenine atanır.
- Okunan değer seri monitöre yazdırılır ve 1 saniye beklenir. Bu sayede, LDR sensörünün okuduğu değerler sürekli olarak seri monitörde görüntülenir.
Önceden vermiş olduğum örnek kod, LDR sensörünün okuduğu değerleri seri monitöre yazdırmaktadır. Ancak, bu değerler direk olarak kullanılamaz. Çünkü, LDR sensörünün okuduğu değerler 0 ile 1023 arasındadır. Bu değerler, ışık yoğunluğuna göre değişebilir. Örneğin, düşük ışık yoğunluğunda LDR sensörünün okuduğu değerler yüksek olurken, yüksek ışık yoğunluğunda LDR sensörünün okuduğu değerler düşük olacaktır. Bu nedenle, okunan değerlerin anlamlı bir şekilde kullanılabilmesi için, öncelikle bir düzeltme faktörü uygulanması gerekir. Bu düzeltme faktörü, LDR sensörünün ölçtüğü ışık yoğunluğu aralığına göre belirlenir. Örneğin, 0-1023 arasındaki değerler 0-100 arasında bir ışık yoğunluğu aralığına dönüştürülebilir.
Aşağıda, LDR sensörünün okuduğu değerleri ışık yoğunluğu olarak dönüştüren bir örnek kod bulabilirsiniz:
////////////
int ldrPin = A0; // LDR sensörünün bağlandığı pin
int ldrValue; // LDR sensörünün okuduğu değer
int light; // İşlenmiş ışık yoğunluğu değeri
void setup() {
Serial.begin(9600); // Seri haberleşme başlatılıyor
}
void loop() {
ldrValue = analogRead(ldrPin); // LDR sensöründen okunan değer
light = map(ldrValue, 0, 1023, 0, 100); // Değerin ışık yoğunluğuna dönüştürülmesi
Serial.print(“Işık Yoğunluğu: “);
Serial.println(light); // İşlenmiş değer seri monitöre yazdırılıyor
delay(1000); // 1 saniye bekle
}
/////////////
Bu kod, LDR sensörünün okuduğu değerleri ışık yoğunluğu olarak dönüştürür ve seri monitöre yazdırır. Bu kodda bulunan MAP() fonksiyonunu açıklayalım
MAP() FONKSİYONU
Evet, “map()” fonksiyonu, verilen bir değeri belirli bir aralıktan başka bir aralığa dönüştürmek için kullanılır. Bu fonksiyon, 5 argüman alır:
- Dönüştürülecek değer (ldrValue): LDR sensörünün okuduğu değer
- Başlangıç aralığının ilk değeri (0): LDR sensörünün okuduğu değerin minimum değeri, yani 0
- Başlangıç aralığının son değeri (1023): LDR sensörünün okuduğu değerin maksimum değeri, yani 1023
- Hedef aralığının ilk değeri (0): İstediğimiz aralıkta çıktı olarak almak istediğimiz minimum değer, yani 0
- Hedef aralığının son değeri (100): İstediğimiz aralıkta çıktı olarak almak istediğimiz maksimum değer, yani 100
Bu fonksiyon, LDR sensörünün okuduğu değeri (0-1023 arasındaki bir değer) 0-100 arasındaki bir ışık yoğunluğu değerine dönüştürür.
LDR SENSÖRÜ İLE YAPILABİLECEK PROJELER
- Gece lambası: LDR sensörü kullanılarak, gece lambası olarak kullanılabilir. Bu, sensör tarafından algılanan ışık seviyesine göre otomatik olarak açılıp kapanır.
- Otomatik perde kontrolü: LDR sensörü kullanılarak, pencerelerde otomatik perde kontrolü yapılabilir. Bu, sensör tarafından algılanan ışık seviyesine göre perdelerin açılıp kapanmasını sağlar.
- Işık sensörlü park lambası: LDR sensörü kullanılarak, araba park lambası için bir sistem yapılabilir. Bu, sensör tarafından algılanan ışık seviyesine göre otomatik olarak açılıp kapanır.
- Işık sensörlü aydınlatma sistemi: LDR sensörü kullanılarak, bir binada veya alanda aydınlatma sistemi yapılabilir. Bu, sensör tarafından algılanan ışık seviyesine göre aydınlatmanın otomatik olarak açılıp kapanmasını sağlar.
- Işık sensörlü sebze bahçesi: LDR sensörü kullanılarak, sebze bahçesinde ışık seviyesine göre otomatik sulama sistemi yapılabilir. Bu, sensör tarafından algılanan ışık seviyesine göre sulama sisteminin otomatik olarak açılıp kapanmasını sağlar.
- Işık sensörlü günün saatine göre renk değiştiren LED aydınlatma: LDR sensörü kullanılarak, ışık seviyesine göre LED aydınlatmanın renk değiştirmesini sağlamak. Bu proje ile günün saatine göre otomatik olarak renk değiştirebilir.
- Işık sensörlü kapı kilidi: LDR sensörü kullanılarak, kapı kilidinin açılıp kapanmasını sağlamak. Bu proje ile günün saatine göre otomatik olarak kapının kilidini açabilir veya kapatabilir.
- Işık sensörlü çevre izleme sistemi: LDR sensörü kullanılarak, çevre izleme sistemi yapmak. Bu proje ile çevredeki ışık seviyesini izleyebilir
ARDUİNO İLE LDR SENSÖRÜ KULLANIRKEN NELERE DİKKAT ETMELİYİZ
LDR sensörleri kullanırken dikkat etmeniz gereken bazı noktalar şunlardır:
- LDR sensörünün çalışma aralığı: LDR sensörleri genellikle 0-1023 arasında bir değer aralığında çalışırlar. Bu aralıkta çalıştıklarından emin olmalısınız.
- LDR sensörünün çalışma gerilimi: LDR sensörleri genellikle 5V gerilimi ile çalışırlar. Bu gerilimde çalıştıklarından emin olmalısınız.
- LDR sensörünün çalışma sıcaklığı: LDR sensörleri belirli bir sıcaklık aralığında çalışabilir. Bu sıcaklık aralığının dışına çıktığında hassasiyetleri azalabilir. Bu nedenle, sensörlerin çalıştığı sıcaklığı kontrol etmelisiniz.
- LDR sensörünün çalışma ortamı: LDR sensörleri genellikle hava koşullarına ve çevre faktörlerine dayanıklıdır. Ancak, bazı ortamlarda (örneğin, tozlu veya nemli ortamlarda) hassasiyetleri azalabilir. Bu nedenle, sensörlerin çalıştığı ortamı kontrol etmelisiniz.
- LDR sensörünün çalışma süresi: LDR sensörleri genellikle uzun ömürlüdür. Ancak, yine de sensörlerin çalışma süresini kontrol etmeli ve gerektiğinde değiştirmelisiniz.
- LDR sensörünün çalışma şartları: LDR sensörleri genellikle iyi çalışırlar ancak bazen güneş ışığı, aydınlatma vb. gibi şartlar sensörleri etkileyebilir. Bu nedenle sensörlerin çalıştığı şartları kontrol etmeli ve gerektiğinde sensörleri koruma amaçlı kullanmalısınız.
- LDR sensörünün ölçüm aralığı: LDR sensörleri genellikle belirli bir aralıkta ölçüm yaparlar, Bu nedenle sensörlerin ölçtüğü aralığı kontrol etmeli ve gerektiğinde sensörleri kullanmak için uygun aralıkta kullanmalısınız.
- LDR sensörünün bağlantısı: LDR sensörleri genellikle analog olarak bağlanır ve bağlantıları doğru yapmalısınız.
LDR SENSÖRÜ VE LDR SENSÖR MODÜLÜ KARŞILAŞTIRILMASI
LDR sensörleri ve LDR sensör modülleri arasındaki farklar şunlardır:
- Tasarım: LDR sensörleri, sadece bir LDR sensöründen oluşur. LDR sensör modülleri ise, LDR sensörünün yanı sıra diğer elemanlarla birlikte (örneğin, amplifikatör, filtre vb.) bir modül olarak sunulur.
- Bağlantı: LDR sensörleri genellikle direk olarak bağlanırken, LDR sensör modülleri ise genellikle konektörler aracılığıyla bağlanır.
- Hassasiyet: LDR sensör modülleri, LDR sensörlerine göre daha yüksek hassasiyete sahip olabilirler. Çünkü modüller içinde amplifikatör, filtre gibi elemanlar mevcut olduğu için sinyal işleme yapılır ve sinyal daha net hale getirilir.
- Kullanım: LDR sensörleri, sadece ışık seviyesini ölçmek için kullanılabilirken, LDR sensör modülleri ise daha fazla özelliklere sahip olabilir. Örneğin, LDR sensör modülleri içinde bir PWM çıkışı olanlar, ışık seviyesine göre otomatik olarak LED aydınlatma kontrolü yapmak için kullanılabilir.
ARDUİNO İLE LDR SENSÖR MODÜLÜ KULLANIMI
LDR sensör modülünü Arduino ile kullanmak için şu adımları izleyebilirsiniz:
- LDR sensör modülünün bağlantısını yapın. Modül genellikle VCC, GND, ve A0 gibi pinleri içermektedir. VCC pinini 5V, GND pinini GND ve A0 pinini ise bir analog giriş pinine bağlamalısınız.
- Arduino IDE programını açın ve kodlarınızı yazın. Örnek bir kod verelim:
////////////
int ldrPin = A0; // LDR sensör modülünün bağlandığı pin
int ldrValue;
void setup() {
Serial.begin(9600); // seri haberleşme başlatın
}
void loop() {
ldrValue = analogRead(ldrPin); // LDR sensör modülünden okunan değeri okuyun
Serial.println(ldrValue); // okunan değeri seri monitorde gösterin
delay(100); // 100ms bekleyin
}
/////////
- LDR sensör modülünün çalışmasını test edin. Seri monitörde okunan değerleri görebilirsiniz. Bu değerler, sensör tarafından algılanan ışık seviyesine göre değişecektir. Daha yüksek ışık seviyesi, daha düşük değerleri, daha düşük ışık seviyesi ise daha yüksek değerleri ifade edecektir.
- LDR sensör modülünün okuduğu değerleri kullanarak projelerinizde kullanabilirsiniz. Örneğin, ışık seviyesine göre LED aydınlatma kontrolü yapabilirsiniz, Günün saatine göre otomatik perde kontrolü yapabilirsiniz, ışık seviyesine göre otomatik sulama sistemi yapabilirsiniz.
- LDR sensör modülünün ölçtüğü değerleri kullanarak arduino programınızda işlem yapabileceğiniz gibi, bu değerleri kullanarak uygun bir arayüzle (web, mobil vs) kullanıcılara sunabilirsiniz.