Bu rehberde, Arduino Uno kontrol kartı kullanarak Su Seviyesi Sensörü (Water Level Sensor) ile sıvı miktarını ölçme ve elde edilen verileri 16x2 I2C LCD Ekran üzerinde anlık olarak görüntüleme uygulamasını inceleyeceğiz.

Bağlantılar yapılırken güç hatları ortaklaştırılmış ve I2C haberleşme protokolü kullanılarak kablo karmaşası en aza indirilmiştir:
Devrenin çalışma mantığı temel olarak üç adımdan oluşur:
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// I2C adresi genellikle 0x27 veya 0x3F olur. (16 sutun, 2 satir)
LiquidCrystal_I2C lcd(0x27, 16, 2);
const int suSensorPin = A0;
int sensorDegeri = 0;
void setup() {
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("Su Seviye Sensori");
lcd.setCursor(0, 1);
lcd.print("Baslatiliyor...");
delay(2000);
lcd.clear();
}
void loop() {
sensorDegeri = analogRead(suSensorPin);
lcd.setCursor(0, 0);
lcd.print("Su Degeri: ");
lcd.print(sensorDegeri);
lcd.print(" ");
lcd.setCursor(0, 1);
if (sensorDegeri < 100) {
lcd.print("Durum: Kuru ");
} else if (sensorDegeri >= 100 && sensorDegeri < 400) {
lcd.print("Durum: Dusuk ");
} else {
lcd.print("Durum: Yuksek ");
}
delay(500);
}
Not: Seviye tespiti yapacağınız suyun içeriğine göre değerlerde değişim olabilir. Uzun vadede sensörde korozyon oluşabilir. Korozyonun etkisini en aza indirmek için sensör beslemesini sadece ölçüm yapılacağı zaman aktif etmek işe yarayabilir. Bunlara dikkat ederek projenizi hazırlarsanız daha verimli sonuçlar elde edersiniz. Henüz yorum yapılmamış. İlk yorumu siz yapın!