This instructable is a guide for setting up an automated gardening system using an arduino and other cheap electronic parts.  It allows sustainable gardening by using sensors to determine soil moisture, as well as a webscraper to determine future weather.  It uses this information to save water by only using the requisite amount.   Requirements for this project include experience soldering, some basic programming experience, and much patience for debugging.

See video for example of why we need this.

Step 1: Build-Moisture Sensors

The moisture sensors rely on the resistivity of water to determine the moisture level of the soil.  The sensors measure the resistance between two separate nails by sending a current through one of them and reading a corresponding voltage drop due to a known resistor value.  The more water the lower the resistance, and using this we can determine threshold values for moisture content.
We will use three such sensors and use a multiplexor to alternate reading between them without using more than one arduino analog port.
While we will include a circuit board diagram, we recommend building the circuits on a breadboard first which will allow for both understanding and debugging. 
Each sensor uses two nails, a 100 ohm resistor, and a 100 K-ohm resistor.  We built a casing for each sensor with acrylic tubes, however this is not necessary.
<p>hi guys....</p><p>i need some help.. will b glad if sum1 helps me out...</p><p>ya actually i must let u know dat im in d 9th grade... n im working on a project based on arduino but im facing sum problms with my code....</p><p>my project is about the automatic irrigation system... one who is dealing wid arduino may find this out veryyy familiar but im trying to do sum thing different with it...</p><p>d basic thing is dat the moisture sensor checks the moisture level of the soil and if it finds it low than the required level... the submersible pump pumps d water and irrigates the plant</p><p>.... but wht im doing different is dat..... im going to connect an HC-05 module (bluetooth) and i want that my IRRIGATION SYSTEM AUTHENTICATES ONLY WHEN AN ANDROID DEVICE GETS CONNECTED TO IT....</p><p>and i want this output through an app called bluetooth terminal of an android device..</p><p>Automatic irrigation system..</p><p>Farm no.1</p><p>(having 24 plants)</p><p>System initialising....</p><p>Calculating soil moisture...</p><p>soil moisture=xyz</p><p>Alert!! Soil moisture is low.. // ( if or else needed )</p><p>Calculating temperature...</p><p>temperature=xyz</p><p>temperature favourable for irrigation.... // ( no need of using &quot;if&quot; or &quot;else&quot;... idea is to show the temperature.. thats all... )</p><p>Soil moisure is low.. plants need to be irrigated...</p><p>Irrigation system initialising..</p><p>watering...</p><p>..</p><p>.</p><p>irrigation done!!!!</p><p>NEW soil moisture=xyz</p><p>NEW temperature=xyz</p><p>// and after this a delay of 5 sec.. and the system starts again..</p><p>Automatic irrigation system..</p><p>Farm no.1</p><p>(having 24 plants)</p><p>System initialising....</p><p>Calculating soil moisture...</p><p>soil moisture=xyz</p><p>YUP!! the moisture level is good.. no need of watering... </p><p>Calculating temperature...</p><p>temperature=xyz</p><p>temperature favourable for irrigation....</p><p>but the moisture level is well off... no need of irrigation.. </p><p>NEW soil moisture=xyz</p><p>NEW temperature=xyz</p><p>PLS someone help me out for code... i know that the superiors will no more than half an hr.. for it.....</p><p>pls send me the code on my email.. omkarj1422001@gmail.com </p><p>i hope that sum people wud even hv liked this idea... SO plssssss help me people.. </p>
<p>That was the most painful thing I have read in years. You need to learn to spell, use punctuation and articulate yourself better. The following are not words by the way- </p><p>b, sum1, ya, dat, d, n, problms, wht, veryyy, pls, hv, plsssssss </p>
<p>Great read!! there are other ways that this can be accomplished also.. FYI the device that is being created is similar to an RTD.. one thing that should probably be touched down on... is if you are running your wires any distance, in order to get correct signal response, be sure to shield your wires and run them in pairs AND ground at one and only one place. Noise can develop from many different devices that you have in your home, this would cause in accurate readings. If making the circuit from scratch.. use a wheatstone bridge that has your variable resistor as your moisture sensor and an op-amp for signal conditioning. All you have do to is step your op amp gain in one direction or the other. I recommend 1-5 volts = 0-100% resistance change. Now that you have a upper and lower range signals.. you can now program your arduino to respond to the serial data input by using C programming</p>
<p>Big THX 4 sharing.</p><p>Is the Nail really necessary? Why can't the copper cord just be used as the sensor. </p>
<p>beautiful and relax with eyes .</p>
<p>looks nice - needs some improvements like one mentioned by diy_bloke (pump running dry + delay 24hrs). overall - well done :)</p><p>see my version for big garden: http://www.instructables.com/id/Watering-Garden-with-GARD-A-WATER-Arduino-Project/ </p>
<p>Your project is really cool. What versions of python, serial, beautifulsoup and urllib2 did you use. </p>
<p>Your project is really cool. What versions of python, serial, beautifulsoup and urllib2 did you use. </p>
waw! so cool ! :D
Upon rereading my earlier comments, I realized that maybe my tone as a far as one can detect one in writing, maybe came across with a harshness that I did not intend at all. <br> <br>I am not critical of yr project, not at all, I think it is great, but I just had a couple of questions that hopefully cld help me understand and or learn from
Why would you want the delay of 24 hours? In the video you say it is because it has been watered already so it does not need watering for another day. But then what is the sense of the probes?? <br> <br>If yr probes would indicate that the soil is dry after half a day, yr system just ignores that (as I understand) wouldn't it be easier then to just open yr tap once a day and say 'done' and use the arduino for something completely different? <br> <br>Wouldn't it be more logical to let yr program always react to the readings of the probes. <br>1 if dry give water, if dry within 24 hrs again, water again
just a question. It is indeed smart not to leave yr pump run dry, but if you have a continous waterflow to the tank, then why use a pum at all. Wouldn't it be simpler then to just use an electric valve to open and close the mains water supply? <br> <br>Also, I use galvanized material for my spikes and that works great. <br> <br>Your sensors look fantastic, but it seems a bit overkill to use length of acrylic tube, just to attach 2 nails to. Might as well just put them on the bottom of a bamboo stick with tie wrap, or am i missing a point here? Is there any added value in using the acrylic tubes
Truly remarkable! <br>thank you for posting! i will try something similar this summer
This is awesome! I actually had a project in one of my engineering classes that asked for something just like this. Good job!

About This Instructable


335 favorites

More by dls02010: Garduino-Automated Gardening System
Add instructable to: