I have been a mute follower of Arduino since long, and there is a (possibly very common) wish project which I wish to endeavor using it. This is going to be my first attempt at Arduino, and though I am a software engineer, but am not in touch with electronics much. With that as a disclaimer, please hear me out and suggest the best course to for me to begin.
I live in an apartment, and need to save my plans in the balcony from drying up every time I go on a vacation. I have the following things in mind:
I need to water about 8 pots .Some need more water, some need less water. Some may need water twice a day, some may need water just once in 2 days. I would want my project to water the plants on schedule, but be also able to report statistics, and I may monitor using web interface and force water the plants too from there.
I am thinking of a setup where maybe ill group my plants into 2 or 3 sets depending on water requirement. So there will be 2-3 water tubes with T joins in them going to each pot. A very rough diagram is attached to give an idea of my thought plan.
Project would need to keep track of date and time to be able to schedule etc.
Monitor soil moisture level (ideally atleast 2 distinct sensors for large and small pot)
As per time or sensor, turn on/off relay, which can turn on/off an aquarium submersible pump /some way to turn on off water supply
connect via wifi and use maybe something like json to report sensor readings
using above wifi, also accept commands via json etc. to force the relay on/off
I am also hoping I can have some stepper motor or something to be turned on to be able to aim the water pipe in the correct piping system.
Support sleeping/watchdog so that I can save power if running off battery
Which is the least expensive arduino board I should go to be able to achieve this? I am on a tight budget so do not want to buy a board which has more feature than I would need.
I am fine if maybe by paying $5-10 more, if I get a board which has in built in support for wifi etc. to be able to save my first time hassels of having to plug in multiple shields.
I am not sure where to begin and what all parts I need in the most cost effective way
Any suggestions for a better/simpler design?
Possible issue is that I may not find the parts for the tubing/valve/pump etc. easily here as I am not from US
Ive already tried to do exactly what you are doing and I could find
no source of water valves to suit.
Most electronic water valves come in 2 types, either solenoid valves
or ball valves and both are expensive , like $20 each or more.
Neither are designed to control small water flows with a low head
which is what you get with the arrangement you have in mind.
About the only way I could see to do this is with a water pump for each pot
but even using the cheapest pumps I could find , which are small pumps for
car windsceen washers, you are still looking at around $12 per pump.
The Arduino etc is the least costly bit .
Although most pumps are quite expensive, I found a Chinese retailer who was selling some Japtop JT-180 submersible pumps for about £5 each. These are tiny things that run on anything from 3V - 12V and only need a couple of hundred milliamps at the lower voltages. I use an ordinary motor shield to drive them (also Chinese and also only a few quid each).
Using a separate pump for each plant avoids having to deal with any complex valving and so on. And for the 'Mark 1' version without any soil moisture sensors you can just have a single pump supplying a fixed manifold with restrictors to control how much water each plant gets.
There are arduino relay boards on ebay. You might want to just gravity feed the plants from an elevated resevoir and use small servos as valve controls to pinch closed/open rubber/soft plastic tubing going to each plant. Use a float valve from a toilet to keep the resevoir full.
I would suggest that whatever you do, you also plan for "failure modes" - otherwise, you may end up coming back to a flooded apartment and a large bill from your landlord. To that end, I would advise against connection to the "public" water supply, and instead use multiple independent water tanks, one per plant, perhaps of a gallon or so of water each. That way, should one fail, you end up with a small mess and a dead plant, but nothing more serious.
For the water tanks, use something that can be closed (not left open to the air, except for perhaps a small hole for pressure equalization, and cover this hole with fine mesh to discourage any possible mosquito breeding). The tanks should ideally be supported at a higher level than the plants, and gravity feed the water to each plant. You could probably make the tanks out of pieces of PVC or ABS pipe. With appropriate fittings, you could use drip irrigation tubing or copper tubing. For valves, there is a wide variety, but I would go with a small ball valve, and actuate it in some fashion with a servo. Figuring out what kind (torque, size, etc) of servo you need will be the difficult part, mainly due to the amount of torque to open or close the valve being a virtual "unknown" (there are experimental ways to figure this out, though, using a small digital fish scale).
If you are instead able to find a small enough pump that has a high enough head to keep the tanks on the floor, that can work too - but in general, a small pump has a small head; ultimately what you want to avoid (besides dead plants) is coming home to a flooded apartment - think about how to create your system to mitigate or eliminate that possibility from a hardware perspective. The software will be simple comparatively...
I've undertaken a similar project, while my watering needs are minimal, the info may help. I am running two one gallon sized pots/plants, with drip irrigation, and I am using a pump intended for a coffee maker. My pump is strong enough to run two bubblers(drip components), maybe four depending on how open the bubblers/drippers are set. It runs on the same 6v 12ah battery that I am using to power the arduino. I use a logic level mosfet to turn on and off the pump/water. The pump sits in a reservoir, pumps water UP(2-3ish feet) to the drippers, then run off water returns to the reservoir via collection tray, and drainage hoses.
Currently, the system is wireless. I manually run it from my usb and a serial monitor. I plan to adapt it to a timer library on the arduino, and have some overriding moisture/water level sensors(via analog values). I can't see a reason why this couldn't be used with an ethernet shield for monitoring remotely, and controlled via a secure web interface to adjust input variables.
While I really enjoy doing this sort of work, and I like gardening, its easy to get crazy and spend money/time... Its certainly cost/time inhibitive for a lot of people, versus a standard sprinkler timer watering a lot of plants with similar watering needs, but obviously the control over the system isn't quite the same either.
Really rough numbers for you... I think my pump generates nearly 8-10psi, on normal 1/4" drip line and equipment, four plants/drippers would be the max per pump.
Please post updates of your progress/question, even small steps.... I'd like to follow what you are doing.