Alarm clock project by Subir Goradia and Matt Lafer
For our EECS 373 final project, we chose to create an alarm clock with a variety of functions, including snooze, six digit read-out, a command line interface for changing the clock time and setting the alarm, and a customizable wake message in addition to a classic buzzer noise option.
The following is a list of components we used in this project:
7-segment LEDs -- We used six of these to display the time output in hours, minutes and seconds. They were interfaced to the Xilinx board and processor via the test points. A six input multiplexer was used to display output and speeds too fast for the human eye to detect (in reality, only one LED is being updated at a time -- you can see this effect in one of our photographs).
Command line -- We used the command line to conveniently receive user input. You can change the clock time and alarm time through the terminal.
Buzzer -- The default buzzer rings when switch 4 is in the "down" position.
Microphone -- The microphone receives an audio input and the software stores this into memory when the right-most DIP switch is turned on.
Speaker -- We have a speaker hooked up to the output of the DAC. When the recordable message is chosen, by putting switch 4 in the "up" position, the speaker outputs the user's recorded message by writing memory contents to the DAC.
Switches -- Switch 1 turns the alarms off. Switch 2 is a snooze button -- it delays the alarm by 60 seconds. Switch 3 determines whether the alarm time or the current clock time will be displayed on the LEDs. Switch 4 toggles between the buzzer alarm and your customizable recorded message.
The most difficult parts about our program were integrating the multiplexing hardware that we designed and the actual circuitry on the board, and writing the software routine for ADC collection and DAC playback.
Here are some pictures of our components:
This is a picture of our command line interface.
Here is a picture of our main setup. The microphone circuit can be seen on the bottom left on the power board, the processor and Xilinx board is in the upper left, and our main board with LEDs can be seen on the right.
A larger picture of our main board w/ LED output. The multiplexing we use for the LEDs cannot be hidden from the camera's eye.