Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Sprinkler software for arduino
Processing
branch: master

README

This is an arduino project for an open source sprinkler control system.
* Requires an arduino with an Atmega328 or higher.
* Optionally uses EthernetDHCP.h from http://gkaindl.com/software/arduino-ethernet
* Requires RTClib.h from https://github.com/adafruit/RTClib

Photos and more info: http://havocstudios.com/

Features:
* Telnet server using the Wiznet ethernet module
* Time functions using a DS1307
* Controls transistors, triacs, relays or solid state relays via a 74HC595 shift register.
* Watering Zones that can be manually turned on or off via telnet.
* Scheduling to automatically turn zones on or off at certain times and days.
* Telnet based menu system to perform the following commands:
		?                                  Display this help
		time                               Display current time
		settime <Mon dd YYYY HH:ii:ss>     Set current time
		mem                                Show free memory
		on <1-8>                           Turn on zone
		off                                Turn off all zones
		list                               List all schedules
		enable <1-64>                      Enable schedule
		disable <1-64>                     Disable schedule
		set <1-64>                         Modify schedule
		rm <1-64>                          Remove schedule
		clearall                           Remove ALL schedules
		load                               Load schedule from EEPROM
		save                               Save schedule to EEPROM
		exit                               Disconnect


Super simple schematic to wire up the atmega328 to the different components.

                                    Atmega328
                                  +-----------+
                            Reset |  1     28 | A5 (DS1307 SCL)
                   (Serial RX) D0 |  2     27 | A4 (DS1307 SDA)
                   (Serial TX) D1 |  3     26 | A3 *
                             * D2 |  4     25 | A2 *
                             * D3 |  5     24 | A1 *
                             * D4 |  6     23 | A0 *
                               5V |  7     22 | GND
                              GND |  8     21 | 5V
                          Crystal |  9     20 | 5V
                          Crystal | 10     19 | D13 (Wiznet SCLK - J2:3)
                             * D5 | 11     18 | D12 (Wiznet MISO - J1:2)
           (Shift register DS) D6 | 12     17 | D11 (Wiznet MOSI - J1:1)
        (Shift register SH_CP) D7 | 13     16 | D10 (Wiznet SCS  - J2:4)
         (Shift regiter ST_CP) D8 | 14     15 | D9 (LED for DHCP status)
                                  +-----------+
                                   * = Free Pin


Notes:
	Whether a day is even or odd is calculated using the number of days since the Unix epoch, or Jan 1, 1970. This way, at the end of months with an odd number of days, we don't water twice in a row, or skip a day. Using this method gets us a nice consistent even/odd day pattern even though the current day of the month might not match with what the system calculates.
Something went wrong with that request. Please try again.