Arduino Su - Sıvı Seviye Sensörü Nedir? Nasıl Çalışır?
Arduino Su - Sıvı Seviye Sensörü, sığ su seviyelerini algılamak, sıvı temasını tespit etmek ve yağmur algılama uygulamalarında kullanılmak üzere tasarlanmış analog çıkışlı bir sensör modülüdür. Arduino, Raspberry Pi ve benzeri mikrodenetleyici kartlarla birlikte kullanılabilir.
Bu sensör, üzerindeki iletken algılama yüzeyine su temas ettiğinde analog çıkış değeri üretir. Arduino bu analog değeri okuyarak sensör yüzeyine ne kadar su temas ettiğini yaklaşık olarak yorumlayabilir. Sensör kuru haldeyken düşük değer verir; su temas ettikçe okunan analog değer genellikle artar.
Bu yazıda Arduino Su - Sıvı Seviye Sensörü’nün ne olduğunu, nasıl çalıştığını, teknik özelliklerini, pin yapısını, Arduino UNO ile nasıl bağlandığını, örnek kodunu ve kullanım sırasında dikkat edilmesi gereken noktaları adım adım inceleyeceğiz.
Arduino Su - Sıvı Seviye Sensörü Nedir?
Arduino Su - Sıvı Seviye Sensörü, suyun sensör üzerindeki iletken çizgilere temas etmesiyle çıkış değeri değişen bir algılama modülüdür. Sensörün üzerinde paralel iletken yollar bulunur. Su bu yüzeye temas ettiğinde iletken yollar arasında elektriksel bir etkileşim oluşur ve sensör analog çıkış üretir.
Bu analog çıkış Arduino’nun analog giriş pinlerinden okunabilir. Böylece sensörün kuru, kısmen ıslak veya daha yoğun su temasına sahip olduğu yazılım tarafında anlaşılabilir.
Su - Sıvı Seviye Sensörü Nasıl Çalışır?
Sensörün çalışma mantığı suyun elektriksel iletkenliğine dayanır. Sensör kuru haldeyken iletken yüzeyler arasında su kaynaklı bir iletim oluşmaz ve Arduino düşük bir analog değer okur. Sensör yüzeyine su temas ettiğinde ise iletken yollar arasında elektriksel iletim artar ve analog çıkış değeri değişir.
Arduino UNO gibi kartlarda analog giriş pinleri 0 ile 1023 arasında değer okuyabilir. Su - sıvı seviye sensöründen gelen değer de bu aralıkta okunur. Okunan değer; kullanılan suyun iletkenliğine, sensör yüzeyinin temizliğine, besleme gerilimine ve temas miktarına göre değişebilir.
Genel olarak şu şekilde yorumlanabilir:
| Sensör Durumu | Beklenen Analog Değer | Yorum |
|---|---|---|
| Kuru | Düşük değer | Sensör yüzeyinde su teması yoktur. |
| Kısmen ıslak | Orta değer | Sensör yüzeyine sınırlı miktarda su temas etmiştir. |
| Yoğun temas | Daha yüksek değer | Sensör yüzeyinin daha büyük bölümü suyla temas halindedir. |
Kullanım Videosu
Arduino Su - Sıvı Seviye Sensörü’nün bağlantısını, analog değer okuma işlemini ve Serial Monitor üzerinden test aşamasını aşağıdaki videodan izleyebilirsiniz:
Teknik Özellikler
Arduino Su - Sıvı Seviye Sensörü’nün temel teknik özellikleri aşağıdaki gibidir:
| Özellik | Değer |
|---|---|
| Çalışma Voltajı | 3V - 5V DC |
| Çalışma Akımı | < 20mA |
| Çıkış Tipi | Analog çıkış |
| Algılama Alanı | 40mm x 16mm |
| Çalışma Sıcaklığı | 10°C - 30°C |
| Ürün Boyutları | 62mm x 20mm x 8mm |
| Uyumlu Platformlar | Arduino, Raspberry Pi ve diğer mikrodenetleyiciler |
Sensörün Yapısı
Su - sıvı seviye sensörü temel olarak algılama yüzeyi, bağlantı pinleri ve sensör kartından oluşur. Ürünün ön tarafında suyla temas eden iletken yollar bulunur. Arka veya üst bölümünde ise Arduino’ya bağlantı yapılmasını sağlayan pinler yer alır.
| Bölüm | Görevi |
|---|---|
| İletken Algılama Yüzeyi | Su temasını algılayan ana yüzeydir. |
| Sinyal Çıkışı | Arduino’ya analog veri gönderen çıkıştır. |
| VCC Pini | Sensörün besleme girişidir. |
| GND Pini | Toprak bağlantısıdır. |
Arduino Su - Sıvı Seviye Sensörü Pinleri
Sensör üzerinde genellikle 3 pin bulunur. Bazı modellerde pin isimleri VCC, GND, S olarak; bazı modellerde ise +, -, S şeklinde yazılmış olabilir. Bağlantı yapmadan önce sensör üzerindeki pin isimleri kontrol edilmelidir.
| Sensör Pini | Görevi | Arduino UNO Bağlantısı |
|---|---|---|
| VCC / + | Besleme girişidir. | 5V |
| GND / - | Toprak bağlantısıdır. | GND |
| S / Signal | Analog sinyal çıkışıdır. | A0 |
Arduino ile Kullanım İçin Gerekli Malzemeler
| Gerekli Malzeme | Ürün Linki |
|---|---|
| Arduino Su - Sıvı Seviye Sensörü | Arduino Su - Sıvı Seviye Sensörü |
| Arduino UNO R3 | Arduino UNO R3 Klon + USB Kablo |
| Breadboard | Büyük Breadboard 830 Pin |
| Jumper Kablo | 40 Adet Erkek-Dişi Jumper Kablo 20cm |
Arduino UNO ile Bağlantı Şeması
Arduino Su - Sıvı Seviye Sensörü’nün bağlantısı oldukça basittir. Sensörün VCC pini Arduino’nun 5V pinine, GND pini Arduino’nun GND pinine, sinyal pini ise Arduino’nun analog giriş pinlerinden birine bağlanır. Bu örnekte A0 pini kullanılmıştır.
| Sensör Pini | Arduino UNO |
|---|---|
| VCC / + | 5V |
| GND / - | GND |
| S / Signal | A0 |
Arduino Kod Örneği
Aşağıdaki örnek kod, Arduino Su - Sıvı Seviye Sensörü’nden gelen analog değeri okumak ve Serial Monitor ekranında göstermek için kullanılabilir. Bu kod ile sensörün kuru halde, kısmen ıslakken ve suya temas ettiğinde verdiği değerler gözlemlenebilir.
#define SU_SENSOR A0
int sensorDegeri = 0;
void setup() {
Serial.begin(9600);
}
void loop() {
sensorDegeri = analogRead(SU_SENSOR);
Serial.print("Sensor Degeri: ");
Serial.println(sensorDegeri);
delay(500);
}
Kodun Çalışma Mantığı
İlk olarak sensörün bağlı olduğu analog pin tanımlanır:
#define SU_SENSOR A0
setup() bölümünde Serial Monitor üzerinden değerleri görebilmek için seri haberleşme başlatılır:
Serial.begin(9600);
loop() bölümünde sensörden gelen analog değer okunur:
sensorDegeri = analogRead(SU_SENSOR);
Daha sonra bu değer Serial Monitor ekranına yazdırılır. Böylece sensörün farklı su temas durumlarında nasıl değerler verdiği görülebilir.
Sensör Değerini Yüzdeye Çevirme
Analog sensörden gelen ham değeri doğrudan kullanmak yerine yüzdeye çevirmek daha anlaşılır olabilir. Bunun için Arduino’da map() ve constrain() fonksiyonları kullanılabilir.
int kuruDeger = 0;
int tamSuDeger = 650;
int suYuzdesi = map(sensorDegeri, kuruDeger, tamSuDeger, 0, 100);
suYuzdesi = constrain(suYuzdesi, 0, 100);
Burada kuruDeger, sensör kuru haldeyken okunan değerdir. tamSuDeger ise sensörün algılama yüzeyi suya maksimum seviyede temas ettiğinde okunan değerdir. Bu değerler kullanılan sensöre ve suyun iletkenliğine göre değişebileceği için test edilerek belirlenmelidir.
Kalibrasyon Nasıl Yapılır?
Su - sıvı seviye sensöründe doğru yorumlama yapabilmek için kalibrasyon yapılması önerilir. Çünkü her sensör aynı değeri üretmeyebilir ve kullanılan sıvının iletkenliği okunan değeri etkileyebilir.
- Sensör Arduino’ya bağlanır.
- Yukarıdaki analog okuma kodu Arduino’ya yüklenir.
- Arduino IDE üzerinden Serial Monitor açılır.
- Sensör kuru haldeyken okunan değer not edilir.
- Sensör algılama yüzeyi suya temas ettirilir.
- Suya maksimum temas durumunda okunan değer not edilir.
- Kod içerisindeki kuruDeger ve tamSuDeger değerleri buna göre güncellenir.
Örneğin sensör kuru haldeyken 60, suya temas ettiğinde 620 değeri okunuyorsa değerler şu şekilde ayarlanabilir:
int kuruDeger = 60;
int tamSuDeger = 620;
Daha Stabil Okuma İçin Ortalama Alma
Analog sensörlerde değerler ortam koşullarına göre küçük dalgalanmalar gösterebilir. Daha stabil sonuç almak için birden fazla ölçüm alınarak ortalama hesaplanabilir.
#define SU_SENSOR A0
int sensorDegeri = 0;
void setup() {
Serial.begin(9600);
}
void loop() {
long toplam = 0;
for (int i = 0; i < 10; i++) {
toplam += analogRead(SU_SENSOR);
delay(10);
}
sensorDegeri = toplam / 10;
Serial.print("Ortalama Sensor Degeri: ");
Serial.println(sensorDegeri);
delay(500);
}
Arduino Su - Sıvı Seviye Sensörü Örnek Kodları
Analog okuma kodu, yüzdeye çevirme örneği ve ortalama alma kodlarına GitHub deposu üzerinden erişebilirsiniz.
Arduino Su - Sıvı Seviye Sensörü Nerelerde Kullanılır?
Bu sensör, sıvı temasını veya sığ su seviyesini algılamak gereken birçok Arduino ve otomasyon uygulamasında kullanılabilir. Basit bağlantı yapısı sayesinde özellikle başlangıç seviyesi projeler için uygundur.
- Yağmur algılama sistemleri
- Sıvı seviye kontrol projeleri
- Su taşma uyarı sistemleri
- Su birikintisi algılama devreleri
- Arduino tabanlı otomasyon sistemleri
- Akıllı tarım uygulamaları
- Saksı ve sulama kontrol denemeleri
- Laboratuvar ve eğitim amaçlı sensör uygulamaları
- Analog sensör okuma deneyleri
Sık Karşılaşılan Hatalar ve Çözümleri
- Sensör hiç değer vermiyor: VCC, GND ve S pinleri kontrol edilmelidir. Sinyal pini Arduino’nun analog giriş pinine bağlanmalıdır.
- Değer sürekli sıfıra yakın görünüyor: Sensör yüzeyi suya temas etmiyor olabilir. Ayrıca düşük iletkenliğe sahip sıvılarda değer daha düşük çıkabilir.
- Değer sürekli yüksek görünüyor: Sensör yüzeyi ıslak kalmış olabilir. Sensör kurulanmalı ve tekrar test edilmelidir.
- Değerler çok dalgalanıyor: Analog okumalarda küçük dalgalanmalar normaldir. Daha stabil sonuç için ortalama alma yöntemi kullanılabilir.
- Yüzde hesabı yanlış görünüyor: kuruDeger ve tamSuDeger değerleri sensöre göre yeniden kalibre edilmelidir.
- Sensör zamanla kararıyor: Sensör uzun süre su içinde bırakılmış olabilir. Kullanım sonrası sensör yüzeyi kurulanmalıdır.
Kullanırken Dikkat Edilmesi Gerekenler
- Sensörün VCC, GND ve S pinleri doğru bağlanmalıdır.
- Sinyal pini analog girişe bağlanmalıdır.
- Elektronik bağlantı kısmı suyla temas ettirilmemelidir.
- Sadece algılama yüzeyi suya temas etmelidir.
- Sensör uzun süre su içinde bırakılmamalıdır.
- Kullanım sonrası sensör yüzeyi kurulanmalıdır.
- Farklı sıvılarda okunan değerler değişebilir.
- Saf su gibi düşük iletkenlikli sıvılarda daha düşük değer okunabilir.
- Yüksek voltajlı sistemlerde doğrudan kullanılmamalıdır.
- Endüstriyel ve hassas sıvı seviye ölçümleri için farklı tip sensörler tercih edilmelidir.
Robomer’de Arduino Su - Sıvı Seviye Sensörü
Arduino Su - Sıvı Seviye Sensörü
Sığ su seviyesi ölçümü, yağmur algılama ve sıvı temas tespiti uygulamalarında kullanılabilen analog çıkışlı sensör modülüdür.
Ürünü İnceleSonuç
Arduino Su - Sıvı Seviye Sensörü, su teması, sığ sıvı seviyesi ve yağmur algılama uygulamaları için kullanılabilecek pratik bir analog sensör modülüdür. 3V - 5V DC çalışma aralığı ve analog çıkış yapısı sayesinde Arduino UNO başta olmak üzere birçok mikrodenetleyici kartla birlikte kullanılabilir.
Bu sensör ile analog sensör okuma, Serial Monitor üzerinden veri takip etme, kalibrasyon yapma, eşik belirleme ve basit sıvı algılama uygulamaları öğrenilebilir. Eğitim, hobi ve prototipleme projelerinde kullanımı kolay, öğretici ve düşük maliyetli bir sensör seçeneğidir.
Arduino Sensörleri ve Modüllerini İnceleyin
Su seviye sensörleri, yağmur sensörleri, sıcaklık-nem sensörleri, gaz sensörleri, ekranlar ve temel elektronik modülleri Robomer üzerinden inceleyebilirsiniz.
Robomer Sensörler Kategorisini İncele