Watering Robot mkI
Like many in the spring of 2021, our family was both gardening at home and feeling a strong need to get away from home. We scheduled a trip then suddenly realized we needed to keep our plants watered. In three days, I put together an automatic plant watering system which could run for the length of our tri.
The core of the system is an Arduino UNO R3. This provides control for a relay board which runs a set of pumps sitting in a 7-gallon water jug.
I initially attempted to use moisture sensors to drive the logic for running the pumps. The idea is to run the pumps when the soil is dry and stop when it's moist. Seems simple. However, the sensors were very inconsistent witht he values they presented, depending greatly on exact position in the soil and amount of air/water contact they had (which makes a fair amount of sense). I struggled to get multiple sensors calibrated with each other and it was impossible to dial in values which would properly trigger the pumps but not over soak the plants or empty the reservoir.
After spending most of an evening being frustrated with the sensor behavior I realized I would get much more consistent behavior if I just ran the pumps on a timer. I could precisely dial in the amount of water by controlling the duration of the pumps. This ended up being a great approach and I used that same design for the remainder of the year.
I updated the design the following year.