Automatic Plant Watering System Using Arduino Nano and DESHBOT Shield

by devkrishnavhora in Circuits > Arduino

144 Views, 1 Favorites, 0 Comments

Automatic Plant Watering System Using Arduino Nano and DESHBOT Shield

The Automatic Plant Watering System is a simple electronics project that automatically waters a plant when the soil becomes dry. The project uses an Arduino Nano, a soil moisture sensor, a water pump, and a DESHBOT Shield.

The soil moisture sensor continuously checks the moisture level of the soil. When the soil becomes dry, the Arduino Nano turns ON the water pump. When the soil has enough moisture, the pump remains OFF.

Supplies

Arduino Nano

DESHBOT Shield

Soil Moisture Sensor

DC Water Pump

Water Pipe

Suitable external power supply for the pump

Connecting wires

Connections

Soil Moisture Sensor

Soil Sensor PinArduino Nano

VCC - 5V

GND - GND

AO - A0

Water Pump

The water pump is connected to the M1 motor slot of the DESHBOT Shield.

The DESHBOT M1 motor control pins are:

DESHBOT M1Nano Pin

M1A - D9

M1B - D8

The pump should be powered through the shield's motor-driver/power system using a suitable supply. The pump should not be powered directly from the Nano.

Working

The soil moisture sensor measures the moisture in the soil.

The sensor sends an analog value to the Arduino Nano through A0.

The Arduino compares the sensor value with a predefined dry-soil threshold.

If the soil is dry, the Arduino turns ON the water pump.

The pump runs for a few seconds and supplies water to the plant.

The pump then turns OFF.

After a short delay, the Arduino checks the soil moisture again.

If the soil is still wet, the pump remains OFF.

Pump Direction

A DC pump has a polarity. If the pump is connected in the opposite direction, its rotation can also be reversed.

If the pump runs in the wrong direction, the motor-control logic can be changed:

// Direction 1
digitalWrite(PUMP_A, HIGH);
digitalWrite(PUMP_B, LOW);

If this direction is opposite to the required direction:

// Direction 2
digitalWrite(PUMP_A, LOW);
digitalWrite(PUMP_B, HIGH);

This allows the pump direction to be changed through the motor driver without changing the Arduino program structure.

Conclusion

The Automatic Plant Watering System is an easy and useful application of Arduino and sensors. It reduces the need for manual watering by automatically detecting dry soil and operating the water pump. This project can be further improved by adding an LCD/OLED display, water-level sensor, adjustable moisture settings, or IoT monitoring.