-Waters my plants whenever their soil moisture level drops below a predefined value.
-Turns on grow lights, but only when it's dark out and only long enough to make the plants get 15 hours of total light (sunlight + supplemental light) daily.
-Alerts me if the temperature around the plants drops below 50 degrees.
This is the first grow-light and auto-water setup i know of that takes into account natural sunlight received and soil moisture level before turning on water / light.
This and other projects I've built are available as kits / products at my website.
I heavily relied on knowledge / inspiration / encouragement from:
-Mikey Sklarand his many green-tech projects
-Selwyn Pollit's permaculture knowledge
-Mitch Altman, for giving me a long-overdue lesson on how to properly solder
Future expansions might include:
-Teaching my Garduino to brew his own compost tea from greywater.
-Using pulsed, red-and-blue LED grow lights (like Mikey Sklar's setup) to significantly increase efficiency.
-Adding a solar panel and batteries to remove any need for a power grid.
-Testing for soil ph level and air CO2 content.
Remove these ads by
Signing UpStep 1: Obtain Your Materials
The relays:
2 http://www.jameco.com/webapp/wcs/stores/servlet/ProductDisplay?jameco_page=42&langId=-1&productId=187151&catalogId=10001&freeText=omron+g5le-1&storeId=10001&search_type=all&ddkey=http:StoreCatalogDrillDownView
Omron G5LE-1 relays]
2 http://www.jameco.com/webapp/wcs/stores/servlet/ProductDisplay?langId=-1&storeId=10001&catalogId=10001&productId=1537918&
1N4004 diodes]
1 A.C. extension cord
1 A.c. power cord
1 A. C. outlet
The watering system:
1 Tiny clean-water pump
1 Plastic milk jug
~2 Old road bike tubes
1 Milk crate
String
The lighting system:
1 4' fluorescent light fixture
1 "plant type" fluorescent bulb (I used the Ott-Lite, but any bulb marketed as for plants should be fine)
The soil moisture sensor:
2 galvanized nails, 1-4" in length
The light sensor:
1 photocell
The temperature sensor / alert:
1 LED (any you'd use with an Arduino will do)
1 10k-ohm thermistor
The plants and holders:
A variety of seeds, preferably that'll grow into things you'd like to eat. Everywhere, I hear people recommend swiss chard as an easy starter plant...
Planting containers:
As many plastic milk jugs as you'd like. I used ~30.
28-gallon clear plastic storage containers. You'll need one for every 6 milk jugs.
~5 red bricks for each storage container, or anything else that will allow the milk jugs to stand at least an inch off the bottom of the container.
Soil mixture:
I used Mel's Mix, the mixture recommended in "The Square Foot Gardener." It consists of 1/3 peat moss, 1/3 coarse vermiculite, and 1/3 mixed compost, with the mixed compost coming from at least 6 different sources. I've heard lots of people bash peat moss and vermiculite's sustainability (not to mention vermiculite's obscenely-high price), so definitely explore your options here. As I understand it, you want something w/:
-lots of plant nutrients (the mixed compost)
-water retention (peat moss / vermiculite)
-'fluffiness:' soil should be light so plants can easily grow their roots through and you can easily remove plants from it (vermiculite / peat moss)
Tools / Miscellaneous
Multimeter
Wire stripper
Solder
Electrical tape
3 ~10k-ohm resistors
1 ~210-ohm resistor (for the LED)
several feet 22-gauge wire
1 Arduino (in my case a Duemanilove, but any should work)
1 Protoshield (Ladyada's model)
1 mini circuit board
Hot glue gun, with glue



















































Visit Our Store »
Go Pro Today »




From what I can tell, excellent tutorial. I am kind of new to arduino but I really want to try this one out, I figure Im a fast learner.
But the 2nd link on your materials list is broken, or at least doesn't link me to a product that still exists. Just wanted to make sure I got the right diodes. If you could point me in the right direction I'd appreciate it. But then again, I dont even see where you used them, unless I missed something. Thanks again.
The diode must be reverse-biased (positive lead on the negative supply wire, negative lead/band on the positive wire) to short this pulse out. If you don't do this, the reverse EMF can blow up the low-voltage semiconductor that's controlling the solenoid or motor. If you connect the diode "the way you'd expect" it simply shorts the control voltage (very bad). The diode should be as close to the coil as possible for maximum effectiveness. 1N4004 (400 Volts @ 1 amp) diodes are cheap and plentiful, motor controllers are not.
If you're ordering a relay, you may find that you can get one with a built-in diode on the coil. If you're powering your motor or other coil with a mechanical switch (like metal relay contacts) instead of a semiconductor device, you don't need the diode.
http://theon.github.com/plant-watering-with-arduino.html
http://www.farmhack.net/tools
I was wandering if someone already tried to calibrate moisture sensors like you proposed? Yes, and did someone use similar system for hydroponics?
I'm just starting to build my own system and but I will probably switch to hydroponics. Really cool idea and implementation!
Im bringing garduino back to life, I want to play with the ethernet shield.
However, Im getting an error, saying 'DateTime' was not declared in this scope.
Would you know how to fix this?
Thanks
Also, DC is known to be a problem for moisture sensors over time - have you considered AC or are you just replacing your probes often?
With regard to the DC. I have not seen any problems yet with my spikes that have been in the ground for a year., but what you could do is provide the positive feed to yr spikes from an arduino pin and only switch that on right before you measure and then off again ofcourse
I'd recommend checking all components of the system every ~month, or if you notice anything odd. Using galvanized nails seems to help things and, if you really want to play it safer, you can modify the code to only set the pin to the moisture sensors high when you're reading the moisture value.
Hope this helps,
Luke
thank you so much!
tm
I have these pins in the ground for a year now and they still look fine. Since winter is coming, I took them out, gave them a quick clean with a brillo. They will go back in the soil in the spring.
If they really look bad, I will just replace them
The lights are on however.
Is this normal?
moisture sensor reads 614
light sensor reads 107
temp sensor reads 489
seconds elapsed total = 0.00
seconds lit = 0.00
proportion desired = 0.58
proportion achieved = 0.00
moisture sensor reads 627
light sensor reads 118
temp sensor reads 490
seconds elapsed total = 27.00
seconds lit = 0.00
proportion desired = 0.58
proportion achieved = 0.00
do you have a light connected, and is it turning on?
//update time, and increment seconds_light if the lights are on
seconds_for_this_cycle = DateTime.now() - seconds_elapsed_total;
seconds_elapsed_total = DateTime.now() - start_time;
if (light_val > 120)
Thanks!
try connecting a different light or other electrical device, and see if that works. if so, the problem's your light. if not, check connections and verify with the serial log that the lights are actually being triggered. have you run the test code? if so, what happens when it says 'turning light on?'
At some point, the board for the light was giving me tiny electroschocks
I changed them and now they are fine
Where is the test code?
Thanks for this fantastic instructable, I'm currently using it as the basis for a system as part of an art installation. It's my first foray into using Arduino, and as you say, it's ambitious but I'm getting there, slowly but surely!
You can see my progress here: http://iwilltakeyoueverywherebianca.tumblr.com
if you're interested.
Pip
I belive there is no difference with stainless steel except it is an alloy not an electro-plating
there probably is no difference but price
Awsome project. Thanks for all the details. I have pointed people back here
Sillyfunnypedro
thank you!
tm
Download it from here:
http://www.arduino.cc/playground/Code/DateTime
On my Mac, I ended up putting it here:
$ pwd
/Applications/Arduino.app/Contents/Resources/Java/libraries
At the same level as the existing libraries:
$ ls
DateTime DateTimeStrings Ethernet LiquidCrystal SPI SoftwareSerial Stepper
DateTimeBad EEPROM Firmata Matrix Servo Sprite Wire
Restart Arduino and it should show up in the menus under:
Sketch > Import Library
Read more here:
http://www.arduino.cc/en/Main/Libraries
Some basic changes would be to get a 12v pump and a 12v light. Also a regulator would be necessary to get 9v power to the Arduino.
Also I don't have a protoshield.Is it absolutely necessary? I will use a Duemanilove.I will order it in a few weeks.
Kabir
here's a version i did running off a voltaic solar panel . the relays i used will work with dc or ac. if you want to go with a 12volt pump, marine bilge pumps like this appear to be good bets.
and, a protoshield definitely isn't necessary: it just makes wiring the connections to the arduino easier.
best of luck,
luke