#define LedR 13 // LED Merah
#define LedY 12 // LED Kuning
#define LedG 11 // LED Hijau
#define SoilPin A0 // Pin Sensor Soil Moisture
void setup() {
Serial.begin(9600);
pinMode(LedR, OUTPUT);
pinMode(LedY, OUTPUT);
pinMode(LedG, OUTPUT);
pinMode(SoilPin, INPUT);
}
void loop() {
checkSoilMoisture();
delay(1000); // Tunggu sebelum mengulang siklus
}
void checkSoilMoisture() {
double moistureValue = analogRead(SoilPin); // Baca nilai sensor kelembaban tanah
int kelembapan = ((moistureValue - 420) / (905 - 420)) *100;
Serial.print("Nilai mentah: ");
Serial.println(moistureValue);
Serial.print("Kelembapan: ");
Serial.print(kelembapan);
Serial.println(" %");
if (kelembapan <= 45) { // Jika tanah kering (sesuaikan threshold dengan sensor)
Serial.println("Tanah kering! Nyalakan LED merah.");
digitalWrite(LedR, HIGH); // Nyalakan LED merah jika tanah kering
digitalWrite(LedY, LOW); //matikan LED
digitalWrite(LedG, LOW); //matikan LED
} else if (kelembapan > 45 && kelembapan < 75) {
Serial.println("Tanah Lembab! Nyalakan LED kuning.");
digitalWrite(LedR, LOW); //matikan LED
digitalWrite(LedY, HIGH); // Nyalakan LED kuning jika tanah cukup lembab
digitalWrite(LedG, LOW); //matikan LED
} else if(kelembapan >= 75){
Serial.println("Tanah Lembab! Nyalakan LED hijau.");
digitalWrite(LedR, LOW); //matikan LED
digitalWrite(LedY, LOW); //matikan LED
digitalWrite(LedG, HIGH); // Nyalakan LED hijau jika tanah basah
} else {
Serial.println("error");
}
}