TOPRAK NEM SENSÖRÜ |
|
 |
|
Toprak nem sensörü, toprağın içindeki nemi ölçmeye yarayan sensördür. Toprak nem ölçerlerinde bulunan problar ölçüm yapılacak bölgede kullanılırlar. Toprağın veya suyun içerisine batırılan problar arasında, meydana gelen dirençten dolayı bir potansiyel fark (gerilim) oluşur. Bu potansiyel farka göre de nem miktarını ölçmek mümkündür. Toprak içerisinde bulunan nem miktarı ile iletkenlik doğru orantılıdır. Nem miktarı arttıkça iletkenlik de artar. Toprak nem ölçer sensöründe bulunan trimpot vasıtası ile hassasiyet ayarlanabilir. |
TOPRAK NEM SENSÖRÜ NASIL ÇALIŞIYOR?
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. Analog modda kullanmayı öğreneceğiz
|
TOPRAK NEM SENSÖRÜ(FC-28) PİN DİYAGRAMI
Toprak Nem sensörü FC-28’in dört pini vardır:
VCC: Voltaj Giriş
GND: Toprak
A0: Analog Çıkış
D0: Dijital Çıkış
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 Nem 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
int sensor_pin = A0;
int okunan_deger =0;
int nem_deger=0;
void setup() {
Serial.begin(9600);
Serial.println("Sensorden veri okunuyor...");
delay(1000);
}
void loop() {
okunan_deger= analogRead(sensor_pin); //sensörden veri okunuyor.
nem_deger = map(okunan_deger,1023,0,0,100); // okunan değeri % oranına çeviriyoruz
Serial.print("Nem: ");
Serial.println(okunan_deger);
Serial.print(nem_deger);
Serial.println("%");
delay(1000);
}
|
 |
Sensöre devamlı elektrik vermek sensörün toprak içinde hasar görmesine sebeb olabilir. sensöre istenildiği zaman elektrik vererek sensörden belirli aralıklarda bilgi alabiliriz bunun için 5 v kırmızı kabloyu cıkarıp 8 nolu pine bağlıyoruz ve aşağıdaki kodu kullanıyoruz
int sensor_pin = A0;
int okunan_deger =0;
int nem_deger=0;
void setup() {
Serial.begin(9600);
pinMode (8,OUTPUT);
Serial.println("Sensorden veri okunuyor...");
delay(1000); }
void loop() {
digitalWrite(8,HIGH);
okunan_deger= analogRead(sensor_pin);
//sensörden veri okunuyor.
nem_deger = map(okunan_deger,1023,0,0,100);
//sensörden okunan değeri % oranına çeviriyoruz
Serial.print("Nem: ");
Serial.println(okunan_deger);
Serial.print(nem_deger);
Serial.println("%");
digitalWrite(8,LOW);
delay(5000); }
|
int sensorPin = 9; //Sensörün takılacağı pin
int ledPin = 8; //Ledin takılacağı pin
int veri; //Sensörden okunan verinin tutulacağı değişken
void setup() {
pinMode(sensorPin, INPUT); //Sensörün takılacağı pini INPUT olarak ayarlıyoruz.
pinMode(ledPin, OUTPUT); //Buzzerın takılacağı pini OUTPUT olarak ayarlıyoruz.
void loop() {
veri = digitalRead(sensorPin); //Sensörden dijital okuma yapıyoruz.
if (veri == true) { //Sensör verisi eşik değerini geçerse if içerisindeki kodlar uygulanır.
digitalWrite(ledPin, HIGH);
delay(100);
digitalWrite(ledPin, LOW);
delay(100);
} else
{ //Sensör verisi eşik değerinden küçük olursa if içerisindeki kodlar uygulanır.
digitalWrite(ledPin, LOW);
}
}
|
|

|
|