Common household clocks are stand alone clocks. They operate on internal counters to keep time. This is precisely why problems occur with house hold clocks; time kept by those most often than not is not accurate. Oscillations by electronic and or mechanical means contain offset percentages as high as 0.01% which is about 7 seconds of error each day.
Mx clock solves this problem by using an accurate online time source to sync itself with. By supplying the clock with initial values, Arduino equipped MxClock keeps an accurate internal counter to display time. While there are inaccuracies from Arduino, MxClock’s time gets synced automatically when an alarm is set.
Syncing is done through MATLAB, where the time and alarm from timezonedb is converted into a string and sent to Arduino through a serial connection.
Statistics show that one in every three adults snooze at least 3 times each morning and one in every 2 people from 25 to 34 snooze daily. The Mxclock’s shaking to turn off alarm clocks leads to more simulation than just simply pressing a button to snooze. While this doesn’t solve all snoozing issues, more simulation accelerates your waking up state. Combined with an extremely annoying buzzer as an alarm, the MxClock definitely packs a stronger incentive to get up and turn the alarm off.
LED’s are more appealing than traditional digital LED displays. Using multiplexing, the number of pins required to power and change each digit is reduced.
The picture below shows 7 segments of an digital number: A, B, C, D, E, F, and G. Each segment is connected to an Arduino pin and each corresponding segment of all the digits is connected to the same pin. This means all the segment A’s are connected (to pin 13 on Arduino) and all the segment B’s are connected and so on and so forth. The process of multiplexing is by changing the number of a single digit by shutting off ground connection for all the others. The ground for digits is shut off by turning transistors off. Essentially, this means only one digit is turned on at a time. The catch is that the rate of turning digits on and off is 5 milliseconds which is fast enough that our eyes can’t detect its turning off. In other words, pretend we want to write 04:03. Segments g is turned off to show 0 and grounds for one hour digit, 10 minute digit, and minute digit are shut off. Then for number 4, segment A, D, and E turns off and grounds for 10 hours, 10 minutes, and minutes are turned off. The rest is self explanatory. Because the transistors used are more susceptible to voltage leakage, only 4 transistors are used for digit changing and 7 Arduino pins are used to directly power on segments. This definitely requires more battery power. However, to protect all the circuitry – mainly the maximum of 14 LED on at one time and 1 transistor – only 9 total volts was used. With that, the clock can standalone on its own.