2013-12-29

Arduino: Fotosel ile yanıp sönen LED

/* 
 Fotosel ışık ile karşılaşınca direnci artan bir eleman. 
 Bu devre çalıştırıldığında Fotosel ışık alınca LED yanıp sönme hızı yavaşlar.
 Fotosel'e gelen ışık azalınca LED hızlı yanıp söner.
 Fotosel (LDR) bir ucu 5V'a diğer ucu Analog 0'a bağlı.
 Fotosel'in diğer ucu 10K dirence, direnç ise toprağa bağlanacak.
*/
 
int photocellPin = 0;     // Fotosel ve 10K a0'a bağlı
int photocellReading;     // Analog 0'dan okunacak değer
// Arduino devrelerinde bulunan 13 nolu LED'e verdiğimiz isim: "led".

int led = 13;

void setup(void) {
  // Fotosel'den okunan değer serial monitör'e gönderilecek
  Serial.begin(9600);   
  // 13 nolu Digital pin'i OUTPUT moduna ayarlar
  pinMode(led, OUTPUT);   
}
 
void loop(void) {
  photocellReading = analogRead(photocellPin);  
 
  Serial.print("Analog reading = ");
  Serial.print(photocellReading);     // okunan analog değer
 
  // Işık şiddetine isim vereceğiz
  if (photocellReading < 20) {
    Serial.println(" - Karanlık");
  } else if (photocellReading < 200) {
    Serial.println(" - Loş");
  } else if (photocellReading < 500) {
    Serial.println(" - Aydınlık");
  } else if (photocellReading < 800) {
    Serial.println(" - Parlak");
  } else {
    Serial.println(" - Çok parlak");
    
  }
// LED'i yakıp söndürür

  digitalWrite(led, HIGH);   // LED'i açar
  delay(photocellReading);   // bekleme süresi = fotosel değeri
  digitalWrite(led, LOW);    // LED'i kapatır
  delay(photocellReading);   // bekleme süresi = fotosel değeri

}



Hiç yorum yok: