Toprak Nem Sensörü (Dijital D0), arduino ve mblock kodları (Arduino Dersleri, 10) Featured

Rate this item
(2 votes)

Bu dersimizde Toprak Nem Sensörü kullanımıyla ilgili temel bir uygulama yapacağız. Bu uygulamamızda sensörün dijital pinini kullanacağız ve uygulamamıza göre eğer toprak ıslaksa yeşil led yanacak, toprak kuru ise kırmızı led yanacak.

Bir sonraki dersimizde ise daha ayrıntılı değerler okuyacağımız analog giriş ile işlemler yapacağız.

Gerekli Malzemeler

1 adet Arduino Uno R3
1 adet breadboard
1 adet toprak nem sensörü
2 adet led (1 kırmızı , 1 yeşil)
2 adet direnç (220-330ohm)
8 adet jumper kablo  (3EE,3DE,2DD)

Toprak Nem Sensörü nedir?

Toprak nem sensörü toprağın nemini yani ıslaklığını ölçen bir sensördür. İki kısımdan oluşur, birinci kısım toprağa batırılan iki ayak kısmı ve arduino kart ile haberleşme sağlayan mini kart kısmıdır. Toprağa batırıldığında iki bacak arasındaki iletişim ne kadar kuvvetliyse toprağın ıslak olduğunu bize iletir. Bu sensör ile hem analog hem de dijital giriş elde edebiliyoruz. Dijital giriş pinine bağlantı yaparsak toprak ıslak mı kuru mu şeklinde sonuç elde edebiliriz. Ancak sensörün analog pinini giriş olarak bağlarsak 0-1023 arasında değer ile toprağın ıslaklık ve kuruluk durumunu sayısal olarak bize verir. Tamamen kuru, az kuru, biraz ıslak, tamamen ıslak gibi bir çok farklı durum için bir işlem yapabiliriz. Karışıklığa neden olmamak için bu uygulamada sensörün dijital pinini giriş olarak kullanacağız ve 2 led ile işlem yapacağız. Islaksa kırmızı, kuru ise yeşil ledi yak :)
Gerek duyduğunuzda toprak nem sensörü üzerinde bulunan potansiyemetre ile hassasiyetini ayarlayabilirsiniz.

Toprak Nem Sensörü Kullanımı Devresi

Toprak Nem Sensörü Arduino Kodları

Sensörümüzü ve ledlerimizi bağlantı yaptığımız pinlere tanımladık. deger isminde bir değişken oluşturduk sensörden aldığımız veriyi tutması için. Bu arada toprak, kled, yled ismindeki tanımlamalarımızı int şeklinde yaptık ancak #define ile de tanımlama yapabilirdik, çünkü program içinde herhangi bir şekilde bir matematiksel işleme tabi tutulmuyor.
Void Setup kısmında toprak sensörümüz sayesinde dışarıdan veri alacağımız için input yani giriş olarak tanımladık. Yeşil ve kırmızı ledlerimizi output yani çıkış olarak tanımladık. Değerleri ekrandan okumak için serial.begin ile serial ekranı başlattık.

Loop kısmında yani programın sürekli çalıştığı kısımda ise sensörden aldığımız bilgileri deger değişkenine atadık. Ve sonra if deger==1 koşul ifadesiyle toprağın ıslak olup olmadığını anlıyoruz sensörün çalışma mantığına göre. Toprağa batırılan iki bacak arasında iletim olmazsa 1 iletim olduğu anda ise 0 değerini alıyor. Bu arada kodun içinde kullanılan 1 yerine HIGH veya TRUE, 0 yerine LOW veya FALSE ifadesini de kullanabiliriz. Eğer gelen değer 1 ise sensörün bacakları arasında bir iletişim yok yani toprak kuru anlamına gelir, 0 olduğunda ise toprak ıslanmış anlamına gelir. Buna göre ledlerimizi yakıyoruz.

 

 

int toprak=4;
int kled=8;
int yled=7;
int deger;
void setup() {
pinMode(toprak, INPUT);
pinMode(kled,OUTPUT);
pinMode(yled,OUTPUT);
Serial.begin(9600);
}
void loop() {
deger=digitalRead(toprak);
if  (deger==1)
{
digitalWrite(kled,HIGH);
digitalWrite(yled,LOW);
Serial.println(deger);
  }
  else
  {
digitalWrite(yled,HIGH);
digitalWrite(kled,LOW);
Serial.println(deger);
  }
}

 

Toprak Nem Sensörü Mblock Kodları

 

 

CTRL Bizde

Kendi halinde bir kaç kişiyiz,. Karşılaştığımız sorunları çözmek için bazen "çok zaman" harcadığımızı fark edip

devamı

Yeni Eklenenler