const int soilMoisturePin = 12; // Potentiometer simulating soil sensor
const int pumpPin = 26; // LED as pump
const int buzzerPin = 27; // Active buzzer
const int moistureThreshold = 500;
void setup() {
pinMode(soilMoisturePin, INPUT);
pinMode(pumpPin, OUTPUT);
pinMode(buzzerPin, OUTPUT);
Serial.begin(9600);
}
void loop() {
int moistureLevel = analogRead(soilMoisturePin);
Serial.print("Moisture level: ");
Serial.println(moistureLevel);
if (moistureLevel < moistureThreshold) {
Serial.println("Soil too dry. Activating pump and buzzer...");
digitalWrite(pumpPin, HIGH);
digitalWrite(buzzerPin, HIGH);
delay(5000); // Simulate watering duration
digitalWrite(pumpPin, LOW);
digitalWrite(buzzerPin, LOW);
Serial.println("Watering complete.");
} else {
Serial.println("Soil moisture level is adequate.");
digitalWrite(pumpPin, LOW);
digitalWrite(buzzerPin, LOW);
}
delay(1000); // Delay between checks
}