Alarm Clock with Local Weather and Traffic
.
Overview
Have you ever been late to a morning appointment because of unanticipated traffic? Fear no more. This internet alarm clock will take into account local traffic conditions when waking you up. Simply tell the clock what time you need to be at your destination, how long it will take you to get out of bed and out the door, and your start and end destinations via the desktop interface. The alarm will sound with plenty of time for you to get ready to take on the day and encounter existing traffic. Additionally, you can wake up to your favorite tunes stored on an SD card and check the current weather conditions.
Components
- Mbed Microcontroller (x2)
- uLCD-144-G2 (x2)
- Speaker
- SD
- Pushbuttons
- Ethernet (x2)
Wiring
uLCD
mbed | uLCD header |
---|---|
5V = VU | 5V |
Gnd | Gnd |
TX=P28 | RX |
RX=P27 | TX |
P29 | Reset |
speaker (mbed1)
mbed | speaker |
---|---|
P18 | R1 |
SD (mbed1)
mbed | SD |
---|---|
3.3V = Vout | Vcc |
Gnd | Gnd |
P14 | CS |
P13 | SCK |
P12 | DO |
P11 | DI |
pushbuttons (mbed1)
mbed | pushbutton |
---|---|
P19 | pb1-snooze |
P20 | pb2-off |
P17 | pb3-set alarm time |
ethernet
mbed | ethernet |
---|---|
TD+ | P1 |
TD- | P2 |
RD+ | P7 |
RD- | P8 |
serial
mbed1 | mbed2 |
---|---|
TX | RX |
RX | TX |
gnd | gnd |
Note: the MBEDs must share a common ground
Program (mbed1)
Import program4180_Final_Project_new
wave cancel
Program (mbed2)
Visual Studio GUI
Downloadable Application: Desktop GUI
Discussion
Due to RAM and library compatibility limitations, two MBEDs were utilized. One MBED for the time and alarm clock functionality, the other MBED for gathering traffic and weather data from the internet. The two MBEDs were connected serially such that the route time from the traffic API on MBED2 could be sent to MBED1 and taken into account when calculating the time to set the alarm. The uLCD accompanying MBED2 displays the weather conditions and the uLCD accompanying MBED1 displays the time. The desktop GUI sends data over serial to the SD card accompanying MBED1 which then extracts the user inputted values from the SD card and uses the time values to set the alarm time and sends the start and end destination to MBED2 to pull the route from the traffic API. The figure below illustrates the concept discussed.
Further Development
- Include smart traffic capability such that traffic calculation takes into account predicted route time not based on the route time when called but the predicted route time at time of departure.
- Integrate libraries such that all components can function in the same program.
- Reduce RAM usage by putting large libraries, specifically the ethernet libraries, in scope.
Contributors
- Deron Mai (Section A)
- Allie Shea (Section B)
- Adam Zuravleff (Section B)
References
Please log in to post comments.