-
Notifications
You must be signed in to change notification settings - Fork 5
/
README
55 lines (48 loc) · 2.96 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
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.