Arduino İle Yağmur Sensörü Kullanımı
Merhaba arkadaşlar, bu yazımızda arduino ile yağmur sensörü kullanımını öğreneceğiz. Yağmur sensörü, bir çok alanda kullanılmaktadır. Bunlar; tarım sektöründe çifçilerin sulama sürecini otomatik olarak düzenlemek için kullanılabilir. Ayrıca, sürekli yağış verileri, çiftçilerin yapacakları bu akıllı sistem ile gerekli olduğunda mahsulü otomatik olarak sulamak için kullanmalarına yardımcı olabilir. Aynı şekilde otomobil sektöründe de yağmur algılama sistemi kullanılarak cam silecekleri tam otomatik olarak yapılabilmektedir. Ayrıca Ev Otomasyon Sistemleri, pencereleri otomatik olarak kapatmak ve oda sıcaklığını ayarlamak için yağmur algılamayı da kullanabilir.
Yağmur sensörü, bir karşılaştırıcıya ve bir yağmur algılama plakasından oluşur.

Yağmur modülü, kuru koşullarda besleme gerilimine yüksek direnç sağlayacak şekilde tasarlanmış iki bakır yoldan oluşur. Yağmur şiddeti arttığı zaman sensörden çıkar voltaj değeri düşer. SIcaklık arttığında ve plakanın kuruluğu arttığında çıkış voltajı artar.

Yağmur sensörünün 2 modu vardır. Bunlar dijital ve analog modudur. Dijital modda sadece 5v-0v verir. Bunun sensör üzerindeki potansiyometre ile ayarladığımız eşik değerine göre yapar. Analog modda ise plakadan okuduğu analog veriyi bize vererek sağlar.
Yağmur Sensörü Özellikleri
- Çalışma Voltajı: 3.3v(dijital mod için)-5v(analog ve dijital mod için)
- Sensör Boyutu: 3,9 x 5,4 cm
- Eşik Değeri Ayarlama Potansiyometresi
Arduino İle Yağmur Sensörü Bağlantı Şeması
| Arduino | Sensör |
| 5V | VCC |
| GND | GND |
| DO | D4 |
| AO | AO |
| Sensör | Plaka |
| + | + |
| – | – |

Yağmur Sensörü Analog ve Dijital Mod Kodu
//dijital çıkış pini tanımlanır
const int capteur_D = 4;
//analog çıkış pini tanımlanır
const int capteur_A = A0;
// analog değeri tutacak değişken tanımlanır.
int val_analogique;
void setup()
{
//pinler giriş olarak ayarlandı.
pinMode(capteur_D, INPUT);
pinMode(capteur_A, INPUT);
//seri haberleşme hızı ayarlanıyor.
Serial.begin(9600);
}
void loop()
{
//eğer dijital veriden okunan değer 0v ise
if(digitalRead(capteur_D) == LOW)
{
Serial.println("Digital deger : islak");
delay(10);
}
else
{
//0v değilse
Serial.println("Digital deger : kuru");
delay(10);
}
//analog değer okunur
val_analogique=analogRead(capteur_A);
//analog değer yazdırılır.
Serial.print("Analog deger : ");
Serial.println(val_analogique);
Serial.println("");
//1 sn bekle
delay(1000);
}
