Water sensör, suyun varlığını veya yokluğunu algılayarak su sızıntıları veya doluluk tespiti gibi projelerde kullanılır. Ancak, kesin su seviyesi ölçümü için uygun değildir. Bu yazıda, water sensörün temel kullanımıyla su algılama işlemi gerçekleştiren bir proje yapacağız. Projede bir LED ve bir buzzer yardımıyla su algılandığında görsel ve işitsel bir uyarı sistemi oluşturacağız.
Gerekli Malzemeler
- 1 x Arduino Uno (veya uyumlu bir model)
- 1 x Water Sensör
- 1 x LED (kırmızı veya yeşil)
- 1 x 220Ω direnç (LED için)
- 1 x Buzzer (isteğe bağlı, sesli uyarı için)
- Breadboard
- Bağlantı Kabloları
Devre Bağlantıları
Water Sensör
- VCC: Arduino'nun 5V pinine bağlanır.
- GND: Arduino'nun GND pinine bağlanır.
- AOUT: Arduino'nun A0 analog pinine bağlanır.
LED ve Buzzer
LED- Uzun bacağı (anot) Arduino'nun dijital bir çıkış pinine (ör. D9) bağlanır.
- Kısa bacağı (katot) GND'ye bağlanır.
- 220Ω direnç LED'in uzun bacağına seri olarak bağlanmalıdır.
- Pozitif bacağı Arduino'nun bir çıkış pinine (ör. D8) bağlanır.
- Negatif bacağı GND'ye bağlanır.
Arduino Kodu
Aşağıdaki kod, sensörden gelen analog veriyi okuyarak su algılandığında LED'i yakar ve buzzer ile uyarı verir.
const int sensorPin = A0; // Water sensörün analog çıkışı
const int ledPin = 9; // LED pini
const int buzzerPin = 8; // Buzzer pini
void setup() {
pinMode(ledPin, OUTPUT);
pinMode(buzzerPin, OUTPUT);
Serial.begin(9600); // Seri monitörü başlat
}
void loop() {
int sensorValue = analogRead(sensorPin); // Sensör verisini oku
Serial.print("Sensör Değeri: ");
Serial.println(sensorValue);
if (sensorValue < 500) { // Su algılama eşik değeri (örnek olarak 500)
digitalWrite(ledPin, HIGH); // LED yanar
digitalWrite(buzzerPin, HIGH); // Buzzer çalar
Serial.println("Su algılandı!");
} else {
digitalWrite(ledPin, LOW); // LED söner
digitalWrite(buzzerPin, LOW); // Buzzer kapanır
Serial.println("Su algılanmadı.");
}
delay(500); // Kısa bir gecikme
}Kod Açıklamaları
- Sensör Verisi Okuma:
analogRead(sensorPin)ile sensörden gelen veriyi okuyoruz. Su algılanıp algılanmadığını bu değer belirler.
- Eşik Değeri Kontrolü:
- Su algılama işlemi için
500örnek eşik değeri kullanılmıştır. Sensörünüzün performansına göre bu değeri ayarlayabilirsiniz.
- Su algılama işlemi için
- LED ve Buzzer Kontrolü:
- Su algılandığında LED yanar ve buzzer çalar. Su algılanmadığında ise her ikisi de kapanır.
- Seri Monitör:
- Sensör verileri ve su algılama durumu seri monitörde görüntülenir.
Projenin Çalışma Prensibi
- Sensör, suyun varlığını algılar ve analog bir değer üretir.
- Arduino, bu değeri okuyarak belirlediğimiz eşik değeri ile karşılaştırır.
- Su algılandığında LED yanar ve buzzer çalar. Su algılanmadığında her ikisi de kapalıdır.
- Seri monitör, sensör değerlerini ve durum bilgisini sürekli olarak günceller.
Kullanım Alanları
- Ev Güvenliği: Su sızıntısını algılamak için kullanabilirsiniz.
- Akıllı Sulama Sistemleri: Toprağın sulanıp sulanmadığını kontrol etmek için sensör ekleyebilirsiniz.
- Su Deposu İzleme: Su olup olmadığını kontrol etmek için temel bir alarm sistemi oluşturabilirsiniz.
Bu yazıda, water sensörün su algılama amacıyla nasıl kullanılacağını öğrendik. Proje, sensörün temel yeteneklerini anlamak için mükemmel bir başlangıçtır. Daha gelişmiş projeler için bu sensörü diğer modüllerle birleştirerek otomasyon sistemleri geliştirebilirsiniz.
Not: Su seviyesini kesin olarak ölçmek için ultrasonik sensör veya manyetik şamandıra gibi daha gelişmiş sensörler tercih edilmelidir.
Su Seviyesi Algılama ve Uyarı Sistemi
const int sensorPin = A0; // Water sensörün analog çıkışı
const int ledPin = 9; // LED pini
const int buzzerPin = 8; // Buzzer pini
void setup() {
pinMode(ledPin, OUTPUT);
pinMode(buzzerPin, OUTPUT);
Serial.begin(9600); // Seri monitörü başlat
}
void loop() {
int sensorValue = analogRead(sensorPin); // Sensör verisini oku
Serial.print("Sensör Değeri: ");
Serial.println(sensorValue);
if (sensorValue < 100) { // Su seviyesi çok düşük
digitalWrite(ledPin, LOW); // LED söner
digitalWrite(buzzerPin, HIGH); // Buzzer çalar
Serial.println("Su algılanmadı! Su tamamen bitti.");
}
else if (sensorValue < 400) { // Su bitmek üzere
digitalWrite(ledPin, HIGH); // LED yanar
digitalWrite(buzzerPin, HIGH); // Buzzer çalar
Serial.println("Su algılandı! Su bitmek üzere.");
}
else if (sensorValue < 500) { // Su seviyesi az
digitalWrite(ledPin, HIGH); // LED yanar
digitalWrite(buzzerPin, HIGH); // Buzzer çalar
Serial.println("Su algılandı! Su azalıyor.");
}
else if (sensorValue < 600) { // Normal su seviyesi
digitalWrite(ledPin, HIGH); // LED yanar
digitalWrite(buzzerPin, LOW); // Buzzer kapanır
Serial.println("Su algılandı! Su seviyesi normal.");
}
else { // Su seviyesi yüksek
digitalWrite(ledPin, HIGH); // LED yanar
digitalWrite(buzzerPin, LOW); // Buzzer kapanır
Serial.println("Su algılandı! Su seviyesi çok yüksek.");
}
delay(500); // Kısa bir gecikme
}Kod Açıklamaları
Sensör Verisini Okuma
analogRead(sensorPin) fonksiyonu ile sensörden gelen analog veriyi okuyoruz. Bu değer, suyun varlığını ve seviyesini belirlemek için kullanılır.
Su Seviyesi Kontrolü ve Uyarı Mekanizması
< 100 (Çok Düşük Su Seviyesi):
Sensör 100'den düşük bir değer ürettiğinde, buzzer aktif hale gelir ve LED söner. Seri monitör, suyun tamamen bittiğini bildirir.100 - 400 (Su Azalmaya Başladı):
Bu aralıkta hem LED yanar hem de buzzer çalar. Seri monitör, suyun bitmek üzere olduğunu bildirir.400 - 500 (Su Azalıyor):
Sensör 400 ile 500 arasında bir değer ürettiğinde, LED yanar ve buzzer çalar. Seri monitör, suyun azalmakta olduğunu gösterir.500 - 600 (Normal Su Seviyesi):
Bu aralıkta sadece LED yanar ve buzzer kapanır. Seri monitör, su seviyesinin normal olduğunu bildirir.> 600 (Çok Yüksek Su Seviyesi):
Sensör 600'den yüksek bir değer ürettiğinde, sadece LED yanar ve buzzer kapanır. Seri monitör, suyun çok yüksek olduğunu bildirir.
Seri Monitör Kullanımı
Sensör değerleri ve su seviyesine ilişkin bilgiler,Serial.print() fonksiyonu ile sürekli olarak monitörde gösterilir.LED ve Buzzer Kontrolü
LED, suyun varlığını göstermek için; buzzer ise kritik durumlarda uyarı vermek için kullanılır.Gecikme
Her döngüden sonra 500ms gecikme verilerek, sensörün değerleri stabil şekilde ölçmesi sağlanır.Uygulama Alanları
- Ev Güvenliği: Su kaçaklarını tespit ederek uyarı verebilir.
- Su Deposu İzleme: Su seviyesini izleyerek doluluk durumunu gösterebilir.
- Tarım ve Sulama Sistemleri: Su ihtiyacını belirleyip sulama süreçlerini otomatikleştirmek için kullanılabilir.
Bu kod, farklı su seviyesi aralıklarına göre birden fazla uyarı mekanizması içerdiği için özellikle öğrenme amaçlı projelerde etkili bir başlangıç sunar. Sensörün verdiği değerlere göre aralıklar ayarlanabilir.

Bu Gönderiye Yorum Yapılmamış