-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 1Obtain 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
| « Previous Step | Download PDFView All Steps | Next Step » |



















































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.
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
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?
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
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
One advice for choosing lamps, cool white fluorescents tend to stimulate the growth of a plant while warm white light usually is better while flowering.
I personally use 75% CW/25% WW while growing and 25% CW/75% WW while flowering, but you may want to read what your type of plant likes best.
And for the sake of convenience, I will use a breadboard instead of a protoshield. The two are fundamentally same isn't it?
//establish start time
start_time = DateTime.now();
seconds_elapsed_total = 0;
Wont comply as "DateTime" was not declared in this scope.
Even though i added the file to arduino complier.