4180 Atomic Alarm Clock

Group Members:
Michael Egnor
Benjamin Lazar

Overview

In this project, our group designed an “Atomic” alarm clock. The main feature of this alarm clock is that on boot-up, the clock uses Wi-Fi to connect to the internet and receive the current time. The alarm clock also has most of the standard alarm clock features such as setting the alarm time along with a sound to indicate when the alarm goes off. Another feature of the alarm clock is that it saves the currently set alarm time on an SD card to preserve the settings through power cycles. Also the alarm sound can be changed by uploading a custom WAV file to the SD card. The alarm uses the Bluefruit app on a smart phone to connect to a Bluetooth chip in the alarm in order to control all the alarm features.

Design

The design process started with first setting up the Wi-Fi chip to interact with a web API (timezonedb.com) to get the most current time. After this was completed we than started work on the main alarm clock functionality. We first wanted to use physical buttons to interact with the alarm clock features but then decided that it would be better to use Bluetooth through the Bluefruit App to do this instead. After this was setup, we than merged the Wi-Fi and the alarm together so that on boot up, the current time would be set from the internet. After this was completed, we added a speaker to sound when the alarm went off. Finally, we housed the whole system inside a box.

Video of Alarm going off

The project's physical wiring

Wired Project

An example of the Alarm clock in operation

Alarm in Operation

The Bluetooth interface to control the Alarm Clock

Bluetooth Example

Parts

  • 1 x mbed NXP LPC1768 Microcontroller
  • 1 x uLCD-144-G2
  • 1 x microSD Card Reader
  • 1 x Adafruit HUZZAH ESP8266 Breakout
  • 1 x Adafruit Bluefruit LE UART
  • 1 x Wall Adapter Power Supply - 5V DC 2A (Barrel Jack)
  • 1 x 2N3904 driver transistor
  • 1 x Sparkfun Speaker 8ohm .5W

uLCD-144-G2

mbeduLCD
VU5V
GNDGND
P9RX
P10TX
P11Reset

microSD Card Reader

mbedmicroSD
P8CS
P5DI
VoutVcc
P7SCK
GNDGND
P6DO

Adafruit Bluefruit LE UART

mbedBluefruit
GNDGND
VUVin
ncRTS
GNDCTS
p14 (Serial Tx)RXI
P13 (Serial Rx)TXO

Adafruit HUZZAH ESP8266 Breakout

Huzzahmbed LPC1768External 5V DC supply >=500MA
gndgndgnd
TXRX - p27
RXTX - p28
V+5VDC
RSTp26 (optional)

Sparkfun Speaker 8ohm .5W

Speaker
Speaker(+)5V
Speaker(-)Transistor Collector
Transistor
Transistor Base330 ohm resistor -> p18
Transistor emittergnd

Import programAlarmClock4180

Program code for the project

Future Features

  • Snooze Functionality, set alarm for 5 more minutes
  • Use GPS to read which time zone the user is in
  • Allow the user to select different time zones
  • Vibration feature for when the alarm goes off


Please log in to post comments.