Introduction: Watering Your Plant Using an Arduino

Do you have a houseplant you like, but forget to water it too often?
This Instructable will explain how to make a plant watering system powered by Arduino, and how to give your plant a bit more of a personality.
After you followed this instructable through you should have a system with an option to water your plant automatically or doing it yourself with the push of a button.
On the led display which is used you will see how moist the soil is by smileys and text on the screen.

Step 1: What You'll Need

(x1) Arduino UNO (https://www.adafruit.com/product/50)

(x1) USB cable (https://www.adafruit.com/product/62)

(x1)Breadboard (https://www.adafruit.com/product/64)

(x1) soil moisture sensor(https://www.sparkfun.com/products/13322?_ga=2.1058...)

(x1)Panel Mount 1K potentiometer(https://www.adafruit.com/product/1789)

(x?) jumperwires(https://www.adafruit.com/product/1951)(https://www.adafruit.com/product/758)

(x1)16x2 lcd display(https://www.adafruit.com/product/1447)

(x1)Servo motor(https://www.adafruit.com/product/169)

(x2)PCB buttons (https://www.adafruit.com/product/367)

(x1)5mm LED light. (https://www.sparkfun.com/products/9592)

(x1) a plant to water

(x1)wooden wine crate

(x1)flexible rubber/plastic tube

Step 2: Wiring the Components

Do keep in mind that the length of the wires and position of the parts will have to be altered depending on the casing you are going to use. If you are not sure yet how long your wires need to be. Make them very long.

Step 3: Making the Water Supply.

For the casing, I recommend using a wine box, since you can slide the front off very easily.

Drill a big hole in the top, in which a bottle can fit. As long as the bottle has a top you can screw off and can be drilled through, any bottle will do.

Then drill a small hole in the back side of the box(for the cable leading to the servo), a hole at the front which your tube can fit through, and a hole in the bottle you intend to use.

Now fit your servo motor firmly in place. You can do this as seen in the picture or any other way, as long as it can't move in place.

When the above is done lead your tube from the bottle at the top to the servo, and through the hole at the front. as seen in the picture above. The mechanism that will make the water flow on command relies on there being a constant kink in the tube till you turn on the motor which will angle the tube so that the kink is gone and the water can flow.

Perhaps the most challenging part is connecting the tube to the hole in the water bottle in a way so that there isn't any leakage. I managed to stop the leakage using glue and heat shrink tubing.

Step 4: Coding

The soil moisture sensor reacts to every type of soil differently, and every plant needs a different amount of water. Go into the code and find the variable MoistureHigh, MoistureGood, and MoistureLow and change the values depending on the readings the LCD gives when you plug the moisture sensor into the soil of your plant.
You should turn the automatic watering option off when calibrating to prevent your plant from drowning.

Step 5: Housing

If you are done with the above, the system should work. Now you might want to create housing to hide those pesky wires and to protect them from any water. I won't go into the woodworking details of how I made the casing since that would take a while, and there are many good tutorials for that. Just make sure you drill a hole in the top for the moisture sensor and a hole in the back for power supply and some way to see the buttons and led display well.

I hope this instructable helped you to make your own automated plant watering system.