Başa dön

Arduino ile LDR Işık Sensörü Kullanımı

Merhaba arkadaşlar, bu yazımızda LDR Işık Sensörü’nün ne olduğuna ve nasıl kullanıldığına bakacağız.

Malzemeler:

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.

LDR’nin Ne Olduğunu Öğrendiğimize Göre Devre Şemasına ve Kodlamasına Bakalım.

 

Şimdide kodlamamıza geçelim

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.

 }

Bu projemizde ki kullandığımız ürünleri buradan satın alabilirsiniz.