Table of Contents

SMART FERTIGATION

The Smart Fertigation System enhances traditional irrigation by integrating fertilization based on soil moisture. It utilizes an Arduino UNO, a soil moisture sensor for detection, a mini water pump driven by a relay module for dispensing fertilized water, and an I2C LCD display for real-time monitoring. Jumper wires connect these components, automating soil hydration and nutrient delivery for optimal plant growth and health.

The Smart Fertigation System integrates advanced technology to enhance plant growth through automated irrigation and fertilization. This system is built around an Arduino UNO microcontroller, which serves as the brain. A soil moisture sensor is embedded in the soil to continuously monitor moisture levels. A mini water pump, controlled by a relay module, is connected to the Arduino to deliver water and fertilizer mixture when needed. An I2C LCD display provides message display on soil moisture readings and system status. The Smart Fertigation System Project represents a significant advancement in agricultural technology by combining irrigation and fertilization into a single automated process. It optimizes water and nutrient delivery based on real-time soil conditions, ensuring plants receive precise care without human intervention. This innovation not only promotes healthier plant growth but also conserves water and reduces labor, making it an environmentally friendly and efficient solution for both  gardeners and agricultural professionals alike.

Component Required :

  1. Arduino UNO
  2. Soil Moisture Sensor
  3. Mini Water Pump
  4. Relay Module
  5. Jumper Wires
  6. Power Supply

Component Descriptions:

  1. Arduino UNO: Microcontroller board based on the ATmega328P, used to read sensor data, control the water pump via relay.
  2. Soil Moisture Sensor: Measures the moisture level in the soil and provides analog output to the Arduino, enabling it to determine when irrigation is needed.
  3. Mini Water Pump: Small pump used for dispensing water and fertilizer to plants based on commands from the Arduino, typically powered by a separate power supply.
  4. Relay Module: Electrical switch controlled by the Arduino to turn the water pump on and off, capable of handling higher voltages and currents than the Arduino itself.
  5. Jumper Wires: Wires used to establish connections between components on a breadboard or circuit, facilitating data and power transmission.
  6. Power Supply: Provides stable voltage and current to the Arduino, soil moisture sensor, relay module, and other components in the system to ensure reliable operation.

Circuit Connection Steps:

  1. Connect the Soil Moisture Sensor:
  1. Connect the VCC pin of the soil moisture sensor to the 5V output of the Arduino.
  2. Connect the GND pin of the soil moisture sensor to the GND of the Arduino.
  3. Connect the AO pin (Analog Output) of the soil moisture sensor to analog pin A0 on the Arduino.
  4. Connect the Relay Module:
  1. Identify the control pins on the relay module .
  2. Connect the VCC or JD-VCC pin of the relay module to the 5V output of the Arduino.
  3. Connect the GND pin of the relay module to the GND of the Arduino.
  4. Connect the control pin (typically marked IN) of the relay module to digital pin 3 on the Arduino.
  5. Power the Components:
  1. Ensure the Arduino and components (soil moisture sensor and relay module) are powered by a 5v supply.
  2. Optionally, if using a water pump, connect its power supply to an appropriate power source (typically 12V) and ensure to connect the pump ground to the Arduino ground to share a common ground.
  3. Upload and Run the Code:
  1. Upload the provided Arduino code to the Arduino UNO using the Arduino IDE.
  2. Open the serial monitor to view the soil moisture readings and verify that the system responds correctly to changes in soil moisture levels.Top of Form
// Define the analog pin for soil moisture sensor and the digital pin for relay
int soil = A0; // Analog pin for soil moisture sensor
int relay = 3; // Digital pin for relay control

void setup() {
  pinMode(soil, INPUT);   // Set soil moisture sensor pin as input
  pinMode(relay, OUTPUT); // Set relay pin as output
  digitalWrite(relay, HIGH); // Initialize relay to off state
  Serial.begin(9600);     // Initialize serial communication for debugging
}

void loop() {
  int soilData = analogRead(soil); // Read analog input from soil moisture sensor
  Serial.print("Soil Moisture: ");
  Serial.println(soilData); // Print soil moisture value to serial monitor

  // Check soil moisture level
  if (soilData > 900) {
    digitalWrite(relay, LOW); // If soil is too dry, turn on relay (activate irrigation)
  } else {
    digitalWrite(relay, HIGH); // If soil is moist enough, turn off relay (stop irrigation)
  }

  delay(1000); // Delay to stabilize readings and avoid rapid switching
}
Scroll to Top