Merhaba arkadaşlar bugün Yağmur Sensörü kullanımını öğreneceğiz ve yine daha önce kullanımını öğrendiğimiz 2×16 LCD Ekrana sensörden aldığımız veriyi yazdıracağız.

Yağmur Sensörü Nedir?

Bu sensör, üzerine yağmur damlaları geldiği zaman yağmur yağdığını algılayan bir sensördür. Hem dijital hem analog çıkış veren bir sensördür.

Özellikler: 

  • PCB boyutları:3.2cmX1.4cm
  • Çalışma Voltajı:3.3V~5V
  • Analog ve dijital çıkışlar
  • 5.5 * 4 cm sensör yüzeyi
  • Dijital çıkış hassasiyeti ayarlanabilir
  • LM393 voltaj karşılaştırıcı

Malzeme Listesi:

Test Aşaması:

Projeyi yapmaya başlamadan önce sensörümüzün sorunsuz çalıştığından emin olmamız gerekiyor. Bunun için 2×16 LCD Ekranı projeye dahil etmeden önce seri ekranda sensörümüzün verdiği değerleri test edelim. Böylece LCD Ekranımızı bağlamadan önce bir sorun olmadığından emin olabiliriz. Test yapmak için aşağıdaki görseldeki gibi sensörümüzü bağlayalım ve aşağıdaki test kodunu Arduino kartımıza yükleyelim.

Test Bağlantı Şeması:

rain sensor test

Test Kodu:

int sensor = 6;
void setup() {
pinMode(sensor, INPUT);
Serial.begin(9600);
}
void loop() {
int Yagmur = digitalRead(sensor);
if(Yagmur == HIGH){
Serial.println("Yağmur Yağmıyor");
}
else
Serial.println("Yağmur Yağıyor");
delay(50);
}

Test Aşaması:

Kodumuzu Arduino’ya yükledikten sonra Seri Ekranımızı açalım ve çıkan değere bakalım. Eğer sensör kuru olduğu halde “yağmur yağıyor” yazıyorsa sensörün devre kartının üzerindeki potansiyometreyi bir tornavida aracılığıyla “yağmur yağmıyor” yazısı gelene kadar çok nazikçe sağa veya sola doğru döndürebiliriz. Daha sonra sensörün algılayıcı kartının paralel iletken levhaların olduğu yüzeyine birkaç damla su damlatalım ve seri ekrandaki değerin “yağmur yağıyor” olup olmadığına bakalım. Eğer hala “yağmur yağmıyor” yazıyorsa yine bir tornavidayla potansiyometreyi Seri Ekrana “yağmur yazıyor” yazısı gelene kadar sağa veya sola doğru nazikçe çevirelim. Bu işlemi su olunca “yağmur yağıyor”, su olmayınca “yağmur yağmıyor” yazacak şekilde dengeye gelene kadar devam ettirelim. Burada bu işlemin kolay olması için bir peçeteyi nemli olacak şekilde ıslatıp su yerine kullanabiliriz. Denemesi daha kolay ve pratik oluyor. Eğer su olunca “yağmur yağmıyor”, su olmayınca “yağmur yağıyor” yazıyorsa sensörün devre kartı ile algılayıcı kartı arasındaki iki kablonun yerlerini değiştirebiliriz. Eğer bu aşamada bir problemle karşılaşırsanız lütfen yorumlar bölümünde bizimle iletişime geçin. Sensörümüzün sorunsuz şekilde çalıştığını anladıktan sonra LCD Ekranımızı kullanmaya geçebiliriz.

Bağlantı Şeması:

2×16 LCD Ekranı I2C Modülü olmadan kullanmak isteyenler için bağlantı şeması:

rain sensor 2x16

2×16 LCD Ekranı I2C Modülü ile birlikte kullanmak isteyenler için bağlantı şeması:

rain sensor I2C

Kod:

2×16 LCD Ekranı I2C Modülü olmadan kullanmak isteyenler için kod satırları:

#include <LiquidCrystal.h>
int sensor = 6;
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); //LCD Ekranımızın pinlerini tanımlıyoruz
void setup() {
pinMode(sensor, INPUT);
Serial.begin(9600);
lcd.begin(16,2); //LCD Ekranımızı başlatıyoruz
}
void loop() {
int Yagmur = digitalRead(sensor); //Sensörden gelen veriyi okuyoruz ve bu veriye "Yagmur" adını veriyoruz
if(Yagmur == HIGH){
lcd.clear(); //LCD Ekranımızı temizliyoruz
lcd.print("Yagmur: "); //LCD Ekranımızın ilk satırına "Yagmur:" yazısını yazdırıyoruz
lcd.setCursor(0, 1); //LCD Ekranımızda "Yagmur: " yazısı ile yağmur durumunu belirten yazılar aynı satıra sığmayacağı için bir satır boşluk bırakıyoruz
lcd.print("Yagmiyor"); //LCD Ekranımızın alt satırına "Yagmiyor" yazısını yazdırıyoruz
Serial.println("Yağmur Yağmıyor"); //Seri Ekranımıza "Yağmur Yağmıyor" yazısını yazdırıyoruz
}
if(Yagmur == LOW){
lcd.clear(); //LCD Ekranımızı temizliyoruz
lcd.print("Yagmur: "); //LCD Ekranımızın ilk satırına "Yagmur:" yazısını yazdırıyoruz
lcd.setCursor(0, 1); //LCD Ekranımızda "Yagmur: " yazısı ile yağmur durumunu belirten yazılar aynı satıra sığmayacağı için bir satır boşluk bırakıyoruz
lcd.print("Yagiyor"); //LCD Ekranımızın alt satırına "Yagiyor" yazısını yazdırıyoruz
Serial.println("Yağmur Yağıyor"); //Seri Ekranımıza "Yağmur Yağıyor" yazısını yazdırıyoruz
}
delay(1000); //Sensörümüzün sağlıklı ölçümler yapabilmesi için ölçümler arasına 300 milisaniyelik bir bekleme süresi bırakıyoruz
}

2×16 LCD Ekranı I2C Modülü ile birlikte kullanmak isteyenler için kod satırları:

#include <LiquidCrystal_I2C.h>
#include <Wire.h>
int sensor = 6;
LiquidCrystal_I2C lcd(0x27, 16, 2);//LCD Ekranımızın I2C adresinin "0x27" olduğunu ve 2 satır 16 sütundan oluştuğunu tanımlıyoruz
void setup() {
pinMode(sensor, INPUT);
Serial.begin(9600);
lcd.begin(); //LCD Ekranımızı başlatıyoruz
}
void loop() {
int Yagmur = digitalRead(sensor); //Sensörden gelen veriyi okuyoruz ve bu veriye "Yagmur" adını veriyoruz
if(Yagmur == HIGH){
lcd.clear(); //LCD Ekranımızı temizliyoruz
lcd.print("Yagmur: "); //LCD Ekranımızın ilk satırına "Yagmur:" yazısını yazdırıyoruz
lcd.setCursor(0, 1); //LCD Ekranımızda "Yagmur: " yazısı ile yağmur durumunu belirten yazılar aynı satıra sığmayacağı için bir satır boşluk bırakıyoruz
lcd.print("Yagmiyor"); //LCD Ekranımızın alt satırına "Yagmiyor" yazısını yazdırıyoruz
Serial.println("Yağmur Yağmıyor"); //Seri Ekranımıza "Yağmur Yağmıyor" yazısını yazdırıyoruz
}
if(Yagmur == LOW){
lcd.clear(); //LCD Ekranımızı temizliyoruz
lcd.print("Yagmur: "); //LCD Ekranımızın ilk satırına "Yagmur:" yazısını yazdırıyoruz
lcd.setCursor(0, 1); //LCD Ekranımızda "Yagmur: " yazısı ile yağmur durumunu belirten yazılar aynı satıra sığmayacağı için bir satır boşluk bırakıyoruz
lcd.print("Yagiyor"); //LCD Ekranımızın alt satırına "Yagiyor" yazısını yazdırıyoruz
Serial.println("Yağmur Yağıyor"); //Seri Ekranımıza "Yağmur Yağıyor" yazısını yazdırıyoruz
}
delay(1000); //Sensörümüzün sağlıklı ölçümler yapabilmesi için ölçümler arasına 300 milisaniyelik bir bekleme süresi bırakıyoruz
}

Başlangıç:

Öncelikle projeyi düzgün bir şekilde çalıştırabilmemiz için test aşamasında suya soktuğumuz sensörümüzün yüzeyini tamamen kurulamamız gerekiyor. Kuruladıktan sonra Arduino’ya güç verelim ve LCD Ekranımızı kontrol ederek yavaşça sensörümüzün üzerine 2-3 damla su damlatalım. Eğer LCD Ekranımızda su olunca “yağmur yağıyor”, su olmayınca “yağmur yağmıyor” yazıyorsa başarılı bir şekilde projeyi tamamlamışız demektir. Eğer su olunca “yağmur yağmıyor”, su olmayınca “yağmur yağıyor” yazıyorsa yukarıda belirttiğimiz gibi sensörün devre kartı ile algılayıcı kartı arasındaki iki kablonun yerlerini değiştirebiliriz. Veya o da işe yaramazsa yazılımdan if(Yagmur == HIGH) yazan satırı if(Yagmur == LOW) olarak değiştirirsek sorunumuz çözülecektir.


Eğer bu proje aşamasında bir sorunla karşılaştıysanız yorum yazmaktan çekinmeyin size yardımcı olmayı çok isteriz! Bu dersimiz işinize yaradıysa ve hoşunuza gittiyse diğer derslerimize göz atmayı unutmayın 🙂


3 YORUMLAR

    • İyi günler,
      Keypad’e girilen değerleri LCD Ekrana yazdıran farklı bir projeden mi bahsediyorsunuz, yoksa bu projeye mi keypad eklemek istiyorsunuz? Eğer farklı bir örnek uygulama yapmamızı istiyorsanız bu proje notlarımız arasında bulunuyor. Fakat bu örnek uygulamaya dahil etmemizi istediğiniz özellikler veya kullanım amacı varsa bu yorum altına belirtirseniz mutlaka dikkate alarak geliştireceğiz örnek uygulamayı.
      İyi çalışmalar dilerim 🙂

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz