Arduino Devreleri #36 Arduino Su Seviye Kontrol Devresi-Yağmur Alarmı

Merhabalar, bu yazımızda Arduino Su Seviye Kontrol Devresi-Yağmur Alarmı uygulaması hakkında bilgi vereceğim. Su seviye sensörü nedir? Nasıl çalışır? Sıvı seviye sensörü kullanarak nasıl yağmur alarm devresi tasarlayabiliriz?  bunlar hakkında bilgilendirme yapacağım.

Arduino programı ayrıntılı kod kısmı, devre bağlantı şeması, devre kurulumu detaylı anlatımı ve devre çalışma videosu şu şekildedir.

SU SEVİYE SENSÖRÜ MODÜLÜ

Su seviye sensörü, birbirine paralel iletken hatların su ile teması sonucu direnç değişimi esasına göre sensör çıkışından analog değer üreten bir devre elemanıdır.

Su seviye sensörü üzerinde +5Volt – GND ve Sinyal çıkış uçları bulunmaktadır. Sinyal çıkışı analog bir değer olduğundan sinyal ucu Arduino üzerinde A0 – A5 pinlerinden birine bağlanmalıdır.

Su seviye sensörünün aldığı değerleri görmek için seri port ekranı ya da LCD ekran kullanılabilir. Seri port ekranından analog sinyal değerlerini okuyarak sensörün su seviyesine göre hangi değerleri aldığını görebiliriz. Sensör sistemde su olmadığında 0 (sıfır) değeri üretmektedir. Su ile temas ettiğinde 400 ile 750 civarında bir değer alınabilmektedir. Sensör suya değdiğinde ilk başta yüksek değer gösterse de aynı su seviyesinde yaklaşık 1 dk içerisinde gösterdiği değer sabitlenmektedir. Kod bölümünde belirtilecek seviye değerlerini buna göre ayarlamakta fayda olacaktır.

Arduino Su seviye sensörü

NOT: Kod bölümü içerisinde yer alan ve // işareti ile başlayan satırlar açıklama satırlarıdır. O satırdaki kod bloğunun ne anlama geldiği ve nasıl çalıştığı ile ilgili bilgi verir. Arduino // işaretli alanı çalıştırmaz. Kod satırından isterseniz // işaret ile başlayan açıklama satırlarını silebilirsiniz.

SU SEVİYESİNİ SERİ PORT EKRANINDA İZLEME

KOD BÖLÜMÜ:


//Arduino Su Seviye Kontrol Devresi Seri Portta İzleme 

int seviye = 0;

void setup()
{
Serial.begin(9600);
}
void loop()
{
seviye = analogRead(A0);
if (seviye=0)
{
Serial.print(seviye);
Serial.println(" Sistemde su bulunmamaktadır");
}
else if (seviye>1 && seviye<=450)
{
Serial.print(seviye);
Serial.println(" Su seviyesi cok az");
}
else if (seviye>451 && seviye<=550)
{
Serial.print(seviye);
Serial.println(" İdeal su seviyesi");
}
else if (seviye>551 && seviye<=600)
{
Serial.print(seviye);
Serial.println(" Su seviyesi maksimum seviyeye yakın");
}
else if (seviye>601)
{
Serial.print(seviye);
Serial.println(" Su seviyesi maksimum seviye üzerinde");
}
delay(1000);
}

DEVRENİN ÇALIŞMASI:

Su seviye sensörünü kademe kademe su dolu bir kap içerisine daldırdığımızda su sensörünün belirli seviyelerinde seri port ekranında belirlediğimiz yazıları görebiliriz. Bu seviyeleri kodlama içerisinden istediğimiz değerlere ayarlayabiliriz.

DEVRE BAĞLANTI ŞEMASI:

Arduino Su Seviye Kontrolü Seri Port İzleme

DEVRE KURULUMU:

Malzemeler:

Arduino Uno
1 adet Su Seviye Sensörü
3 adet bir ucu dişi, diğer ucu erkek jumper kablo

Su seviye sensörü üzerinde yer alan pinlere dişi jumper kabloların uçları yerleştirilir. Sensörün Vcc (+) pini Arduino’nun +5 Volt pinine, sensörün GND (-) pini, Arduino’nun GND pinine, sensörün DATA (S) pini, Arduino’nun A0 numaralı pinine bağlanır. Devremiz bu şekilde tamamlanmış olur.

SU SEVİYESİNİ LED DİYOT İLE İZLEME

KOD BÖLÜMÜ:


//Su Seviye Sensörü Led Diyot İle Kontrolü

int seviye = 0;
int kled = 12; // Kırmızı Led
int sled = 11; // Sarı Led
int yled = 10; // Yeşil Led
int mled = 9; // Mavi Led
int bled = 8; // Beyaz Led
int buzzer = 7; // Buzzer

void setup()
{
Serial.begin(9600);
pinMode(kled, OUTPUT);
pinMode(sled, OUTPUT);
pinMode(yled, OUTPUT);
pinMode(mled, OUTPUT);
pinMode(bled, OUTPUT);
pinMode(buzzer, OUTPUT);
}
void loop()
{
seviye = analogRead(A0);
if (seviye<=300)
{
Serial.print(seviye);
Serial.println(" Sistemde su bulunmamaktadır");
digitalWrite(kled, LOW);
digitalWrite(sled, LOW);
digitalWrite(yled, LOW);
digitalWrite(mled, LOW);
digitalWrite(bled, HIGH);
digitalWrite(buzzer, LOW);
}
else if (seviye>301 && seviye<=450)
{
Serial.print(seviye);
Serial.println(" Su seviyesi cok az");
digitalWrite(kled, LOW);
digitalWrite(sled, LOW);
digitalWrite(yled, LOW);
digitalWrite(mled, HIGH);
digitalWrite(bled, HIGH);
digitalWrite(buzzer, LOW);
}
else if (seviye>451 && seviye<=550)
{
Serial.print(seviye);
Serial.println(" İdeal su seviyesi");
digitalWrite(kled, LOW);
digitalWrite(sled, LOW);
digitalWrite(yled, HIGH);
digitalWrite(mled, HIGH);
digitalWrite(bled, HIGH);
digitalWrite(buzzer, LOW);
}
else if (seviye>551 && seviye<=600)
{
Serial.print(seviye);
Serial.println(" Su seviyesi maksimum seviyeye yakın");
digitalWrite(kled, LOW);
digitalWrite(sled, HIGH);
digitalWrite(yled, HIGH);
digitalWrite(mled, HIGH);
digitalWrite(bled, HIGH);
digitalWrite(buzzer, LOW);
}
else if (seviye>601)
{
Serial.print(seviye);
Serial.println(" Su seviyesi maksimum seviye üzerinde"); 
digitalWrite(kled, HIGH);
digitalWrite(sled, HIGH);
digitalWrite(yled, HIGH);
digitalWrite(mled, HIGH);
digitalWrite(bled, HIGH);
digitalWrite(buzzer, HIGH);
delay(100);
digitalWrite(buzzer, LOW);
delay(100);
}
delay(1000); 
}

DEVRENİN ÇALIŞMASI:

Su seviye sensörünü kademe kademe su dolu bir kap içerisine daldırdığımızda veya üzerine kademeli bir şekilde su serptiğimizde su sensörünün belirli seviyelerinde led diyotlar ışık verecektir. Maksimum su seviyesinde en son led ile birlikte buzzer da alarm verecektir. Led diyotların hangi seviyede ışık vereceğini kodlama içerisinden seviye değerlerini değiştirerek ayarlayabilirsiniz.

DEVRE BAĞLANTI ŞEMASI:

Arduino Su Seviye Kontrol Devresi-Yağmur Alarmı - Alarmlı Led Diyot İle İzleme

DEVRE KURULUMU:

Malzemeler:

Arduino Uno
Breadboard
1 adet su seviye sensörü
5 adet led diyot (Kırmızı, sarı, yeşil, mavi, beyaz)
5 adet 220 Ω Direnç
1 adet buzzer
3 adet bir ucu dişi, diğer ucu erkek jumper kablo
7 adet iki ucu erkek jumper kablo

Su seviye sensörü üzerinde yer alan pinlere dişi jumper kabloların uçları yerleştirilir. Sensörün Vcc (+) pini Arduino’nun +5 Volt pinine, sensörün GND (-) pini, Arduino’nun GND pinine, sensörün DATA (S) pini, Arduino’nun A0 numaralı pinine bağlanır.. Breadboard üzerine 5 adet led diyot yerleştirilir. Led diyotların eksi ucu board üst kısmında eksi bağlantısı sırasına bağlanır. Led diyotların artı uçlarına 220 ohm’luk direnç bağlayarak dirençlerin uçları sırası ile Arduino nun 8, 9, 10, 11 ve 12 numaralı pinlerine bağlanır. Breadboard üzerine buzzer yerleştirilir. Buzzer eksi ucu breadboard üst kısmında eksi bağlantı sırasına denk gelecek şekilde konumlandırılır. Buzzer artı ucu Arduino nun 7 numaralı pinine bağlanır. Breadboardın üst kısmında led diyotların bağlı olduğu kısımdan bir kablo ile Arduino’nun GND pinine bağlantı yapılarak devre tamamlanır.

Arduino Su Seviye Kontrol Devresi-Yağmur Alarmı

Devre hakkında yorumlarınızı aşağıdaki yorum kısmına yazabilirsiniz. Youtube kanalımızda da mBlock ve Arduino ile ilgili ders videoları bulabileceksiniz. Youtube kanalıma abone olmayı da unutmayınız.

https://www.youtube.com/@candemirahmet

Oval@3x 2

Bu ipuçlarını kaçırmayın!

Kayıt butonuna bastıktan sonra e-postanız gelen kutunuza giderek gelen e-postayı onaylamayı unutmayınız. Gelen kutusunda görülmeyen postalar için Önemsiz -Spam klasörünü kontrol edebilirsiniz. Eğer kayıt e-postası ulaşmadıysa iletişim menüsünden bu durumu bildirebilirsiniz.

Yazan: Ahmet Candemir
Teknik Öğretmen - Cisco Instructor - Microsoft MCP - ECDL MS Office Advanced Expert - Adobe Eğitmeni - MEB Fatih Projesi Koordinatörü - Robotik Kodlama Eğitmeni