The main idea is that the Arduino reads a soil humidity sensor and decides if plant(s) need watering. If that is the case, Arduino should send a signal to the Tranzistor, which will trigger and enable the current flow towards the Valve. Once Valve is enabled, since it is a usually closed valve, it will open and let the water to flow, guided by gravity.
Added a solar panel + battery in order to make it passive. Arduino + Valve are powered by the same input current: the 12V from the solar panel's battery controller. Arduino knows to convert it if inputted in the VIn pin.
I guess mainly i have followed these two tutorials. maybe another one i cannot find anymore. https://www.instructables.com/Controling-a-solenoid-valve-with-an-Arduino/ and https://chrisruppel.com/blog/arduino-soil-moisture-sensor/
My Components:
- Selenoid valve usually closed, similar to https://www.alibaba.com/product-detail/Plastic-solenoid-valve-for-water-dispenser_1699906875.html
- WDLduino UNO
- Led
- Diode
- Transistor
- Soil humidity sensor similar to https://www.sparkfun.com/products/13322, but from alibaba
- Solar panel system providing enough current to trigger the valve https://www.pni.ro/sistem-solar-fotovoltaic-pni-greenhouse-h01-30w-cu-acumulator-12v-7ah-usb-radio-mp3-2-becuri-led.html