TinkerCAD ile Foto Direnç (LDR) Uygulaması
LDR (Light Dependent Resistor – Işığa Duyarlı (Bağımlı) Direnç) sensörler, ayarlı dirençler olan potansiyometreler gibi giriş seviyesinde üzerine uygulanan ışık şiddetine bağlı olarak farklı değerler alabilen bir devre elemanıdır.
Merhabalar,
Bu uygulamamızda üzerine düşen ışık miktarına göre direnci değişen foto direnç (LDR) ile LED uygulaması gerçekleştireceğiz. Foto dirençler de potansiyometreler gibi farklı görünen dirençlerdendir. Foto dirençlerin değerleri algıladığı ışık seviyesine göre değişmektedir.
Foto Direnç (LDR) Nedir? Nasıl Çalışır?

LDR (Light Dependent Resistor – Işığa Duyarlı (Bağımlı) Direnç) sensörler, ayarlı dirençler olan potansiyometreler gibi giriş seviyesinde üzerine uygulanan ışık şiddetine bağlı olarak farklı değerler alabilen bir devre elemanıdır. LDR; üzerine uygulanan ışık şiddetiyle ters orantılı olarak dirençleri değişen elemanlarıdır. LDR üzerine düşen ışık miktarı arttıkça direnci azalır, ışık miktarı azaldıkça direnç değeri artar. Foto direncin aydınlıkta değeri minumum iken, karanlıkta ise maksimum seviyededir. Doğru ya da alternatif akım devrelerinin hepsinde aynı prensiple çalışır. Sokak lambaları, gece lambaları gibi gerçek hayattaki uygulamalarda kullanılmaktadır.
Devremizde Arduino foto direnci doğrudan değerlendiremediği için LDR’yi voltaj bölücü ile kullanacağız. Arduino analog girişi yani INPUT pini direnci değil voltajı ölçmektedir. Bu uygulamada dirençli sensörler de diyebileceğimiz voltaj bölücüyü kullanacağız. Voltaj bölücü ışık şiddetinin yüksek olduğu durumlarda yüksek voltaj çıkışı, düşük ışık şiddeti altında ise düşük voltaj çıkışı vermeyi sağlayacaktır.

Bir voltaj bölücü iki adet dirençten meydana gelir. Üst direnç 5 Volta ve alt direnç ise toprağa(GND) bağlandığında, orta kısım iki direnç değerine uygun olan bir volt çıkışı vermektedir. Dirençlerden birinin değeri değiştiğinde, yani algıladıkları birimin değeri değiştiğinde direnç değeri de değişecek ve bu yüzden çıkış voltajı da buna bağlı olarak değişecektir.
LDR ile LED Uygulama Devresine ait kodlar:
/* BlogKod - TinkerCAD ile LDR (Foto Direnç)Uygulaması */
const int sensorPin = 0; // LDR A0 analog giriş pinine bağlanacak
const int ledPin = 3; // LED 3 numaralı dijital PWM pinine bağlanacak
// Işık (light) şiddeti ile ilgili değerleri tutacak değişkenleri tanımlıyoruz
int lightSiddeti, yuksek = 0, dusuk = 1023;
void setup()
{
pinMode(ledPin, OUTPUT); // LED'i çıkış olacak
}
void loop()
{
// A0 analog pininden gelen değeri ışık şiddeti olarak işleme alacağız
lightSiddeti = analogRead(sensorPin);
/*
analogRead() kullanarak okuduğumuz bir analog sinyal,
0-1023 arasında bir değer olacaktır. Fakat anologWrite()
kullanarak bir PWM çalıştırmak istediğimizde, 0-255 arasında
bir değer isteyecektir. Bu durumda map() fonksiyonunu
kullanarak geniş alanları daha dar alanlar olacak şekilde
sıkıştırabiliriz.
*/
lightSiddeti = map(lightSiddeti, 0, 1023, 0, 255);
/*
Kullandığımız map() fonksiyonu sınırı daraltır fakat biz bunu
yanında constrain() komutu kullanarak sayıları bu sınır
içerisinde tutacağız. Eğer sayı bu sınırı aşarsa daha büyük bir
sayıya dönüşecek. Ama sınırın içerisindeyse aynı kalacak.
*/
lightSiddeti = constrain(lightSiddeti, 0, 255);
// Işık şiddetimiz hazır ise bu değere göre LED'i de yakabiliriz.
// Işık şiddeti yüksek ise sönük kalacak,
// Işık şiddeti düşük ise parlak yanacaktır...
analogWrite(ledPin, lightSiddeti);
}
TinkerCAD ile Foto Direnç (LDR) Uygulaması Simülasyonu
https://www.tinkercad.com/embed/iujiYKXD1sq?editbtn=1
Bir sonraki uygulamamızda görüşmek üzere…

Bende hayatım boyunca hep LDR lerin ne işe yaradığını düşünürdüm.Sayenizde öğrenip onları işlevsel olarak kullanabiliyorum 🙂