/Digital-Clock

Digital Clock with multiple functions build for Arduino

Primary LanguageC++

Digital Clock

This is the digital clock you have always dreamed of. This clock is fully customizable and can be used in different languages.

Features

Current features

  • Display time
  • Display date (different formats)
  • Display temperature (Celsius and Fahrenheit)
  • Display day of the week (English and Dutch)
  • Display weeknumber
  • Display number of day in the year
  • Change summer<->winter time (more info)
  • Display humidity (%)
  • Display dew point (Celsius and Fahrenheit)
  • Display heat index (Celsius and Fahrenheit)

Roadmap

OK Description Current state Target
👍 Change summer<->wintertime (more info) Added on 13-01-2018 Already added
👍 Display humidity (%) Added on 16-01-2018 Already added
👍 Display dew point (Celsius and Fahrenheit) Added on 16-01-2018 Already added
👍 Display heat index Added on 19-01-2018 Already added
👍 Menu to change settings (see settings) Added on 19-01-2018, but not all functions work right now Already added
👎 Display/set alarm This will be implemented as soon as I have a LCD+Keypad Shield End of January 2018
👎 Timer This will be implemented as soon as I have a LCD+Keypad Shield End of January 2018
👎 Stopwatch with rounds This will be implemented as soon as I have a LCD+Keypad Shield End of January 2018
👎 Local time of different locations (world clock) This will be implemented as soon as I have a LCD+Keypad Shield End of January 2018

Settings

This digital clock is different because you can control the look and feels of the clock using the five buttons that are on the shield.

Current settings

Settings name Description
hourFormat 12 or 24 hour format (12 hour format doesn't print AM/PM)
language The language for several labels
degreesFormat Use Celsius or Fahrenheit for temperature and dew point
longFormat Display several objects with label (see Clock.txt for all labels)
interval Interval at which to refresh lcd (milliseconds)
switchPages Interval at which to switchPage 1 to 2 (milliseconds) [Only if you have more than 1 page defined]

Settings to be implemented

Settings name Description
Summer/Wintertime Several settings to set the correct time during summer and winter

Special thanks to

I want to mention several people who helped me developing this project.

Libraries

During this project, I used several libraries. Without these libraries, my project would took ages to create.

3rd party libraries

DS3232RTC - Made by JChristensen - Used for RTC
Timezone - Made by JChristensen - Used for DST and Worldclock
TimeLib - Made by PaulStoffregen - Used for time
Streaming - Made by Mikal Hart - Used for easier printing on the LCD

Standard libraries

Wire - Used for communication with I2C devices (DS3232 RTC)
LiquidCrystal - Used for controlling LCD
DHT - Used for DHT22