InterfaceThe interface will be the only way in which the user will interact with the sprinkler system (other than the possible 'emergency shut off' which will be physical valves and/or a programmatic way to also replicate this behavior.
The interface will be web-based. This web functionality will run on a Raspberry Pi using Apache and be local-access only. That is, I will limit the ability to the LAN in order to impose some security on the system. Either password protected or MAC-address restricted.
I plan on including screen shots of various control sites as I develop them here.
Somewhere between the interface and the controller (though mostly interface) is the code needed to get the Arduino talking on the network. I found a little guide which talks about running a web server on the Arduino itself. This is must more simple than my original though of having the Arduino behave as a mindless drone that just takes commands over the network. As I develop this concept into more home automated things, it will likely be the better option as I can have everything centrally controlled and monitored on the Raspberry Pi and just have slave units that do the home automation over the network.
ControllerThe controller will be how the user requests will be processed into the 24VAC signals needed by the sprinkler hardware in order to turn the water on and off. This will be comprised of an Arduino connected to a number of relays and an Ethernet controller. This will allow for the web access to the controller and for the signals to be processed and to fire the relays needed. I still have not decided if I will build a custom board containing the ATmega chip and other componants or just use three shields (would be more expensive but would require less building on my part).
The proposed pre-fabed parts are as follows:
Relay Shield - http://seeedstudio.com/wiki/Relay_Shield
Ethernet Shield - http://www.amazon.com/gp/product/B006J4FZTW/
Arduino Uno R3 (already have)- http://www.amazon.com/Arduino-UNO-board-DIP-ATmega328P
An all-in-one unit like this would be nice too. http://www.instructables.com/id/A-watering-controller-that-can-be-home-networked/
These components will be ideally contained in a housing located near the valve manifold (likely under the crawl space)
Did a mock up of the circuit for my relay board using the java circuit simulator from
Paul Falstad's page at http://www.falstad.com/circuit/
ValvesThe valves will be 24VAC triggered. I will build a manifold using whatever ones are most convenient, including a back-flow (anti siphon?) mechanism or simply anti siphon valves. I will discuss these ideas with Chris. I plan on running these off of the existing water supply in the back yard to avoid the need of tapping into the main water supply for the house as the water in the back will only be needed for this purpose. If putting anti-siphon valves, it was suggested to paint them with outdoor paint to avoid having the plastic getting brittle due to UV exposure.
I have to build a manifold for the four Orbit valves I purchased. I will be hooking this up to the main water with a hose that connects to a second "manifold" which will allow access to a spigot at the house, a connector to the sprinkler system (which will have the anti-siphon), and a third connector to a valve located at the other end of the yard. I will secure this to the house
added a "fail-safe" off button. Basically, I will wire a button into the Arduino according to this site http://www.electroschematics.com/8964/turn-on-led-button-arduino/ and I created an If statement which will turn all relays off if the button is pressed (I plan on wiring this into a big red easy-button or something and mounting it to the house)