Sprinkler System controller via Arduino?

I'm new to the Arduino scene, so please excuse any ignorance on my part...

At my home, we have a 12 zone sprinkler system. It's all controlled via your typical sprinkler system control box. All the solenoids are typical 24 volt.

I'm wondering how hard it would be to use an Arduino to control the solenoids. From what I can tell in the wiring to the control box, each there is a single ground along with other wires that go to the solenoids out in the yard (1 wire per solenoid I guess?). And when the system wants to open a solenoid/zone, it completes the circuit between that wire and the common ground, sending 24V, which opens the solenoid. Is this how it works?

So how hard would it be to use an Arduino to do all this? Would it be possible to hook the Arduino up to a computer that would have like a web server running on it that I could log into the adjust schedule the sprinkler schedule? I guess the computer would store the schedule on it and the Arduino would connect to the computer to get the schedule every minute and turn on/off the proper solenoids according to schedule?

Mostly I just don't understand how to use the Arduino to send 24V to the solenoids. I don't really understand how this whole thing works. And how many inputs/outputs do you have on a typical Arduino? Would I need 1 input/output per sprinkler zone? Seems like I would need a lot.

If anyone could give me some thoughts or general direction on where to begin on something like this I'd appreciate it. Thanks!!

It sounds like a project that i possible.

For controlling the Solenoids, look in the playground for examples of how to control relays, you can use the same method for controling the solenoids. You would need an external powersupply (reuse the existing one)

And it is possible to have the Arduino board hooked up to a PCwith a web app. to control it.

Certainly sounds doable. I've considered the same for my little 4 zone (thinking of growing to 6 zone) system.

One thing to figure out is if your solenoids are AC or DC. The control will be different for the two.

-j

Do you really want to have your computer on 24/7?

There are 1440 minutes in a day, one way to do it is to have an array of 1440*2 bytes where each bit in the bytes = a sprinkler (therefore 16 sprinklers can be handled). Every minute the Arduino gets the next two bytes (or 1.5 bytes in your case as you only need 12 bits) from the array and writes them to an IO port.

You will need either 12 spare IO pins or you can use a couple of shift registers or latches. You could do the whole thing with just 3 IO pins easily.

Now all you need is a way or initialising the array using a VB program or something on a PC and downloading it into the Arduino. Once that is done the Arduino doesn't need the PC until the next time you modify the timing program.

If you want the remote web access that's out of my area but the above is still appropriate and means that the Arduino is not dependant on the PC being up and running.

The solenoid valves are probably 24v AC, but if you use relays to control them it doesn't much matter what they are.

So, your total hardware can be 2 SIPO high-current shift registers (such as the TPIC68595) and 12 relays.

So, your total hardware can be 2 SIPO high-current shift registers (such as the TPIC68595) and 12 relays.

Or just 12 TRIACs, which will be cheaper and smaller than 12 relays, require less power, and probably be easier to build.

The commercial units I've taken apart use TRIACs. Unfortunately they're either conformal coated such that I can't make out the part number, or they use house part numbers.

You may want to look into an ethernet shield to put your arduino directly on the network, and check out a hardware real time clock, such as the DS1307, to keep time of day.

-j

Or just 12 TRIACs, which will be cheaper and smaller than 12 relays,

True, I only used relays because they don't care about AC/DC.

For AC triacs would be better, smaller and more reliable and you wouldn't need a high-current driver chip.

Do you really want to have your computer on 24/7?

Besides the two workstations inside my house, I have three networked servers running in a closet in my shop - all 24/7 except for maintenance downtime.

As long as I can afford the electricity, that's how I'll roll.

Besides the two workstations inside my house, I have three networked servers running in a closet in my shop - all 24/7 except for maintenance downtime.

As long as I can afford the electricity, that's how I'll roll.

Likewise. I've spent way too many years being able to reach out and touch my computers (and the data stored on them) even if I happen to be in a different town (like a typical workday) or even a different state.

I am considering a guruplug as a home server, though. It has lots of potential besides the power savings over a desktop.

-j