İlginizi Çekebilir
  1. Ana Sayfa
  2. Arduino
  3. Arduino Ldr Kullanımı
Trendlerdeki Yazı

Arduino Ldr Kullanımı

featured

Bu yazımızda Ldr ışık sensörü kullanımını ele alacaz ve bununla ilgili projeler gerçekleştirecez. Hadi başlayalım.

Ldr Işık Sensörü Nedir ?

Ldr ışık sensörü, üzerine düşen ışığı üzerinde bulunan ışığa duyarlı direnç sayesinde seviyesini tespit etmeye yarayan ve ışık sensörlerinin en temel hali olan pasif bir devre elemanıdır. Bu sensör yardımıyla üzerine düşen ışık demetlerinin ne kadar boyutta olduğunu ölçeriz. Bu değerler genellikle 0 ile 1000 değerleri arasında olmaktadır.

LDR Sensor 1 PNG
LDR Işık Sensörü

Bu sensör aslında oldukça hayatımızın oldukça  büyük biri vardır. En basit bir şekilde telefonlarımızda bu sensör bulunur ve bu sensör sayesinde telefon görüşmesi gerçekleştirdiğimizde ekranın kararmasına neden olur.

Dikkat: Ldr ışık sensörlünde bacaklar farklılık göstermez. Bunun nedeni ise Ldr ışık sensörü bir dirençtir. Bu nedenle Ldr dirençlerde olduğu gibi bacakların yönü yoktur.

Proje 1

Bu projemizde Ldr ısık sensörünün nasıl çalısıtıgı ve serial port ekranında oluşturduğu değerlere göz gezdirecez. Bu projeyi gerçekleştirmek için gerekli olan parçalar şu şekilde;

  • 1 Adet Arduino Uno
  • 1 Adet breadboard
  • 1 Adet Ldr ışık sensörü
  • 1 Adet 10k direnç
  • Jumper kabloları

Yukardaki malzemeleri hazırladıktan sonra simdi projemize başlayalım. Öncelikle  kod satırlarını oluşturalım.

//omerfarukyildiz.com
int pina1 = A1; //Analog pin tanımlıyoruz. 
void setup(){
Serial.begin(9600);//Serial haberleşme açıldı.
}
void loop(){
int LDRokuma = analogRead(pina1); //ldr okuma degikeninini tanımladık ve bunu analogpin1 daki degerleri okumasını soyledik. 
Serial.println(LDRokuma); //Ekrana gelen degerleri yazdırılmasını istedik.
delay(100); //Ekrana gelecek degerlerin sıklığını 10 milisaniye olarak belirledik. 
}

Yukarıdaki kod satırlarında A0 pimin pina0 değişkenine tanımladık ve ardından serial ekranı tanımladık. Bunun ardından analogread komutu ile bilgilerin okunmasını sağladık. Bunları 10 milisaniyede yazılmasını sağladık. Böylelikle Ldr ışık sensörü direnç yapısı sayesinden bize ışık şiddetini 0 ile 1000 arasında değerlerle tanımlayacaktır.  Şimdi ise elektronik semayı Breadboard üzerinde birleştirelim.

LDr 1 proje png
Proje 1 Şeması

Yukarıda ise yazmış olduğumuz kodlar ile çalışacak şekilde Ldr şeması oluşturduk. Öncelikle Ldr ışık sensörünü Breadboard yerleştirdik. Ardından herhangi bir ayağına 10klık bir direnç yerleştirdik. Ardından öncelikle Ldr’in boş kalan ayağına bir jumper kablosu başladık ve bunuda Arduino 5v pinine bağladık. Ardından Ldr diğer ayağının ve direncin bulunulduğu Kısımında bir jumper kablo çekerek Arduino üzerindeki A1 analog girişine bağladık. Ardından ise dirençin boşta olan ayağını ise gnd pinine bağladık. Bununla birlikte devremiz tamamlandı. Bu devrenin değerlerini görebilmek için ise Arduino programının  sol üstteki Araçlar menüsüne tıklayın ve burada bulunan Seri Port Ekranı kısmından çıktılarınıza bakabilirsiniz. Kısa yol olarak Seri Port Ekranını getirmek için ise Ctrl+Shift+M aynı anda tıklayarakta açabilirsiniz.  Seri Port ekranı çıktısıda şu şekilde oluşur.

LDr1
Proje 1 Seri Port Ekranı

Proje 2

Bu projemizde ise Ldr ışık sensörü ile yüksek ışıkta kırmızı yanan düşük ışıkta yeşil yanan ve aşırı yüksek ışıkta ise her iki ledin yandığı projeyi yapacaz. Hadi başlayalım. Öncelikle gerekli malzemeler şu şekildedir;

  • 1 Adet Arduino Uno
  • 1 Adet Breadboard
  • 1 Adet Ldr ışık sensörü
  • 1 Adet 10k direnç
  • 2 Adet 220k direnç
  • 1 Adet yeşil led
  • 1 Adet kırmızı led
  • Jumper kabloları

Malzemeleri hazırladığımızı göre şimdi kodlara geçelim.

//omerfarukyildiz.com
int pina1 = A1; //Analog pin tanımlıyoruz. 
int kirmiziled=8; //Kırmızı ledin pin tanımlıyoruz.
int yesilled=9; //Yesil ledin pin tanımlıyoruz.
void setup(){
Serial.begin(9600);//Serial haberleşme açıldı.
pinMode(kirmiziled, OUTPUT); //Kırmızı ledin pin tanımlıyoruz.
pinMode(yesilled, OUTPUT); //Yesil ledin pin tanımlıyoruz.
}
void loop(){
int LDRokuma = analogRead(pina1); //ldr okuma degikeninini tanımladık ve bunu analogpin1 daki degerleri okumasını soyledik. 
Serial.println(LDRokuma); //Ekrana gelen degerleri yazdırılmasını istedik.
delay(100); //Ekrana gelecek degerlerin sıklığını 10 milisaniye olarak belirledik. 
if(LDRokuma<500) //ldr alınan deger 500den küçük ise bunun altından olan işlemleri yap.
{
  digitalWrite(kirmiziled, LOW); //kırmızı ledi kapat.
  digitalWrite(yesilled, HIGH);  //yesil ledi aç.
}
else if(LDRokuma<1000) //ldr alınan deger 1000den küçük ise bunun altından olan işlemleri yap.
{
  digitalWrite(yesilled, LOW); //yesil ledi kapat.
  digitalWrite(kirmiziled, HIGH); //kırmızı ledi aç.
}
else // eger 1000 den fazla deger varsa bu işlemi yap.
{
  digitalWrite(kirmiziled, HIGH); //kırmızı ledi aç.
  digitalWrite(yesilled, HIGH); //yesil ledi aç.
  delay(1000);
  digitalWrite(yesilled, LOW); //yesil ledi kapat.
  digitalWrite(kirmiziled, LOW); //kırmızı ledi kapat.
  delay(100);
}
}

Proje 1 de oluşturduğumuz kodlar üzerinden giderek if-else yapısı oluşturduk. Bunun ardından oluşturduğumuz yapıda 500 aşağı değer olursa yeşil, 1000 den küçük değer olursa kırmızı ve 1000 üzerinde bir değer olursa kırmızı ve yesil ledler yanıp yanıp sönmeye başlayacaktır. Şimdi ise Elektronik şemasını oluşturalım.

ldr proje 2 PNG
Proje 2 Şeması

Yukarıdaki gibi devre semasını Breadboard üzerinden yerleştiriyoruz. En basta dediğimiz gibi Ldr ışık sensörü bacaklarının yönü yoktur. Yeşil ve kırmızı ledleri 220k dirençlerle yerleştirdikten sonra Arduino üzerindeki 8 ve 9 pinlere + kutuplarını yerleştiriyoruz. Ledlerin bacaklarını anlamak için ise;

led kutuplari min
Ledin Kutupları

 

Bacakların uzunluklarına bakarak anlıyoruz. Bu şemayı gerçekleştirdikten sonra ise düşük ışıkta koşullarında yeşil renk, yüksek ışıklarda kırmızı, Aşırı yüksek ve olumsuz durumda ise kırmızı ve yeşil led yanıp yanıp sönecektir.

Bu projemizin ardından Arduino ile ilgili çeşitli projeler için Tıklayın. , Led kullanımı ile ilgili yazımız için Tıklayın. 

Yorum Yap

Yazar Hakkında

Ben Ömer Faruk. Konya'da Yönetim Bilişim Sistemlerinde öğrenim görmekteyim. Yazılım ve Arduino ilgi duymaktayım.

Yorum Yap

Yorumlar (2)

  1. güzel ve sade bir anlatım olmuş. projeme oldukça katkısı oldu teşekkürler.

Bir cevap yazın

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