My clock works like this, every 60 seconds the minutes go up by 1. every 60 minutes the hours go up by one, and when the hours get to 13, they change to 1. We all know how clocks work. Then if you hold down the change time button for one second, you are able to change the time using the other buttons, as shown in the video.I don't know why I decided to make this, I just thought it would be a fun learning experience. Here is the video of me demonstrating it. Once I eventually get a 3D printer, I will turn this into a fully fledged clock. Sorry about the looks.
Demonstration of how to use my clock.
EXPANDED TECHNICAL DETAILS
Precision Timekeeping
A standard Arduino isn't accurate enough for a clock over long periods, so this project uses a DS3231 RTC module.
- High Accuracy: The DS3231 is temperature-compensated, meaning it stays accurate to within minutes per year. It communicates with the Arduino over the I2C bus.
- Battery Backup: The module contains a CR2032 coin cell, ensuring the time is kept even if the main Arduino power is disconnected.
UI & Interaction
- Display: Typically uses a 4-digit 7-segment display (TM1637) or a MAX7219 matrix.
- Alarm Feature: Includes pushbuttons to set the hours and minutes. The Arduino compares the "Current Time" from the RTC with the "Alarm Time" in its RAM, triggering a buzzer when they match.