LDR ışığa duyarlı bir devre elemanıdır. Ters orantılı bir çalışma prensibine sahiptir.

Arduino ile LDR Devresi

Evet arkadaşlar uzun aradan sonra yeniden beraberiz. teknik ve kişisel problemlerden dolayı ara vermek zorunda kaldık. bu projemizde arduino ile pratik yapmak isteyen arkadaşlar ve kardeşlerimiz için ldr ile led uygulamasını paylaşmak istedim. aşşağıda kısaca tanıtımların ardından kodlamalar yardımı ile kolayca devreyi kurabilirsiniz.

iyi çalışmalar.

LDR Nedir?

LDR (Light Dependent Resistor) yani Türkçe’de “Işığa Bağımlı Direnç” anlamına gelmektedir. LDR ışığa duyarlı bir devre elemanıdır. Ters orantılı bir çalışma prensibine sahiptir. Yani üzerine düşen ışık değeri arttıkça sahip olduğu direnç değeri azalırken, üzerine düşen ışık değeri artıkça sahip olduğu direnç artar. Bu özelliği sebebiyle LDR devrede bir ON-OFF şeklinde anahtarlama görevinde bulunur. Günlük hayatta LDR sensörü alarmlarda, anahtarlama cihazlarında, sokak aydınlatmalarında kullanılabilirler. Devremiz de kullandığımız LDR sensörümüz bir Analog Girişli Sensördür.

Analog Giriş Nedir?

Arduino da ADC (Analog To Digital Converter) özelliği mevcuttur. Bu özellik sayesinde dış dünyadan gelen verileri sayısal değerlere dönüştürebiliriz. Arduino UNO kartı üzerinde A0-A5 olmak üzere 6 adet analog giriş bulunur. Analog giriş sayısı modele göre değişebilir ama işlevi aynıdır

Arduino kodları:

int ledPin = 10;
int LDRPin = A3;
void setup()
{ 
  pinMode(ledPin, OUTPUT);
  Serial.begin(9600);
}
 
void loop()
{
 int isik_degeri = analogRead(LDRPin);
Serial.println(isik_degeri);
delay(100);  
 if(isik_degeri<200)
 {
   digitalWrite(ledPin, HIGH);
 }
 else
 {
   digitalWrite(ledPin, LOW);
 }
}
 
int ledPin = 10;  // İlk olarak LED’imizin ve LDR sensörümüzün pinlerini belirliyoruz.

int LDRPin = A3;

pinMode(ledPin, OUTPUT); // LED’imizin bir OUTPUT olduğunu belirtiyoruz.

Serial.begin(9600); // Seri iletişimi başlatıyoruz.

Loop Kısmına indiğimiz zaman ise;

int isik_degeri = analogRead(LDRPin); // LDR sensörümüzün ölçmüş olduğu ışık değerini int tipinde bir değişkene atıyoruz.

Serial.println(isik_degeri); // Gelen değeri ise yeni değişkenimizde okumasını istiyoruz.

delay(100);  // Saniyenin 1/10 kadarını beklemesini söylüyoruz.

if(isik_degeri<200) // if döngüsü başlatıyoruz gelen ölçülen değerin bizim belirlediğimiz değerin altında veya üstünde olma durumunu kontrol ediyoruz.

{

   digitalWrite(ledPin, HIGH); // Eğer ki gelen ışık düzeyi 200 de fazla ise LED’imizi aktif ediyoruz.

 }

 else

 {

   digitalWrite(ledPin, LOW); // Eğer ki gelen ışık düzeyi 200 den fazla ise LED’imizi pasif durumuna çekiyoruz.

 }

About Ferhat Çelik

Elektronik mühendisliği için kitaplarla savaşan ve arası hiç iyi olmayan kişi. Kendi gibi elektronik ile ilgileneler için devre arşiv'i kuran Ferhat ÇELİK..

Check Also

ESP8266 ile Etraftaki Ağları Yavaşlatma

Bu yazımızda etraftaki kablosuz ağları yavaşlatma yönteminden bahsetmek istiyorum. Nasıl Çalışır? Eğer bir cihaz aynı …

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.