su-sensoru

SU SENSÖRÜ KULLANIMI

Arkadaşlar bu projemizde sizle beraber su sensörü nü irdeleyeceğiz.  Arduino seti satan klasik dükkanlarda rahatlıkla bulacağınız, o kırmızı zımbırtıyı inceleyeceğiz daha doğrusu inceleyemiyeceğiz.

Nedir Bu Su Sensörü ?

Kısaca, pcb üzerinde su teması olması halinde, iletken hale geçen yarı iletken levhalar olan bir sensördür su sensörü. Onun dışında, 2.5V offset değeri her analog sensörde olduğu gibi bu sensörümüzde de mevcut.

Buradan su sensörü hakkında detaylı inceleme için tıklayınız diyemiyorum. Çünkü su sensörü nün üzerinde ‘’water sensor’’ ibaresinden başka bir şey yazmıyor. İnternette ‘’water sensor’’ ile ilgili datasheet bulamadım. Tedarikçi firmaları taradım.   Sensör hakkında analog olması, şu kadar akım çeker  ve çin üretimli olması dışında bir bilgi yok.

Elimizde datasheet yok. Yani kaç cm veya mm su miktarı için kaç mV değer üretir bilemiyoruz. Tek bildiğimiz klasik analog sensörler için ofset değeri olarak 2.5V vermesi.  Tabi ki eksiler bununla da kalmıyor. Kullanan arkadaşlar çok şikayetçidir eminim. Sensörümüzü sudan çıkarttıktan sonra güzelce bir silmek gerek.

Sensör  üzerinize afiyet, istenmeyen evlat gibi muamele görüyor. Birileri yapıp cami avlusuna bırakıp gitmiş resmen.

Biz de kullanmak isteyen arkadaşlar en azından biraz rahat etsin diye sizi sürekli silme derdinden bari kurtaralım istedik. İnternet üzerinde her yerden bulabileceğiniz klasik kodunu paylaşmak yerine, biz yazılımla biraz filtreleme yaptık.

Böylece sadece su içinde iken sensörümüz değer gönderecek. Sudan çekince sizi silme zahmetine sürüklemeden sensörümüz değer göndermicek. Elimizde datasheet olmadığı için yine, su mesafesi ile alakalı bir ölçüm yapamıyoruz. Olsa bile pek sağlıklı ölçüm yapılabileceğinden emin değilim ama neyse.

Malzemeler

  • 1xArduino
  • 1xSu sensör zımbırtısı
  • 3x dişi-erkek jumper

Program Kodları

int mVperAmp = 185; // nedeni için acs712 nedir adlı makalemize bakın
int a = 0;
int acofset = 2500; // Sensörün 0 volt için dönderdiği değer.(mV cinsinden olduğu için 1000 ile çarptık.
double Volt = 0;
double Amper = 0;

void setup () {
	Serial.begin(9600); // Seri haberleşmeyi başlattık. hata kontrol amaçlı ilerde de sıkça kullanıcaz.
}

void loop () {
	a = analogRead(A0);
	Volt = (a / 1024.0) * 5000; // Sensörden gelen değeri voltoja çevirdik. Yine mv cinsiyle alakadarız.
	Amper = abs((Volt + acofset) / mVperAmp); // Voltajı akıma çevirdik. Mili amper cinsinden.
	Serial.print("Sensörden gelen voltaj = ");
	Serial.print (a);
	Serial.print("\t mV = "); // Sensörden aldığımız voltajı mili volt cinsinden ekrana yazmak için ön hazırlık.
	Serial.print(Volt,3); // Sensörden aldığımız voltajı yazdırdık. Virgülden sonraki 3 haneyi aldık.
	Serial.print("\t Akım = "); // Bizim için önemli kısıma akımı yazdırdığımız kısıma geliyoruz.
	Serial.println(Amper,3); // Nihayet akımı yazıyoruz. virgülden sonra ki üç haneyi alıyoruz yine.
	digitalWrite(3,LOW);
}


Arkadaşlar kodumuz bu şekilde. Daha sağlıklı ölçüm yapmanızı sağlar. Özellikle akıllı ev sistemleri ile uğraşan arkadaşlar, bu sistem piyasada ki akıllı ev sistemlerinde su basması olup olmadığını kontrol ediyor. Sensörümüzü bu şekilde yazılım yolu ile filtreleyerek kullanabilirsiniz. Suya bir kere temas ettikten sonra su içinde olsun olmasın, sürekli yüksek çıkış vermesi sağlıklı bir işlem yapmanıza engel olur.

Elinde sensörün datasheeti olan  bir arkadaş varsa, bize ulaştırma şansı olursa sensörü daha detaylı inceleriz. Daha sağlıklı bir şekilde devresini kurup, daha sağlıklı sonuçlar elde edebiliriz. Suyun cm cinsinden derinliğini hesaplayabiliriz.

Bu projemizde böyle olsun. Sıradaki projemizde görüşmek üzere. 🙂

2 YORUMLAR

    • Siteye önceden eklenip daha sonra silinen Tr-Eng dil paketi yüzünden sorunlar oluşmuş. Sizin aldığınız hata da bu yüzden. Sorunlar düzeltildi umarım faydalı olur

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz