Toprak Nem Sensörü (Analog A0), arduino ve mblock kodları (Arduino Dersleri, 11) Featured

Rate this item
(2 votes)

Bu dersimizde Toprak Nem Sensörü kullanımıyla ilgili analog sinyalleri kullanarak uygulama yapacağız. Bir önceki dersimizde toprak nem sensörünün dijital uygulamasını gerçekleştirmiştik.

Analog ile dijital arasındaki farkı daha önceki derslerimizde görmüştük. Dijital sinyallerle toprak ıslak mı kuru mu değerine bakarken, analog sinyallerle çok daha ayrıntılı değerler alarak proje yapabiliriz. Tamamen kuru, kuru, hafif ıslak, ıslak gibi değerler alabiliriz sayısal veriler üzerinden.
Öncelikle ne yapacağımızı belirleyelim. Toprak tamamen kuru ise kırmızı led yansın, hafif kuru ise sarı led yansın, tamamen ıslak ise yeşil led yansın, hafif ıslak ise mavi led yansın.

Gerekli Malzemeler

1 adet Arduino Uno R3
1 adet  breadboard
1 adet  Toprak Nem Sensörü
4 adet led (1 kırmızı , 1 yeşil,1 mavi,1 sarı)
4 adet direnç (220-330ohm)
10 adet jumper kablo  (5EE,3DE,2DD)


Toprak Nem Sensörü Kullanımı Devresi

Toprak Nem Sensörü Arduino Kodları


Sensörümüzü bu kez analog giriş pinlerinden birine taktık a0 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.

Void Setup kısmında Yeşil, sarı, mavi 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. Buarada analog pinler 10bit veri okudukları için gelen değer 0-1023 arasında olacaktır. Buna göre değer 1000'den büyükse sensörün toprağa batırılan bacakları arasında  iletim yok demektir, yani toprak tamamen kurudur bu durumda kırmızı ledi yakalım. Sonra kendimize eşik değerler bularak diğer kısımları da oluşturalım.

 

int toprak=A0;  
int kled=8;
int yled=7;
int sled=9;
int mled=6;
int deger;
void setup() {
pinMode(kled,OUTPUT);
pinMode(yled,OUTPUT);
pinMode(sled,OUTPUT);
pinMode(mled,OUTPUT);
Serial.begin(9600);
}
void loop() {
deger=analogRead(toprak);
Serial.println(deger);
delay(100);
if  (deger>1000)
{
digitalWrite(kled,HIGH);
digitalWrite(sled,LOW);
digitalWrite(yled,LOW);
digitalWrite(mled,LOW);
Serial.println(deger);
Serial.println("cok kuru");
 }
else if (deger>800)
{
digitalWrite(kled,LOW);
digitalWrite(sled,HIGH);
digitalWrite(yled,LOW);
digitalWrite(mled,LOW);
Serial.println(deger);
Serial.println("hafif kuru");
 }
 else if (deger>400)
{
digitalWrite(kled,LOW);
digitalWrite(sled,LOW);
digitalWrite(yled,LOW);
digitalWrite(mled,HIGH);
Serial.println(deger);
Serial.println("hafif nemli");
 }
 else
 {
digitalWrite(kled,LOW);
digitalWrite(sled,LOW);
digitalWrite(yled,1);
digitalWrite(mled,LOW);
Serial.println(deger);
Serial.println("cok ıslak");
  }
}

Toprak Nem Sensörü Analog Uygulama 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