Arduino powered system for moving water

At my Fathers home, there is an allotment that for years has grown food for the family. Scattered around the place is various water tanks which collects the rain water for watering the garden. There is a problem with this, some of the tanks are not connected to any guttering and are quite far away from an actual water source. 

To fill them up you either need to use a bucket to move the water manually or hope you get enough rain to fill them. I wanted to change that. The tanks that are connected to the guttering often fill quickly and overflow, essentially wasting free water. 

My aim is to store more water for use in places where it is required and also reduce the water bill through not wasting water.

There are 3 tanks (primary) connected to guttering and 4 others (secondary) which are not. I will eventually develop a system where each primary tank has a pump in it and a series of valves to redirect water to which ever tank needs the most water. I will also look to connect soaking hose as an additional output at a later date for automatic watering

Initially I will use the tank that captures rain based on the largest surface area it covers. I need a single pump, and 2 devices to measure the levels of each tank. I have spent sometime figuring out the required components and prototyping a working model.

The basic system

  1. The float sensor (a vertical float)
  2. The relay, to switch the power to the pump
  3. A breakout board from an ATX power supply feeding 12 Volts into the Arduino and relay. 
  4. A MOSFET.

The Arduino can only output 5v and even though the relay says it can switch at 3v it did not seem to work with me so I use the 5v rail from the Arduino to switch the MOSFET which then lets me use 12v to switch the relay on. On the NO side of the relay is just an extension lead I have used for testing purposes. 

I will develop a proper power supply for the system when the other components are built. The breakout boards are great if you have an old PC somewhere, they can provide 3.3, 5, -12 and 12 volt supplies so great for prototyping. 

The system works when the float which will be suspended in the top of the tank drops, Arduino will then switch on the relay and begin pumping water into the tank, once the float raises, Arduino will shut the pump off. 

I will, once I learn how try and providing wiring diagrams from Fritzing.