Arduino Plant Monitor/Waterer
This project utilizes a few sensors to observe the condition of the soil and uses this reading to determine if it requires watering. The watering is facilitated by a gravity-fed water source, that is opened and closed using a servo motor. The values read from the sensor are shown on the LCD and cycled through by using a button.
An Arduino Uno R3 was used as the board for this project, along with a basic servo motor to control the valve of the watering mechanism. The sensor utilized is the Monk Makes plant monitor that has a capacitance moisture sensor, along with a humidity and temperature sensor. An LCD screen and button were used as an interface to observe the values of these gathered properties. The button cycles through to the next variable each time it is pressed.
Supplies
The watering system uses a valve that is controlled by a servo motor. The water is the dispensed by gravity. The entire watering assembly consists of:
- 3D printed cap
- Hose with valve
- Water bottle
- JB weld
The wiring is quite simple, with most of it being dedicated to the LCD screen. Below is the wiring diagram. A very important note is that the plant sensor cannot be powered by more than 3 volts. If you are using a 5v Arduino board like the one used in this example you must use a 330 ohm resistor for the Rx input wire to the sensor.
Parts required for the circuit:
- Arduino board
- Breadboard
- Monk Makes plant monitor
- Jumper wires
- 16x2 LCD with header pins
- 330-ohm resistor
- 10k potentiometer (for LCD dimming)
- Button
- USB wire for Arduino board
Downloads
Assemble Watering Assembly
The first step is to assemble the watering components. This requires JB welding the valve to the servo motor arm, and then attaching the tube and motor to the 3D-printed cap. Make sure to orient the servo motor correctly when installing the arm, as it can limit the range of motion if not properly clocked.
Assemble Circuit
The next step involves assembling the circuit. The circuit diagram can be seen attached to this step and can be followed to complete this step. Care must be taken to not damage the sensor, as it cannot handle loads above 3 volts. This requires the use of the resistor for the input voltage from the digital pin of the Arduino board.
Run Project
Now with everything assembled the code can be uploaded to the board and run to test the project. Ensure that the servo motor angles are correct to open and close your drip valve, and adjust the moisture threshold for the if statement based on the need of the plant. The video attached showcases how each assembly should function if functioning properly.