Ray has written a detailed article about his OpenSprinkler 2.0 Arduino-based irrigation controller:
OpenSprinkler is an open-source Internet / Ethernet sprinkler timer / controller based on the Arduino platform. It works with standard 24VAC sprinkler valves commonly found in household watering and irrigation systems. You may be planning to buy or have already purchased a commercial sprinkler timer / controller, but chances are that these systems provide a limited set of fixed functionality, and have no web scheduling and monitoring capability. These limitations are the main motivations for this open-source project.