14 Şubat 2017 Salı

🤗 🔺🔺🔺 ARDUİNO İLE LDR KONTROLÜ 🔻🔻🔻 🤗

LDR:
Optik sensör türleri içerisinde akıla gelen ilk elektronik elemandır. İngilizce Photo Resistor anlamına gelmesine karşın foto dirençler yaygın bir şekilde LDR adı ile ifade edilir. İsminden de anlaşılacağı üzere LDR, Light Dependet Resistance kelimelerinin kısaltılmış halidir. LDR, Ortamdaki ışığın şiddetine göre üzerine düşen direnç değerini ters orantılı olarak ayarlayabilen en basit optik sensör çeşididir.
Genel bir dil ile anlatacak olursak. Direnç değeri aydınlıkta azalan, karanlıkta ise artan elemana foto direnç (LDR) denir. Tam  aydınlık bir alanda yani üzerine güneş ışığı düşüyorken direnç değeri 5-10 Ω değerleri arasına kadar düşebilir. Tam karanlık bir ortamda yani üzerine az yada hiç ışık düşmezken  direnç değeri 200 MΩ gibi oldukça yüksek direnç değerleri gösterir. Yani foto direnç, üzerine düşen ışık arttıkça direnç değeri lineer olmayan bir şekilde azalır. Bu yüzden ışık şiddetinin artması direnç değerinin düşmesine, ışık şiddetinin azalması ise direnç değerinin artmasına sebep olur.
 Uygulama alanına örnek verirsek; apartman yada çevre aydınlatması gereken yerlerde karanlığın başlamasıyla lambaların aydınlandığını görürüz. Bunlar LDR direncili devreler kullanılarak yapılmaktadır. Bu mantıkla yola çıkarak yaptığımız bu uygulama da ışık şiddetine bağlı olarak mikrodenetleyici çıkışındaki ledlerin kontrolü gerçekleştirilmiştir.

Dikkat edilecek hussus burada ışık şiddetine bağlı olarak artıp - azalan analog okuma sonucunu hassas ayar için serial monitorden ayarlamamız gerekmektedir. Aksi halde set edilen analog değere ulaşamayacağıdan ledler de konum değişikliği olmama söz konusu olabilir.  Işık şiddetine göre karanlık ve aydınlık bölgeyi ayarlayarak ledlerin kontrolünü gerçekleştirebilirsiniz. 

Uygulamaya ait videoyu buradanizleyebilirsiniz.


Uygulamaya ait C kodu :
// Pin tanımlamaları
int lightsensorPin = A0;
int headlightsPin1 = 9;
int headlightsPin2 = 10;
// Değişken tanımlamaları
int switchingthreshold= 700;
int wait = 1000;
long timer = 0;
int value;

DEVRENİN ŞEMASI:


void setup() // ilk kez ayarlar burada yapılır.
{
  pinMode(headlightsPin1,OUTPUT); // 1. led çıkış olarak tanımlanıyor
  pinMode(headlightsPin2,OUTPUT); // 2. led çıkış olarak tanımlanıyor
  Serial.begin(9600); // Seri haberleşme hızı ayarlanıyor
}
// Ana döngü programı burada yazılır
void loop()
{
  value = analogRead(lightsensorPin); // Analog deger ölçülüp value değişkenine atılıyor.
  Serial.println(value); // Deger serial monitor ekranına gönderiliyor.
  delay(100);
  if (value>930) // okunan Analog  değer 930 dan büyükse
  {
    digitalWrite(headlightsPin2,HIGH); //2. ledi aktif et
    digitalWrite(headlightsPin1,LOW);//1. ledi pasif et
  }
  else // okunan Analog  değer 930 dan küçükse
  {
    digitalWrite(headlightsPin2,LOW); //2. ledi pasif et
    digitalWrite(headlightsPin1,HIGH);//1. ledi aktif et
  }
}

arduino ile ldr kontrollu ile ilgili görsel sonucu

KULLANILACAK ARAÇ VE GEREÇLER:
1-) Arduino UNO R3 (1 adet)
2-) LDR (1 adet)
3-) 220 ohm 1/4W direnç (2 adet)
4-) 10Kohm direnç (1 adet)
5-) 1 adet Yeşil, 1 adet Sarı Led
6-) Besleme Adaptörü 9V (1 adet)
7-) USB Kablo (1 adet)
8-) Deney Boardu (1 adet)

LDR:
İlgili resim



Not : LDR ışık şiddetine göre direnç değeri değiştiği için uygulama yapılan alanda okunan analog değere göre ince hassasiyeti ayarlayarak programınızı revize edebilirsiniz. Bende bu değer 930 dur sizde 600 dür. Denemeler yaparak kontrolünüzü değiştiriniz.

Hiç yorum yok:

Yorum Gönder