LDR (Fotodirenç)

- LDR bir direnç çeşididir.
- Üzerine düşen ışığın şiddetine göre direnci değiştir.
- Üzerine ışık düştüğünde direnci azalır, karanlık olduğunda da direnci artar.

LDR değeri güneş altında 400 Ohm değerine yakın bir değer alırken, Çok karanlık ortamda 220KiloOhm değerini alabilir.
Otomatik Yanan Gece Lambası Yapımı
Malzemeler:
- 1 adet LED
- Arduino ve breadboard
- Yeterince kablo
- LDR
- 10k direnç
- 330 Ohm veya benzeri LED için direnç

Kod Örneği
byte led=3; void setup() { pinMode(led,OUTPUT); //LED pinini çıkış olarak ayarladık Serial.begin(9600); // Seri portu başlattık } void loop() { int isik = analogRead(A0); //sürekli olarak analog dan gelen değeri isik degiskenine aktar. delay(50); //küçük bir bekleme ekliyoruz. Serial.println(isik); //seri porta değeri yazdırdık if(isik>500){ // eğer aydınlıksa digitalWrite(led,LOW); //led kapat }else{ //değilse, yani karanlık digitalWrite(led,HIGH); //led aç } }
Burada daha önce görmediğimiz analogRead() foksiyonunu kullandık.
anaogRead() fonksiyonu ile analog değerleri okuyabiliyoruz. Analog değer bizim yaşadığımız ordamdaki değerlerdir. Mesela insan konuşması, odanın sıcaklığı, dışarının aydınlığı vb. analog değerlerdir. Bu değerlerle işlem yapabilmek için dijital değerlere çevirmemiz gerekiyor. Bunu da sensörler aracılığıyla yaparız.
analog pin den gelen değerler maksimum 1023, minimum 0 değerini alır. Biz kodlarımızı yazarken bunu bilerek yazmamız gerekmektedir.
analogRead(A0) fonkiyonu aracılığıyla, Arduino’ nun analog 0 değerine bağladığımız LDR nin değerini alıyoruz.
Yukarıdaki kodlar benim bulunduğum ortamdaki karanlık değerine göre yazıldı. Sizin bulunduğunu ortamda bu değer değişebilir. Bunun için seri porttan değeri okuyarak kodlarımızı ona göre düzenlememiz gerekiyor.
Seri portu açmak için

Veya Araçlar Menüsünden de seri portu açabiliriz. (Kısayol Tuşu Ctrl + Shift + M)
Normal bir oda ışığında bende şöyle bir değer gelmektedir.

Ancak karanlık yaptığım zaman

Benim odamda karanlıkta 150 gibi değerler alırken, normal ışıkta 480 gibi değerler almaktadır. Bu nedenle kodlarımı bu şekilde yaptım.
if(isik>500)
Siz de kendi değerlerinizle kendi lambanızı yapabilirsiniz.