Arduino Uno-Based Simple Watering System


Introduction

This project involves creating a simple automated watering system using Arduino Uno. The system will automatically water your plants based on soil moisture readings. This project provides an introduction to automated plant care and irrigation using Arduino.

Using Arduino Uno, you can interface with a soil moisture sensor to determine when plants need watering and control a relay to activate a water pump. This project is suitable for beginners and offers practical applications in gardening and plant care.

Let’s go through the materials and steps required to build your automated watering system.

Materials

  • Arduino Uno board
  • Soil Moisture Sensor
  • Relay Module
  • Water Pump
  • Jumper Wires
  • Breadboard
  • USB Cable
  • Computer with Arduino IDE

Instructions

  1. Connect the soil moisture sensor to the Arduino:
    • VCC of sensor to 5V on Arduino
    • GND of sensor to GND on Arduino
    • Signal pin of sensor to analog pin A0 on Arduino
  2. Connect the relay module to the Arduino:
    • VCC of relay module to 5V on Arduino
    • GND of relay module to GND on Arduino
    • IN1 pin of relay module to digital pin 7 on Arduino
  3. Connect the water pump to the relay module according to the relay module’s specifications.
  4. Open the Arduino IDE on your computer.
  5. Write the following code in the Arduino IDE and upload it to your Arduino board.

Explanation

This project uses an Arduino Uno to create an automated watering system. The soil moisture sensor reads the moisture level of the soil, and based on this reading, the Arduino controls a relay to activate the water pump. When the soil moisture level falls below a certain threshold, the relay is activated, turning on the water pump to water the plants.

This project demonstrates basic automation concepts and how to use sensors and relays with Arduino for practical applications. You can adjust the soil moisture threshold and watering interval to suit your needs.



int soilMoisturePin = A0;
int relayPin = 7;
void setup() {
pinMode(relayPin, OUTPUT);
Serial.begin(9600);
}
void loop() {
int soilMoistureValue = analogRead(soilMoisturePin);
Serial.print("Soil Moisture: ");
Serial.println(soilMoistureValue);
if (soilMoistureValue < 500) { // Adjust this threshold as needed digitalWrite(relayPin, HIGH); Serial.println("Watering ON"); } else { digitalWrite(relayPin, LOW); Serial.println("Watering OFF"); } delay(10000); // Wait for 10 seconds before checking again }

Conclusion

Building an automated watering system with Arduino Uno is a practical project that combines electronics with gardening. It provides a convenient way to keep your plants hydrated and introduces fundamental concepts of automation.

Feel free to modify and expand this project to include additional features, such as remote monitoring or automatic scheduling. Arduino offers endless possibilities for automation and smart systems.

Thank you for following this tutorial. We hope you found it helpful and inspiring. Stay tuned for more Arduino projects and automation ideas!

Leave a Comment