
Bu yazımızda Arduino ile LDR uygulamasını gerçekleştirdik. Aslında günlük hayatta birkaç alanda kullanmaktayız ama bunun hiçte farkında değiliz neyse şimdi biraz merak uyandırarak açıklıyorum nerelerde kullanıldığını; her akşam karanlık olunca sokakta yanan lambalarımız varya işte onlar en bariz örnekleridir. Hatta bi aralar favori olan otomatik yanan gece lambaları diye piyasada pazarlanan gece lambaları var onlarda aynı şekilde “LDR” kullanılarak yapılmıştır.
LDR Nedir ?
İngilizce’de Photo Resistor anlamına gelen dirençler piyasada yaygın olarak LDR ismi ile adlandırılıyor LDR ise Light Dependet Resistance kelime guruplarının baş harflerinden oluşmaktadır. Ortam da üzerine düşün ışık şiddetine göre direnci artıp azalmaktadır. Bunun anlamak için arkadaşlar kısa bir test yapabilirsiniz ölçü aletinizi direnç kademesine ayarlayın ve probları LDR’nin bacaklarına bağlayın daha sonra LDR üzerine biraz ışık düşürün ya da üzerini kapatarak ölçü aletinin göstergesinde değişikliği göreceksiniz.
LDR’nin İç Yapısı Şu Şekildedir ;
Tavsiye edilen ürün linkleri ve kullanılan malzemeler:
-Arduino Uno
-5 adet LED
-6 adet 220 Ohm direnç
-LDR
-Jumper Kablolar
Devre Şeması:
Kodlarımızda aşağıdadır:
[php]int LDR_deger = 0;
//Tanımlanan LED pinleri
int Ledpin1 = 12;
int Ledpin2 = 11;
int Ledpin3 = 10;
int Ledpin4 = 9;
int Ledpin5 = 8;
//Okunun değişken LDR_pin olarak tanımlandı
int LDR_pin = 0;
void setup()
{
Serial.begin(9600);
//giriş çıkışlar belirlendi
pinMode(Ledpin1, OUTPUT);
pinMode(Ledpin2, OUTPUT);
pinMode(Ledpin3, OUTPUT);
pinMode(Ledpin4, OUTPUT);
pinMode(Ledpin5, OUTPUT);
}
void loop()
{
//Okunan deger LDR_deger ye atılıyor
LDR_deger = analogRead(LDR_pin);
//parametre aralıklarımız belirleniyor 0 ile 1023 arasında yani 10 bit kullanıyoruz
if(LDR_deger <= 1020)
{
digitalWrite(Ledpin1, HIGH);
digitalWrite(Ledpin2, HIGH);
digitalWrite(Ledpin3, HIGH);
digitalWrite(Ledpin4, HIGH);
digitalWrite(Ledpin5, HIGH);
}
else if((LDR_deger >= 1018) && (LDR_deger < 1023))
{
digitalWrite(Ledpin1, LOW);
digitalWrite(Ledpin2, HIGH);
digitalWrite(Ledpin3, HIGH);
digitalWrite(Ledpin4, HIGH);
digitalWrite(Ledpin5, HIGH);
}
else if((LDR_deger >= 1010) && (LDR_deger < 1018))
{
digitalWrite(Ledpin1, LOW);
digitalWrite(Ledpin2, LOW);
digitalWrite(Ledpin3, HIGH);
digitalWrite(Ledpin4, HIGH);
digitalWrite(Ledpin5, HIGH);
}
else if((LDR_deger >= 1003) && (LDR_deger < 1010))
{
digitalWrite(Ledpin1, LOW);
digitalWrite(Ledpin2, LOW);
digitalWrite(Ledpin3, LOW);
digitalWrite(Ledpin4, HIGH);
digitalWrite(Ledpin5, HIGH);
}
else if((LDR_deger >= 990) && (LDR_deger < 1003))
{
digitalWrite(Ledpin1, LOW);
digitalWrite(Ledpin2, LOW);
digitalWrite(Ledpin3, LOW);
digitalWrite(Ledpin4, LOW);
digitalWrite(Ledpin5, HIGH);
}
else
{
digitalWrite(Ledpin1, LOW);
digitalWrite(Ledpin2, LOW);
digitalWrite(Ledpin3, LOW);
digitalWrite(Ledpin4, LOW);
digitalWrite(Ledpin5, LOW);
}
Serial.print("LDR Deger: ");
Serial.print(LDR_deger);
Serial.println("by Roboturka");
delay(500);
}[/php]
Çalışma videomuzda aşağıdadır, iyi seyirler…
can
28 Kasım 2017 at 16:38
else if((LDR_deger >= 990) & (LDR_deger < 1003))
{
bu satır yuklemede hata verıyor nasıl duzeltilebilir.
LabVIEW ile Arduino’da LDR Kullanımı | roboturka.com |
3 Haziran 2018 at 15:00
[…] Arduino ile LDR Uygulaması […]