Plants liven up any space by adding a sense of airiness and life. That is - of course - when you don't forget to water them, and they shrivel up and die. I am very bad at remembering to water plants. That is why I built this self-watering plant to do it for me. Using a soil sensor, and an Arduino-controlled water pump, I have created a system that will never forget to do it. Instead of remembering to water my plants when the soil goes dry, I only have to remember to once and a while refill the water reservoir. In this way, I have decreased my obligation to these plants and put it off to a much later date. Perhaps further iterations of this device can be connected to a rain barrel so that I won't even have to worry about refilling my reservoir, and the entire system can be fully automated.
Remove these ads by
Signing UpStep 1: Go get stuff
(x1) 8" x 6" x 3" project enclosure (Radioshack #270-1809)
(x1) Multipurpose PC Board (Radioshack #276-150)
(x1) 5VDC SPDT micro relay (Radioshack #275-240)
(x1) 9V battery connector (Radioshack #270-324)
(x1) 9V battery holder (Radioshack #270-326)
(x1) 9V battery (Radioshack #23-853)
(x1) SPST micromini toggle switch (Radioshack #275-624)
(x1) 10K resistor (Radioshack #271-1126)
(x1) Size M coaxial DC power plug (Radioshack #274-1569)
(x1) Red and black 22AWG wire (Radioshack #278-1221)
(x1) 12AWG black wire (Radioshack #278-556)
(x1) Non-submersible electric water pump (via Amazon)
(x1) Water storage container with lid
(x2) 8-32 x 2.5" nuts and bolts
(x8) 4-40 x 1" nuts and bolts
(x1) 4-40 x 3/8" nut and bolt
(x4) 1/4" spacers
(x1) Wire nut
(x2) 3' - 5' plastic tubing
(x1) #8 Terminal Ring
(x1) House plant to water



































































Visit Our Store »
Go Pro Today »




And where does the pump get current frm? From the mains?
It should be:
int dryValue = 700;
I've got a question for you, How well does this work? Am I able to set the amount of water (ML) it will pump to my plant every day?? And how do I do that? Am I able fo adjust something in your code to change that or what?
peace!
Only thing that I'd recommend is adding a diode across the relay winding to protect your Adruino. It is commonly called a flyback diode or a bypass diode.
What can happen is when the relay opens (or closes) you can get a back emf caused by the magnetic fields collapsing on the relay windings. This back emf MAY not be high enough to destroy your arduino but you never want to take a chance.
Good practice is to always add a reverse-biased, high-voltage diode (1A at 400V, e.g., 1N4004, as low as 10 cents each) right at the pins of any wound coil (the relay coil in this circuit) if it's powered with DC from any semiconductor switch. Some relays even come with this diode already installed, so they must observe correct DC polarity. Positive end of the diode goes to the negative side of the circuit, so no current flows during normal use. Reverse-EMF occurs the instant the coil is **de-energized**. An energized coil of wire creates a magnetic field around itself (that's what makes the relay work by pulling the armature/switch). When the power is cut, this magnetic field collapses back into the coil and generates a brief, reverse-biased, high-voltage pulse into the circuit. The reverse-biased diode instantly shorts out this pulse. One pulse may or may not fry your electronics, but repeated blasts over time could easily do so (the bigger the coil, the more powerful the pulse). This is a very cheap addition to any circuit with a relay or solenoid.
I also agree with other posters that the best 'ible includes a schematic drawing to eliminate any confusion and to clarify the idea. Even if you just draw it the way it's laid out on the board, that's fine. Draw it on a piece of paper and shoot a photo.
Great concept and photos, BTW, and lots of good, clear, specific instructions. Thanks, and keep up the good work!
#1 - piezo chirp on plant is too dry (in case the device is activating but no water is present, the plant could get too dry, you would be notified)
-or-
#2 - piezo chirp on reservoir is empty.
Like I said, chirping devices usually drive people nuts, so feel free to replace piezo chirp with "twitter", "smack me in the head with a hammer", or "email my gardener, I don't have time for this ****".
A simple correction to the code would set the dry value whenever the device is turned on. Then, if you want to reset the dry value, simply turn off the device, wait for the dryness that you prefer, then turn it on. It would set to your plant's particular needs.
Thus in the code:
...
int dryValue = 700;
...
Delete the "=700", but be sure to leave the semicolon
Then in the setup section, below the serial communication section but before the closing } add:
...
// Set the "dry" value of soil on turning on the device. If you want to keep your plant more
// watered, set the soil to the minimum dampness before turning on your auto watering device
dryValue = analogRead(analogInPin);
//print the dry value to the serial monitor
Serial.print("dry value = " );
Serial.println(dryValue);
You could place the wiring diagram, it do not really understand how they connect the wires.
Thanks !!!
sorry no English.
Hola muy buen proyecto.
Quisiera saber si es posible que coloques el esquema de conexión de los cables, tanto al modulo del arduino como a los del relevo (relay).
Gracias !!!
http://www.goldmine-elec-products.com/prodinfo.asp?number=G19026
Not sure you can get it to run off 9V, but you could also get a bunch of AA batteries in series to make 12V.
Thanks!
I would like to offer two that might be of also additive...
The first would be to propose using solar with the light sensing (Have the circuit hibernate through the day to prevent watering in high sun... And also have it charge-up)
The second is to remove the pump as is... Since that may oblige you to set a pump per plant as best as I can follow.
Why not set the water source in a rather high location. And then set a series of tubing from it. You can have the tips of the tubes "pinched" with a rather simple rotary action (Sort of like those on most high-pressure water guns with pump action). This would save crossing water with electricity and save some power via gravity doing most the work.
Arduino is definitely not of my strong sides... But shall I ever have the time (With the seriously helpful community on the matter); I would seriously like to see if I can tackle this.
Thank you very much for sharing this great idea with us
My experience with pinch valves from biomedical labs OS that the tubes eventually (not n a very long time) lose their flexibility, causing problems. Also, last I looked into this it was easier and cheaper to find suitable pumps than valves on E-bay.
I think also with some 'user specific' calibration, you wouldnt even need the analog inputs either, making it simpler to program, and to expand. using a combo of SIPO/PISO shift registers or something.
Two features I will be adding to mine will be spill detection and water level sensing but Im planning on doing a larger growing system than a single plant (still indoors though)
This is an incredibly well done 'ible and a great launching point to add more features to.
Step 10 clearly shows the coil wires already attached where they are absent in step 9. Perhaps there should be a step 9.5 stating how long the wires should be and where to attach them.
The other pair of red and black wires is connected to the relay coil.
With this design, you require an Analog to Digital Converter (ADC) for every single plant. The ardiono only has 6. Not to mention a way of turning on and off the water valves for 100 plants.
To solve the limited ADC pins, I'd recommend looking into something called an Analog Multiplexor. What this will do is turn your single ADC pins into many ADC pins (but it can only sample one at a time).
I have no solution of how to control 100 separate valves
seems like i just came up with the solution to my question.. thank you so much for your answer as that was what made me think "what if" now if i can just figure out exactly how to acomplish this feat.
my idea of 100 sensors was me thinking about small waist high planters , that can be moved to a diffrent location every year so you can plant the same vegi in the same place every year, but yet not in the same planter. to raise vegies organicly and no hybredisizing. i took organic crop production 2 years ago.