Heating system automation
This program reads the temperatures from 10 (or more) DS18B20 sensors and displays them on the 20x4LCD.
Based on multiple conditions connected to temperatures and 2 digital inputs, it activates (LOW active) 4 outputs.
One module with 4 relays takes these signals and drive 4 hot water pumps for the heating system and domestic hot water tank.
There are more information available in 3-5 modes of the display (time, graphic/numeric representation of the energy, energy percent, time until full, time until empty, lifetime of the pumps and MCU).
The lifetime variables are updated and stored in EEPROM.
For the human interaction, the software reads an analog input to check which button is pressed (5 way switch).
The display in connected to Arduino NANO through a I2C LCD backpack.
On the same I2C busthere is connected a DS3231 RTC module.
Embed This Sketch
Use the following HTML code to embed the sketch code above in your blog or website.
<iframe style="height: 510px; width: 100%; margin: 10px 0 10px;" allowTransparency="true" src="https://codebender.cc/embed/sketch:431743" frameborder="0"></iframe>
Embed The Serial Monitor
You can also embed the Serial Monitor section! Just use this HTML code.
<iframe style="height: 510px; width: 100%; margin: 10px 0 10px;" allowTransparency="true" src="https://codebender.cc/embed/serialmonitor" frameborder="0"></iframe>