Projects Hub, lesson 22 of 81
Automated Plant Watering System with LCD Feedback
Introduction
Houseplants add beauty and freshness to our living spaces, but they require proper care, including consistent watering. However, our busy lifestyles can sometimes make it challenging to maintain an ideal watering schedule. In such cases, an automated plant watering system can be a lifesaver. In this article, we'll explore how to create an automated plant watering system with LCD feedback using Arduino.
Working Principle
The automated plant watering system operates on a simple yet effective principle. It monitors the soil moisture level using a soil moisture sensor and, based on the readings, automatically waters the plant when the soil becomes too dry. To keep the user informed about the system's status, an LCD (Liquid Crystal Display) is used to display the moisture level and system activity.
Things We Need
Before we dive into building the system, let's gather the components required:
- Arduino (e.g., Arduino Uno)
- Soil moisture sensor module
- Water pump
- Tubing and a water reservoir (e.g., a container)
- Transistor (NPN, e.g., 2N2222)
- Diode (e.g., 1N4007)
- Relay module
- LCD screen (16x2)
- Breadboard and jumper wires
- Power source (usually a 12V adapter for the water pump)
Circuit Diagram
To create the circuit for our automated plant watering system, follow this simple schematic diagram:
[Insert Circuit Diagram]
Working of the System with Arduino
Now, let's understand how the system works:
- Soil Moisture Sensing: The soil moisture sensor is inserted into the plant's soil. It measures the moisture level and sends analog readings to the Arduino.
- Arduino Processing: The Arduino continuously reads the soil moisture values. When the moisture level falls below a preset threshold, it triggers the watering process.
- Water Pump Activation: A relay module is used to control the water pump. When the Arduino decides to water the plant, it activates the relay, which, in turn, powers the water pump.
- Water Delivery: Tubing connects the water pump to the plant's pot. When the pump is activated, it delivers an appropriate amount of water to the soil.
- LCD Feedback: The LCD screen displays real-time information about the system, including the moisture level and system activity. Users can easily monitor the plant's status.
Arduino Code
Here's a basic Arduino code snippet to get you started with the automated plant watering system:
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int moistureSensorPin = A0;
int waterPumpPin = 6;
int moistureThreshold = 500; // Adjust as needed
void setup() {
pinMode(waterPumpPin, OUTPUT);
lcd.begin(16, 2);
lcd.print("Plant Watering");
}
void loop() {
int moistureLevel = analogRead(moistureSensorPin);
if (moistureLevel < moistureThreshold) {
lcd.setCursor(0, 1);
lcd.print("Watering...");
digitalWrite(waterPumpPin, HIGH);
delay(5000); // Adjust for watering duration
digitalWrite(waterPumpPin, LOW);
lcd.setCursor(0, 1);
lcd.print(" ");
}
lcd.setCursor(0, 0);
lcd.print("Moisture: ");
lcd.print(moistureLevel);
delay(1000); // Delay between readings
}Conclusion
An automated plant watering system with LCD feedback can help you maintain healthy houseplants effortlessly. By using Arduino and a few simple components, you can create a system that monitors soil moisture levels and waters your plants when needed. With the added LCD display, you can easily keep track of your plant's health and system status. This project not only simplifies plant care but also serves as an excellent introduction to electronics and automation. Enjoy greener, healthier plants without the worry of forgetting to water them!

