Seven day alarm Using Atmega644
The variability of a college student’s class and school work schedule gives way to an abnormal sleep/wake pattern that is not experienced any other age group. Few lucky students have the pleasure of having all their classes start at the same time every day. However, most students do not have this luxury. This requires that most students reset their alarm clocks every night in to adjust to each day’s different schedule. Forgetting to reset the clock could result in sleeping through classes, or unexpected wake-ups hours before classes start. This abnormal schedule disrupts your circadian rhythm and makes it increasingly difficult to get out of bed in the morning. For some it leads to snoozing your way through morning classes.
We have created a new type of alarm clock that will have a built in record of your weekly schedule so that it may wake you up at the right time, every time, every day. Our alarm clock will includes extra features that improve on the shortcommings of current alarm clock designs.
Even chronic snoozers will have no excuse for sleeping through another class again. Each of the daily alarms will include a feature that indicates a priority for the wake up time. For example, a student may give waking up on Monday morning for class a high priority, while giving waking up for a Saturday morning jog a low priority.
The different priorities will determine how hard it is to disable the alarm. High priority alarms will be louder and annoyingly difficult to reset. This will ensure that the user is well awake before the alarm can be silenced. In contrast, a low priority alarm can be snoozed or disabled with the single press of a button.
The backlight LCD display will inform the user of the day of the week and the date. It will also display the next upcoming alarm to the user. The calendar feature of the clock automatically compensates for leap years. The alarm also features a ambient light controller that will make sure that the seven segment LED display is always an appropriate brightness.
We wanted to make sure that setting the time for the device was simple and intuitive. We were originally debating over two input methods. A simple interface with 4 navigation buttons or the use of a large keypad for data input. The added features such as the 7 day programmable alarms made it essential that data input was easy for the user.
It has buttons for incrementing and decrementing a value, a back button and an enter button. The keypad represents a 4×4 grid of buttons for user input. We ultimately decided that the navigational keypad would not only simplify the user experience when inputting data but would also help reduce the complexity of the state machine.
Communication between chips takes place using two standardized communication protocols. The first of which is SPI interface. This is used by both the LED drivers and the digital to analog converter. We wrote the software to communicate over SPI to both of the chips. Both of the chips communicate using SPI standard 1. The clock calendar chip uses the I2C interface. To communicate to the clock calendar chip over I2C we used the library created by Peter Fleury. His open source software can be found at the link referenced at the bottom of the page.
Patents and Copyrights
We were only able to find one other standalone programmable alarm clock. Although they seem to be the only unique product with this feature we do not infringe on any of their patents. We were only able to find patents for their user interface and not for their 7 alarm feature. Since the user interface of our clock is vastly different from theirs there are no patent conflicts.
|Component Name||Quantity||Cost||Vendor||P/N||Project Cost||Total Cost|
|Chips||Atmel ATmega644 CPU||1||6||Land||6||6|
|MCP 4822 12-Bit DAC||1||3||Sample||MCP4822-E/P||0||3|
|NXP PCF8563p Real Time Clock||1||2.11||Digikey||PCF8563P/F4||2.11||2.11|
|Allegro A6276EA-T Led Drivers||2||3||FSAE Stock||A6276EA-T||0||6|
|Displays||LCD 16×2||1||8.5||All Electronics||8.5||8.5|
|Unitech Systems 1″ 7 Segment Displays||4||2||FSAE Stock||LCS-10012TUR11||0||8|
|Passive Components||10k Potentiometer||1||1||Land||0||1|
|Atmega PCB board||1||4||Land||4||4|
|Solder Board Small||2||1||Land||2||2|
|Solder Board Large||1||2.5||Land||2.5||2.5|
For more detail: Seven day alarm Using Atmega644
Leave a Comment
You must be logged in to post a comment.