Arduino #6 – LDR (Foto Direnç) ve Serial Monitor
Bu dersimizde basit bir ışık sensörü olan LDR (foto direnç) ile uygulamalar yapacağız. LDR, ortamdaki ışığın şiddetine göre üzerine düşen direnç değerini ters orantılı olarak ayarlayabilen basit bir sensördür.
Direnç değeri aydınlıkta azalır, karanlıkta ise artar. Ne kadar basit desek de hayal gücünüze bağlı olarak çeşitli şekillerde kullanabilirsiniz.
İlk uygulamamızda LDR ile elde edilen verileri bilgisayar ekranında görmemizi sağlayan Arduino IDE’ye ait “Serial Monitor”ü kullanacağız. Daha sonra LDR ile elde edilen verilere göre LED lambaları kontrol edeceğiz.

https://medium.com/franzininho/sensor-de-luz-com-ldr-d974326aa65d
LDR’yi azda olsa tanıdınız peki bu “Serial Monitor” nedir?
Serial Monitor (Seri Port Ekranı) – Arduino ile diğer bilgisayarlar ve cihazlar arasındaki iletişimi sağlar. Örneğin, sensörlerden alınan verileri okuruz veya Arduino veya başka bir cihaz çalışırken o cihaza herhangi bir ileti gönderebiliriz. Serial Monitor’e aşağıdaki hareketli resimde olduğu gibi de ulaşabilirsiniz, Ctrl+Shift+M kısayolunu kullanarakta ulaşabilirsiniz.

Sanırım bu dersle alakalı ön bilgimiz oluştu. Şimdi LDR’nin devreye nasıl bağlanacağına bakalım.

LDR’nin bir bacağını +5V’a (kırmızı kablo), diğer bacağını 10K ohm’luk direnç ile birlikte GND’ye (yeşil kablo) bağlıyoruz. Direnç ve LDR bacaklarının ortak olarak bulunduğu hattan ise Arduino’ya veri göndermek için analog girişlerden herhangi birine (A0, A1, A2, A3, A4, A5) kablo (mavi kablo) çekiyoruz.
ARDUINO IDE
void setup() { Serial.begin(9600); //Seri port ekranını başlatır. //9600-Saniye başına gönderilen ve alınan bit. Genellikle 9600 yazılır. } void loop() { int ldr_deger=analogRead(A4); //A4 pininden okunan değeri ldr_deger değişkenine atadık. Serial.println(ldr_deger); //Seri port ekranına ldr_deger değişkeni üzerindeki değeri yazdırdık. delay(1000);//1 sn'ye beklettik. }
Serial.begin(…) – Seri iletişimi başlatmak için kullanırız. void setup() bölümüne yazılır. Parantez içindeki değer saniye başına gönderilen ve alınan bit anlamına gelmektedir. Genellikle 9600 yazılır fakat seri iletişime geçilecek cihaza göre yazılacak değer değişebilir. Hangi değer yazıldıysa Seri Monitor’de de o değer ilgili kısımdan seçilmelidir.1

Serial.println(…) – Seri Monitor’e herhangi bir şey yazdırmak için kullanırız. Komut her işleyişinden sonra imleç bir alt satıra iner. Eğer bir alt satıra inmeden yazmasını istersek Serial.print(…) şeklinde kullanmalıyız.

Bu uygulamamızda herhangi fiziki bir sonuç göremeyeceğiz. Sadece devrenizi kurup kodlarınız yükledikten sonra yukarıdaki görseldeki gibi LDR’nin belirli ışık seviyelerinde ölçtüğü verileri Serial Monitor’de göreceğiz.
NOT – LDR’nin ölçtüğü veriler kullanılan LDR cinsine veya bağlanan direncin büyüklüğüne göre 0-1023 arasında değişen değerler almaktadır.
UYGULAMA 2 – LDR ile LED Kontrolü
Bu uygulamada LDR’yi kullanarak 3 tane LED’i kontrol edelim. Bir önceki uygulamada LDR’nin ışık seviyesini ölçmesi sonucu elde edilen sayıları Serial Monitor’de gördük. Bu sayıları baz alarak LEDleri ayrı ayrı kontrol edelim. Mesela karanlık bir ortamda sadece kırmızı LED yansın, loş bir ortamda sadece sarı LED yansın, aydınlık bir ortamda sadece yeşil LED yansın.
Bu uygulamaya ait devre görselini ve Arduino kodlarını gizlenmiş olarak aşağıya ekleyeceğim. Artık belli bir seviyeye geldiğinize göre bu uygulamayı aşağıya bakmadan yapabileceğinize inanıyorum 🙂 Daha sonra kontrol etmek için “… GÖSTER”e tıklayarak görüntüleyebilirsiniz.
LDR ve bundan sonra sık sık kullanacağımız Serial Monitor’den bahsetmeye çalıştım. Bu konu ile alakalı değerli soru ve görüşlerinizi yorum olarak paylaşın.
Kaynaklar:
1.Dökmetaş, Gökhan. Arduino Eğitim Kitabı, 2017
Çok güzel olmuş hocam emeğinize sağlık.