Web-enabled Arduino water hose controller. Using Arduino Uno R3 and Arduino Ethernet Shield V1.1 (ENC28J60)
Adapted from hearth watergate code.
First, install arduino-cli.
Then:
# update list of installable platforms
arduino-cli core update-index
# install core for relevant platform (assuming Arduino Uno R3)
arduino-cli core install arduino:avr
# install the EtherCard library
arduino-cli lib install EtherCard
Now do:
cp settings.mk.example settings.mk
Then edit settings.mk
to fit your system. You can get the serial device for the currently connected dev board like so:
arduino-cli board list
make compile
make upload
You can also upload and compile in one go like so:
make
To see the debug output:
make monitor
It uses DHCP to get an IP. The MAC address can be found at the top of watergate.ino
It runs a web server so control is via HTTP.
A simple control web page exists at http:/// but is mostly for testing.
Turn the water on for number of minutes where is a positive integer.
Turn the water off.
Turn the water on for 1 minute the first time.
If there is at least 30 seconds remaining on the timer and this is hit again then turn it on for 5 minutes (not 5 extra minutes but exactly 5 minutes).
If there is at least 4 minutes remaining on the timer and this is hit again then turn it on for 20 minutes (not 20 extra minutes but exactly 20 minutes).