Context
Automatic watering of a plant or garden and graphing the moisture % over time.
Moisture is displayed as a % and categorised as Dry, Moist, or Wet; with water being applied by pump when Dry and stopping when Moist or Wet. Water can also be applied by hand
Accessories (Gravity)
Analog Soil Sensor for Arduino | SEN0114 | |
Analog Capacitive Soil Moisture Sensor | SEN0193 | |
MOSFET Power Controller [Note] | DFR0457 | |
DC Mini Immersible Water Pump (6V~12V) [Note] | FIT0563 |
[Note: App is coded for a 6v+ water pump and uses the MOSFET and a 5v battery to operate the pump when in the “Dry” mode. We are sourcing a 3v mini pump from Alibaba which should hopefully work straight off the board in place of the MOSFET]
Directions
A small plant pot is filled with material coarse enough to allow water to pass through it quickly (ie very fine pebbles). A plastic flower is put in the pot, and the pot placed in a plastic tub filled with enough water to submerge a pump to water the plant when enabled.
- Ensure pump operation is disabled (status is mid-screen right) using Button C. Otherwise pump will operate before the sensor is inserted into soil.
- Plug the chosen Moisture Sensor (resistive or capacitive) into plug P4 and insert in pot
- Select the chosen type of sensor with button D (Res or Cap)
- Connect MOSFET (or 3v pump) into plug P2.
- Press Button B to turn data logging on and off. The logging interval is shown at top-screen right.
- The sampling interval in the initial file has a default of 2 secs. For longer sampling period, ie, every 30 minutes if observing over a number of days, edit the Kappconfig.txt file in the flash memory with any text editor for a duration of 1800 seconds.
- The Kooklog Excel file in the USB drive store can be uploaded to a PC for analysis
Algorithm
- Import initial conditions from the Kappconfig.txt file via the Kapputils.py file
- Create the analog and digital input and output and turn off radio to conserve power
- Read the moisture sensor and categorise the value into Dry, Moist, and Wet.
- If Dry, switch the MOSFET/pump on.
- If Wet, switch the MOSFET/pump off
- If Moist, leave the MOSFET/pump in its current state – this is called dead-band control or hysteresis and prevent the relay chattering on and off.
On exit, switch the MOSFET/pump off so the pump doesn’t keep running.