A couple of weeks ago, I published a great little controller module that provided 6 relays able to be controlled from a computer via a network. After I published it, I got to thinking that the same basic design, with a couple of changes could be pressed into service as a garden watering system controller. So, I got to work, modified the design, and here you have it... A sprinkler controller that runs by itself, that can be programmed and monitored from your computer via your home network.
This specific version of my sprinkler controller obeys some simple rules that have had to be implemented where I live. I live in Australia, or more specifically in an inland region called the A.C.T, where our government have implemented an ODDS and EVENS watering regime. Under the system if you live in an odd numbered house, you may water on an odd day of the month. Likewise, if you live in an even numbered house, you may water on an even day of the month. Everybody may water on the 31st.
This system, along with the mandatory replacement of sprinklers for dripper systems has sucesfully reduced the load on the cities limited inland water supply so that more drastic measures were not required.
Unfortunately, this system was unable to be implemented on my commercial water controller, it wanted to water on a Monday, or a Wednesday, so I was breaking the law, and subjecting myself to a potential fine every other week... So I had to build my own controller.
This instructable shows how I built it - there certainly is enough detail shown so that you can make it yourself if you are enthusiastic, and willing to give it a go.
Update: the full source tree for the Kicad project is located here
Remove these ads by
Signing UpStep 1: How do you drive the solenoids?
The sprinkler controller is built on the base of my Adruino Ethernet controller. The Arduino ethernet controller provided a basic network connected ATMega328 chip, and had a number of spare I/O lines.
I extended the PCB design to provide 6 solid state outputs, each able to drive +12v at 300mA, which is enough for a watering solenoid.
Each solenoid output is driven from a NPN transistor, as shown by the attached picture. To turn on the transistor, the port pin is simply driven high. I decided to use individual transistors, as they cost $0.03 each, and if they are destroyed, they are individually replaceable easily.
There is also a DS1302 RTC chip on the PCB - it is simply driven directly off 3 pins of the Arduino.
The whole board is driven by a 12VDC plug pack transformer.
It is not sensible to describe the full details of the Ethernet controller here, just check out the Arduino Ethernet controller (which is basically an Arduino and a NuElectronics shield) for info.
You will find the full schematic diagram attached as a PDF.
Sprinkler-Controller-Schematic-v1.pdf(595x842) 82 KB









































Visit Our Store »
Go Pro Today »



Why does the part list say ATMega168 but the instruction mentions ATMega328 several times? Are these interchangeable?
As I am sure everybody is still allowed to take a bath everyday, would it be allowed ot water your garden with bathwater, even if it is not 'your day'?
I know it ha slittle to do with this project, I was just interested
The focus of the law was to reduce water consumption from a tap. You could bath every day, and use a watering can every day - it just affected fixed sprinklers.
It worked beautifully, changing peoples habits - we are now off water restrictions, but the usage is still low :-)
with regard to the use of bath water, i was just wondering if you'd be fined if police would see yr sprinklers working on an 'off day' even if you'd be doing it with bath water :-)
sprinklers are a very wasteful way of watering plants anyway
Anyway, that is purely academic now, as yr off water restrictions.
Doug
This is a very good Instructable.
I am new at all this and i have been searching for the ENC26J60 library with all the members you are using, and i just can not find one. May be i am just missing a part of the project. Could you please help me to find de Library?
Thanks in Advance!
Thats not great - did you use the Sparkfun jack? Does the link light light up when you insert the cable? Does it go out when you remove it?
Doug
I love web controlled thingies.
I was wondering on the odd/even day of the week determination whether you had considered using the modulo function. By dividing by 2, the modulo would always be either 1 or zero, so to determine whether to water or not, you would just have to determine if the modulo of the date results in a 1 or zero.
and do i need to download anything if so where?
A++ for pump mode
The standard reason that people have problems wit hthis project is that they don't use a magjack - or that they have a transposition error between the TX and RX lines on the Ethernet side, or that the computer is on a diferent network number range to the project.
If the LEDs flash on boot, then the communications between the micro and the Ethernet controller are correct. just check the use of a Magjack, and make sure you are either (1) plugged into a hub, or (2) using a crossover ethernet cable from your computer.
Also, double check your network settings - it is important that you are on the same network as the project, as it has no routing capability. Also double check the address you set up in the code.
Take care,
Doug
You mention that you protect your boards with a solder-through spray lacquer -- do you have a brand name or a supplier?
It can be purchased from Jaycar.
http://www.jaycar.com.au/productView.asp?ID=NA1002&keywords=lacquer&form=KEYWORD
It is possible do the same with wireless conection?
That is an awesome idea - I am sure that it could be done, using some of those inexpensive rf data link modules. I am not aware of a way that I could get 802.11 actual wireless networking into the design.
With an rf data link module, I suspect that the architecture would change completely - we wouldn't have to implement a web server in the box, because we could simply implement a simple remote control protocol.
I don't think I would go to the extent of having wireless solenoid controllers. The current drain when they are operating would destroy batteries very quickly :-)
(Patiently waiting for the WiFi version)
Doug