plant watering system
OBJECTIVE
To develop an ESP32-based automatic plant watering system that monitors soil moisture, activates a buzzer when levels fall below 500 (dry soil), and stops watering when moisture exceeds 500.
MODULES REQUIRED
- Esp-32
- Potentiometer
- Relay
- Buzzer
SCHEMATIC DIAGRAM
SCHEMATIC CONNECTION
Connect potentiometer:
Connect buzzer:
Connect Relay :
To begin your project, click this template link:
ARDUINO CODE
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
}