Arduino İle Toprak Nem Sensörü Kullanımı
Bu yazıda, Arduino ile toprak nem sensörü nasıl kullanılır bunu öğreneceğiz. Sensörümüzün modeli FC-28’dir. Bu sensör, toprağın içindeki suyun hacimsel içeriğini ölçer ve bize çıkış olarak nem seviyesini verir. Sensör hem analog hem de dijital çıkış olarak çalışmaktadır. Bu sayede hem analog hem de dijital modda kullanılabilir. Yazımızda, sensörü her iki modda da nasıl kullanıldığını anlatacağız.
Toprak Nem Sensörü Nasıl Çalışıyor?
Toprak nem sensörü, suyun hacimsel içeriğini ölçmek için kullanılan iki probdan oluşur. İki prob, akımın topraktan geçmesine izin verir ve ardından nem değerini ölçmek için direnç değerini alır.
Daha fazla su olduğunda, toprak daha fazla elektriği iletecek ve bu da daha az direnç olacağı anlamına gelir. Bu nedenle, nem seviyesi daha yüksek olacaktır. Kuru toprak elektriği zayıf iletir, bu nedenle daha az su olduğunda toprak daha az elektrik iletecektir. Bu da daha fazla direnç olacağı anlamına gelir. Bu sebeble, nem seviyesi daha düşük olacaktır.
Bu sensör iki modda kullanılabilir; analog mod ve dijital mod. Önce analog modda kullanmayı öğreneceğiz daha sonra digital modda kullanacağız.
Toprak Nem Sensörü Teknik Özellikleri
Giriş Voltajı | 3.3V-5V |
Çıkış Voltajı | 0-4.2V |
Giriş Akımı | 35mA |
Çıkış Sinyali | Analog ve Dijital Sinyal |
Toprak Nem Sensörü(FC-28) Pin Diyagramı
Toprak Nem sensörü FC-28’in dört pini vardır:
- VCC: Voltaj Giriş
- A0: Analog Çıkış
- D0: Dijital Çıkış
- GND: Toprak
Modül ayrıca eşik değerini ayarlayacak bir potansiyometre içerir ve daha sonra bu eşik değeri LM393 karşılaştırıcısı tarafından karşılaştırılır. Çıkış LED’i bu eşik değerine göre yanar veya söner.
Toprak Nemi Sensörü Analog Modda Kullanma
Sensörü analog modda bağlamak için sensörün analog çıkışını kullanmamız gerekecek. Toprak nem sensörü FC-28’den analog çıkış alırken sensör bize 0-1023 arası bir değer verir. Nem yüzde olarak ölçülür, bu nedenle bu değerleri 0 -100 arasında göstereceğiz ve ardından bu değerleri seri monitörde göstereceğiz.
Ayrıca nem değerlerinin farklı aralıklarını ayarlayabilir ve buna göre su pompasını açıp kapatabilirsiniz.
FC-28 Analog Mod Devre Şeması
Toprak nem sensörü FC-28’i Arduino’ya bağlamak için bağlantılar aşağıdaki gibidir.
- FC-28’in VCC pinini arduinonun 5V pinine bağlıyoruz
- FC-28’in GND pinini arduinonun GND pinine bağlıyoruz.
- FC-28’in A0 pinini arduinonun A0 pinine bağlıyoruz.
Toprak Nem Sensörü Analog Mod Kodu
//analog sensör pinini tanımlıyoruz
int sensor_pin = A0;
//çıkış değerinin tutulacağı değişkeni tanımlıyoruz.
int output_value ;
void setup() {
//Seri haberleşme hızını ayarlıyoruz
Serial.begin(9600);
//Sensörden veri okunduğunu yazdırıyoruz
Serial.println("Sensorden veri okunuyor...");
delay(2000);
}
void loop() {
//sensörden veri okunuyor.
output_value= analogRead(sensor_pin);
//sensörden okunan değeri % oranına çeviriyoruz.Burada 550 dememizin sebebi çok nemli olduğunda
//550 değerini vermesinden dolayıdır.
output_value = map(output_value,550,0,0,100);
//Nem değerlerini yazdırıyoruz.
Serial.print("Nem: ");
Serial.print(output_value);
Serial.println("%");
delay(1000);
}
Toprak Nem Sensörünü Dijital Modda Kullanma
Toprak nem sensörü FC-28’i dijital modda bağlamak için sensörün dijital çıkışını Arduino’nun dijital pinlerinden bir tanesine bağlayacağız. Sensör modülü, eşik değerini ayarlamak için kullanılan bir potansiyometre içerir. Bu eşik değeri, LM393 karşılaştırıcı kullanılarak sensör çıkış değeri ile karşılaştırılır.
LM393 karşılaştırıcısı, sensör çıkış değeri ile eşik değerini karşılaştıracak ve ardından bize dijital pin üzerinden çıkışı verecektir. Sensör değeri eşik değerinden büyük olduğunda dijital pin bize 5V verecek ve sensör üzerindeki led yanacak ve sensör değeri bu eşik değerinden küçük olduğunda dijital pin bize 0V verecektir ve ışık sönecektir.
FC-28 Dijital Mod Devre Şeması
Toprak nem sensörü FC-28’i Arduino’ya dijital modda bağlamak için bağlantılar aşağıdaki gibidir.
- FC-28’in VCC’si arduinonun 5v’una bağlanmalıdır.
- FC-28’in GND’si arduinonun GND’sine bağlanmalıdır.
- FC-28’in D0 pini arduinonun 8. pinine bağlanmalıdır.
- Ledin + bacağı arduinonun 13.pinine bağlanmalıdır.
- Ledin – bacağı arduinonun GND pinine bağlanmalıdır.
Toprak Nem Sensörü Dijital Mod Kodu
//led pinimizi tanımlıyoruz
int led_pin =13;
//sensör pinimizi tanımlıyoruz
int sensor_pin =8;
void setup() {
//ledimizi çıkış yapıyoruz
pinMode(led_pin, OUTPUT);
//sensör pinimizi giriş olarak ayarlıyoruz
pinMode(sensor_pin, INPUT);
}
void loop() {
//dijital pinimizi okuyoruz ve eğer elektrik geliyor ise
if(digitalRead(sensor_pin) == HIGH){
//ledi yak
digitalWrite(led_pin, HIGH);
} else {
//ledi söndür
digitalWrite(led_pin, LOW);
//1 sn bekle
delay(1000);
}
}
Not: Potansiyometre eşik değerini siz kendinize göre ayarlamalısınız.
Proje videosu: