I am looking into building an interval timer / alarm clock using Arduino, and was hoping I could get some guidance.
The project will:
a. Display the current date and time.
b. Allow the user to set an alarm.
c. Allow the user to turn the alarm on and off.
d. Allow the user to set the current date and time.
e. Allow the user to set the duration for the timer.
f. Allow the user to save the timer.
g. Allow the user to recall a saved timer.
h. Allow the user to start the timer.
i. Allow the user to pause the timer.
j. Allow the user to stop the timer.
k. Provide an audible and visual alert when the timer finishes.
l. Display the time remaining while the timer is running and the display is on.
m. Allow the user to turn the display on and off (but the timer continues to run while the display is off).
n. Run on battery, but have the settings persist when the project is disconnected from power.
o. Save timer history.
I would appreciate any guidance you can provide in terms of thoughts on and feasibility of the project idea, as well as what components to utilize for this project.
A suggestion for the display would be 16x2 lcd. You could connect the backlight to an arduino output to switch it off to save power or flash it as an alarm. I have found these displays run fine on 3.8V (as will Arduino, provided you bypass the regulator), so you can use 3 AA or AAA rechargeable cells.
How accurate does the clock need to be (meaning how slowly it would gain/loose time over the long term)? I would recommend ds3231 based over the standard ds1307. As well as being much more accurate, it has a temperature sensor and built in alarm function which could be used to wake arduino from deep battery saving sleep.
How accurate does the clock need to be (meaning how slowly it would gain/loose time over the long term)? I would recommend ds3231 based over the standard ds1307. As well as being much more accurate, it has a temperateure sensor and built in alarm function which could be used to wake arduino from deep battery saving sleep.
Paul
Thanks Paul!
I was looking at this display - http://www.amazon.com/gp/product/B0096DKQ56/ - I thought it would provide more flexibility, though I don't know if it would also introduced unnecessary complexity relative to a 16x2 lcd?
Thanks for the tip on the ds3231 RTC. I had not thought about accuracy, and your mentioning it made me first think of using GPS to get time. But given that the project needs to be able to run on battery, I don't know how expensive getting time via GPS would be - granted, it is something that only needs to happen every so often, and you could disable GPS otherwise.
I should mention that all of my watches have automatic or manual winding movements. So that should provide some indication about how concerned I am about accuracy.
GPS and graphic displays do sound like unnecessary complexity if this is a first project. Keep it simple to start. I would highly recommend use of breadboards for prototyping, so if you are not happy with anything, you can just swap it out. For this reason I prefer breadboard friendly arduinos like nano vs reguar uno. Also helps if you want to move to using a "bare" atmega.
The ds3231 is quoted as accurate to within 2 minutes per year.