Digital Alarm Clock
By: Tim Kim and John Rollinson
Overview
In this project, we design and implement a digital alarm clock which is able to display the current time, date, and surrounding temperature. Alarms are set using an external interface known as Termite, in which a user is able to type and set his/her preferred alarm times. An input for a snooze button is another feature of our digital alarm clock, allowing the user to delay the current alarm for another 15 minutes.
Components
STM32L476RG
This component is the microcontroller of the alarm clock system. It is responsible for a multitude of things, such as configuring pins that are used to connect to peripherals of the system, sending signals and data to peripherals, and commanding these peripherals to do certain tasks. The microcontroller is also in charge of managing the Real Time Clock (RTC), which is the clock used for the current time and date.
LCD Screen
The LCD screen is used to display the current time, date, and surrounding temperature. It is connected to the microcontroller via parallel interface.
TC-74 Temperature Sensor
The temperature sensor is used to read surrounding temperature data, which is written to data registers in the microcontroller. It is connected to the microcontroller via I2C.
Active Buzzer
The active buzzer is used to imitate the buzzing of an alarm clock. It is connected to the microcontroller via GPIO output.
External Button
The external button is used as the snooze button, which allows the user to delay the current alarm for another 15 minutes. It is connected to the microcontroller via GPIO input.
Termite
Termite is the interface which allows the user to set alarm times. It is connected to the microcontroller via UART.
Block Diagram
Responsibility for Members
Tim: Software/Debugging
John: Hardware/Wiring
Video Demo: