Ders-3: Arduino Foto Direnç (LDR) Kullanımı

Arduino Foto Direnç (LDR) Kullanımı

Arduino Foto Direnç (LDR) Kullanımı: Direnç değeri aydınlıkta azalan, karanlıkta ise artan elemana foto direnç (LDR) denir.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.

Foto Direnç (LDR)

Işık şiddeti farkının kontrol edilmesi gereken tüm elektronik devrelerde kullanılabilir. LDR ışık ile ters orantılı olarak direnç değeri değişen devre elemanıdır.Işık şiddeti arttıkça direnç değeri azalan ışık şiddeti azaldıkça direnç değeri azalan bir elemandır.

LDR Foto Direnç
LDR Foto Direnç Devresi

LDR Foto Direncin bir bacağı +5 V bağlanır. Diğer bacak ise Arduino Uno cartın A0 girişine bağlanır. Ayrıca 10 K ohm direnç ile GND pinine bağlanır.

Ledler anot uçları ise sırası ile Arduino Cartın 4,5,6,7 pinlerine takılır. Ledlerin katot uçları ise 330 ohm luk dirençler ile GND pinine bağlanır.

Aşağıda Arduino devresinin kodları yer almaktadır:

int spin=0;
int lpin1=7;
int lpin2=6;
int lpin3=5;
int lpin4=4;

void setup() {
Serial.begin(9600);
pinMode(lpin1,OUTPUT);
pinMode(lpin2,OUTPUT);
pinMode(lpin3,OUTPUT);
pinMode(lpin4,OUTPUT);
}

void loop() {
int sensorValue=analogRead(spin);
Serial.println(sensorValue);

if (sensorValue>0 && sensorValue<=15){
  digitalWrite(lpin1,LOW);
  digitalWrite(lpin2,LOW);
  digitalWrite(lpin3,LOW);
  digitalWrite(lpin4,LOW);
   
}
if (sensorValue>15 && sensorValue<=30){
  digitalWrite(lpin1,HIGH);
  digitalWrite(lpin2,LOW);
  digitalWrite(lpin3,LOW);
  digitalWrite(lpin4,LOW);
}
if (sensorValue>31 && sensorValue<=45){
  digitalWrite(lpin1,HIGH);
  digitalWrite(lpin2,HIGH);
  digitalWrite(lpin3,LOW);
  digitalWrite(lpin4,LOW);
}
if (sensorValue>46 && sensorValue<60){
  digitalWrite(lpin1,HIGH);
  digitalWrite(lpin2,HIGH);
  digitalWrite(lpin3,HIGH);
  digitalWrite(lpin4,LOW);
}
if (sensorValue>61 && sensorValue<80){
  digitalWrite(lpin1,HIGH);
  digitalWrite(lpin2,HIGH);
  digitalWrite(lpin3,HIGH);
  digitalWrite(lpin4,HIGH);
}
delay (100);
}

Öncelikler spin, lpin1,lpin2ilpin3 ve lpin4 değişkenleri oluşturulmaktadır. spin değişkeni LDR girişi, diğerleri ise LED lerin girişleridir. Void setup içerisine LED lerin çıkışları belirtilmelidir.

int sensorValue=analogRead(spin);
komutu ile spin bacağındaki Analog okuması gerçekleştirilir ve sensorValue değişkenine 0-255 arası değer aktarılır. Burası programın döngü kısmı olduğu için bu değer ışık şiddetine göre devamlı değişebilmektedir. Daha sonra if yapıları içerisinde sensorValue değişkeninin alacağı değerlere göre LED lerin bacaklarına +5V gönderilmektedir.

LED dersi için tıklayınız…

Bu görsel boş bir alt niteliğe sahip; dosya adı LDR_0.jpgBu görsel boş bir alt niteliğe sahip; dosya adı LDR_1.jpg
Bu görsel boş bir alt niteliğe sahip; dosya adı LDR_2.jpg
Arduino Foto Direnç (LDR) Kullanımı

You may also like...

Bir cevap yazın

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