Plant Manager

by Laukik Ragji in Living > Gardening

6129 Views, 128 Favorites, 0 Comments

Plant Manager

WP_20160325_17_10_02_Raw.jpg
WP_20160325_17_09_06_Raw.jpg
WP_20160325_17_10_28_Raw.jpg
WP_20160325_17_08_49_Raw.jpg
WP_20160325_17_09_18_Raw.jpg

This DIY project is used to automate water delivery to plants keeping them hydrated and refreshed, its a must have for people going on frequent vacations and or having second home where administrating water daily is not feasible.

List of Materials

  1. 3v to 5v DC pump
  2. Arduino Uno
  3. BC547 Transistor
  4. 2K 1/4W 1pcs
  5. 560K 1/4W 2pcs
  6. 1N4007 general purpose diode for clamping EMF
  7. Male to Male header wires
  8. Salin Piping (any medical store)
  9. Container for Water tank
  10. M3 mounting screws
  11. Power bank Larger the better

Total cost approx:500 INR or 7$ to 8$ excluding arduino and power bank

Assembly

WP_20160325_17_16_28_Raw.jpg
WP_20160325_17_16_47_Raw.jpg

The whole project is based on 2 sub parts:

1)Timed water pump

2)Water level tank

1)Timed water pump:

The basic necessity of the given project was to deliver certain amount of water at predefined time, to achieve this i simply put a submersible water pump inside a water reservoir ie the water container now for the quantity of the water delivered i choose time as my unit as it simplifies the design. To deliver it in a timely fashion ie: in this case daily i simply wrote Arduino sketch with a large sleep in the loop function which basically does the following:

Wakeup:

Switch the pump on for 10 Seconds

Sleep for 2 hours

Repeat:

The problem with approach was the pump would run even when the water was not present and giving no indication to user to refill the water container. there comes the next part to play:

2)Water level tank:

There had to be some way to notify Arduino that there was no water in the tank to stop the watering cycle and beep or blink to the user to refill the water.

As simple circuit can be made to check this Resistive method: when water is present between 2 electrodes current will pass through it this happens cause of impurities in the water. when water is absent between the electrodes no current flows air is bad conductor of electricity thus open circuit. though this can easily be read by ADC pins of Arduino but i wanted to conserve those pins for future sensors upgrades to this projects so wanted to convert this digital inputs, i choose the simple method of pulldown resistors 560K which gave me a fair digital output.

Thus now Ardunio knowns when the tank is dry this helps it to stop the watering cycle and Beep a buzzer or Blink an led to indicate its dry.

Combined these two functions in sketch pseudo code for the same looks like below:

WakeUp:

Check water level in tank;

Is it empty then beep to the user:

Else it has water then switch on the pump:

Wait for 10 seconds:

Stop the pump

Sleep for another 2 Hours

Repeat cycle.

Water Level Sensor

Soil Moisture Sensor

Soil Temperature Sesor

Learnings and Improvements

1)Hydrostatic force inside the tank decreases as the level of water drops which doesn't make water delivery consistent compared when tank is full.

2)Placing the water tank above the level where it has to deliver water makes water to be delivered continuously simple physics at play here but i tend to forget it always placing the tank a level above the plants.

3)Need to port this to ESP8266 which will make it IOT project after which it can be monitored by freeboard.io

4)Need compact and elegant case design for this

5) Convert it to Solar charging

6)Improve the water delivery algorithm using soil moisture level, outside temperature and soil temperature parameters.

7)Deep Sleep Mode to conserve battery.

8)Better water level measurement contact-less using IR or Ultrasonic Sensors(Current method creates electrolysis which will erode the metal soon)

Pump Driver Circuit

Ambient Light Sensor

Case Design

There are 4 parts to this projects

1)Tank with pump and water level sensor.

2)All electronics, controller and battery.

3)Soil sensors

4)Solar Panel