If you need to find the time what a button is pusshed or you want to use one button for made more function (short or long push / short, medium or long push) it can use millis() function with Arduino language.
Information for this thechnique (method) I found it on Doz's Blog.
For test, I use a simple schematic (one button) and pushtime1button.ino program (sketch).
For understand more ok the style of use, I tested also with 2 buttons, using pushtime2buttons.ino sketch.
After a discution with GeoMar, I decided to made a clock with few animation when change informations on 4 digit 7-segment led display.
Last test was made be me with LFD080AAG-103 led display, who is with common anode:
Base schematic is used in some projects
but I put control for brightness (automatic or manual)
- clock, with flash led for beat seconds, about 10 seconds
- temperature, about 2,5 seconds
- relavive humidity for air, about 2,5 seconds
- data (day and mounts), about 2,5 secods
Brightness can be control in 1024 steps when it used photoresistor or in 2 (minumum or maximum) wirh switch
If is pushed MENU button, clock enter in adjusting mode, first for hour, so, you will see hour flashing and can be increase value by pushing + button, but if hour is 23 and + button is pushed, value for hour is 00...
If is pushed again MENU button, clock enter in adjusting mode for minutes, so, you will see minutes flashing and can be increase value by pushing + button, but if minutes are 59 and + button is pushed, value for minutes are 00...
Next push of MENU button go to year changes, from 2018 to 2049
After that, if push again MENU button, you can change month (1 to 12)
and if push again on MENu button you can change day of month (just day flash)
After a new push of MENU button, system enter in clock mode (normal mode).
I made a movie for see how clock show the datas and how can be changes clock and data:
Note: Schematic work for small led display with common anode
or common cathode
Base schematic is similar
If you want to see in night just clock and temperature, when is day all informations (clock, temperature, relative humidity and data) you must upload sketch multiplexed_scroll_clock3a.ino !
For heating system using wood or another solid combustible materials who use recycle pump, I design a simple thermostat to power the pump just if water temperature is bigger than desired temperature.
Schematic is simple
Tom, a friend of mine, made practical system with Arduino Nano on PCB: