Automatic Plant Water Dispenser
by schmidling in Circuits > Arduino
24 Views, 0 Favorites, 0 Comments
Automatic Plant Water Dispenser

The goal of this project is to automatically water a plant. I have lots of plants and when I have to leave my apartment for a long trip or over a school break, I ask one of my roommates to water my plans for me. However, this becomes a problem if they are also leaving for an extended period of time. Even when I am at home, I don’t always remember to water my plants until they are extremely dry. This project will fix all of these issues by both automatically watering my plants when needed and having an alert system to remind me to fill up the tank if I forget to check it.
Supplies

Creating the Tank



To create the tank, you need to create marks on either side of your tank where you want to place the water pumps. Then, you can take a box cutter and carefully carve this shape out of your tank. Make sure that your water pump can easily slide in without large gaps between the pump and the wall of the tank. Attach one end of the tube to the pump and then slide the pump into place. To secure the pumps and create a seal, use hot glue.
Wiring the Water Pumps


The water pumps will be connected to a relay setup in a normally open configuration. As seen in the above photos, the power wires (the two thin red wires) from the two pumps should be secured in the COMS terminal on the relay. The terminal labeled NO for normally open, should be connected to the breadboard and receiving 5V of electricity. Next, the DC+ terminal will be connected to the 3.3V port on the Arduino board. The ground wires attached to the pumps (the thin black wires) and an additional wire connected to ground on the breadboard should be secured in the DC- terminal on the relay. Make sure to connect the ground and power on the breadboard to the Arduino using two wires. Finally, the IN terminal on the relay should be connected with a wire to port 4 on the Arduino.
Adding the Soil Moisture Sensors


Each of the moisture sensors have ports connected to black, red, and yellow wires. The black wire port needs to be connected to ground on the breadboard. The red wire port should be connected to a digital port on the Arduino. For my code, the first sensor will be connected to port 2, the second sensor to port 7, and the third sensor to port 6. The yellow wire port is connected to an analog port on the Arduino board. For my code, the first sensor will be connected to port A0, the second sensor to port A1, and the third sensor to port A2. Finally place the sensors with the point down in the soil. Try to space them evenly in the container and push them in so the soil covers the bottom half of the sensor.
Adding the LED


Place your led into the breadboard as shown in the above images. The longer leg of the LED is the positive side. This is the leg that will require connection to a 330 ohm resister. A wire should be placed to connect the free end of the resister to a digital terminal on the Arduino board. For my code, I chose port 5. Finally, ground the LED by placing a wire to connect the short leg of the LED to a ground space on the breadboard.
Adding the LCD Screen


First, place the LCD in the orientation shown in the images above. The left most pin should be placed in the bottom left corner space of the breadboard. This pin will be referred to as pin 16. The right most pin is pin 1. Also add the potentiometer, placing the three pins in spaces g1, g2, and g3 on the breadboard. Wires need to be added to connect the LCD pins to various locations on the Arduino and breadboard. Below is the list of connections needed.
- Pin 1 - Ground
- Pin 2 - Power
- Pin 3 - Port 8
- Pin 4 - Port 9
- Pin 5 - Port 10
- Pin 6 - Port 11
- Pin 11 - Port 12
- Pin 12 - Ground
- Pin 13 - Port 13
- Pin 14 - Middle Pin of the Potentiometer
- Pin 15 - Power
- Pin 16 - Ground
The right pin on the potentiometer should connect to power. The left pin should connect to ground.
Final Adjustments to Construction
Before running the code, make sure to cut the tubes to the desired length for your setup. The tank also needs to be filled with water.
Run the Code

Download the attached Arduino project code file and run the code. Make sure to complete step 6 to help improve this design for your personal situation.
Downloads
Make Adjustments

Depending on the type of plant you have and container size that you are using, you may need to adjust the location or amount of soil moisture sensors that are being used. If your container is smaller, you may only want to have one or two sensors and adjust the code accordingly. The time that the water pump is actively adding water to the soil may also need to be adjusted by changing the delay associated with the pumps turning on and off. The potentiometer dial may also need to be rotated in order to see the LCD message more clearly.