Arduino ile programlama - 5: Karanlıkta yanan lamba

Seviye: resimresim

Akıllı şehir uygulamalarında ve akıllı ev sistemlerinde özellikle enerji tasarrufu sağlamak için aydınlatma sistemleri ortamdaki ışığa göre çalışabilmektedir. Ortamdaki ışık belirli bir seviyenin üzerindeyse lamba sönmekte, ışık azaldığında ise lamba yanmaktadır. Bu uygulamada da benzer şekilde Arduino sensor kartına bağlı sensor ile ışık şiddetini ölçerek ışık şiddeti azaldığında karta bağlı LED’i yakan uygulamayı gerçekleştireceğiz.

Grove Işık Sensoru

Grove - Işık sensoru, ışığın yoğunluğunu algılamak için bir foto-direnç (ışığa bağlı direnç) barındırmaktadır. Işık şiddeti arttığında foto direncin direnci azalır. LM358 OpAmp entegresi ise, ışığın yoğunluğuna (yani direnç değerine dayalı olarak) karşılık gelen voltaj üretir. Çıkış sinyali analog değerdir, ışık ne kadar parlaksa değer o kadar büyüktür.
resim

Gerekli Malzemeler

  • Arduino sensor kartı

  • Grove ışık sensoru

  • Grove LED

Devre kurulumu

Deney için şekilde verilen devreyi kurabilirsiniz.

resim

Programlama

Aşağıda verilen program kodunu Arduino IDE’ye yazarak programı Arduino kartına yükleyin.

int LED = 5; //5.Pinde LED olduğu tanımlandı.
int sensor_pin = A3; //A3 Pininde ışık sensörü olduğu tanımlandı.
int sensor_durum = 0; 

void setup() { 
  pinMode(LED,OUTPUT); 
  Serial.begin(9600); //Seri haberleşme başlatıldı.
  digitalWrite(LED,LOW); 
}

void loop() {
  sensor_durum = analogRead(sensor_pin); //A3 pinindeki değer sensor_durum değişkenine atandı.
  Serial.println(sensor_durum); //Okunan değer seri monitöre yazdırıldı.
  delay(50);
  if(sensor_durum > 150)
  {  //sensorün üzerine düşen ışık değeri 150'den büyük ise LED yanmasın.
     digitalWrite(LED,LOW); 
  }
 if(sensor_durum < 150)
  {  // sensorün üzerine düşen ışık değeri 150'den küçük ise LED yansın.
     digitalWrite(LED,HIGH); 
  }
 }