So I have some soil "wetness" sensors that I intend to use with my Arduino Uno to make a plant water irrigation system.
Essentially the sensors detect a lower resistance when the soil becomes wetter, and consist of a two-tined, forked probe (that sticks down into the soil) and a small interface board. The probe has two wires coming off of it that go into the small interface board that has onboard comparators that, when supplied with some Vcc, will output a high or low voltage based on the soil wetness and a potentiometer that is adjustable to set the appropriate wetness threshold. The horribly written instructions say (I think) that the sensor should NOT have Vcc applied at all times otherwise the forked probe will oxidize badly.
Based on a timer AND the soul wetness sensor, the Arduino will energize a pump for a set duration to pump water on to the plant, then wait an interval, then repeat the process until the interface board senses a resistance value change sufficient to cause a change in the output state (to indicate sufficient wetness).
For bigger plant containers, the time for the water to seep down to the sensor can take awhile, and for me it is very important to NOT have the plant container over-fill with water and seep out of the bottom of the container.
So does anyone know of some code that has already been written that I could tweak or modify to use for my purpose? I plan to use: 1) an Arduino Uno (with an onboard real-time clock from Adafruit); 2) a quad relay shield; 3) four soil wetness sensors (as described above); and 4) four small DC water pumps. This should control the irrigation of four, separate plants. I believe I can add another four relays for controlling up to eight containers, but I am not sure if that is possible with one Arduino Uno. Also how hard would it be to add a data logging shield to an Arduino that already has a two relay shields connected as well?
Any constructive criticism is appreciated.