alarmclock with 2 alarm times, 128x64 LCD with KS0108, displays time / time&date / a menu to change time & alarms, rotary encoder with push button, relay which switsches on a hi-fi system or something else, a 1F- Cap as a backup supply

Dependencies:   KS0108 QEI mbed

Alarmclock

features:

  • alarmclock with 2 alarm times
  • 128x64 LCD with KS0108
  • displays time / time&date / a menu to change time & alarms
  • sleeptimer, relay is switched of when timer runs out
  • rotary encoder with push button
  • relay which switsches on a hi-fi system or something else
  • a 1F- Cap as a backup supply

todo/ desired improvements/ known issues:

  • a more precise real time clock would be nice
  • a speaker or beeper directly connected to the mbed
  • there is a bug where the big font is not displayed correctly

Schematic:

/media/uploads/gaebu/alarmclock_mbed_128x64.pdf

Revision:
2:fbf734bc04de
Parent:
1:8a7f4f79f84d
--- a/MyPhone_20.h	Tue Aug 26 21:32:24 2014 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,70 +0,0 @@
-
-
-/*
- *
- * MyPhone_20
- *
- * created with FontCreator
- * written by F. Maximilian Thiele
- *
- * http://www.apetech.de/fontCreator
- * me@apetech.de
- *
- * File Name           : MyPhone_20.h
- * Date                : 14.04.2012
- * Font size in bytes  : 896
- * Font width          : 10
- * Font height         : 11
- * Font first char     : 48
- * Font last char      : 58
- * Font used chars     : 10
- *
- * The font data are defined as
- *
- * struct _FONT_ {
- *     uint16_t   font_Size_in_Bytes_over_all_included_Size_it_self;
- *     uint8_t    font_Width_in_Pixel_for_fixed_drawing;
- *     uint8_t    font_Height_in_Pixel_for_all_characters;
- *     unit8_t    font_First_Char;
- *     uint8_t    font_Char_Count;
- *
- *     uint8_t    font_Char_Widths[font_Last_Char - font_First_Char +1];
- *                  // for each character the separate width in pixels,
- *                  // characters < 128 have an implicit virtual right empty row
- *
- *     uint8_t    font_data[];
- *                  // bit field of all characters
- */
-
-#ifndef MYPHONE_20_H
-#define MYPHONE_20_H
-
-#define MYPHONE_20_WIDTH 10
-#define MYPHONE_20_HEIGHT 11
-
-static unsigned int MyPhone_20[] = {
-    0x03, 0x80, // size
-    0x0A, // width
-    0x0B, // height
-    0x30, // first char
-    0x0A, // char count
-    
-    // char widths
-    0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 
-    
-    
-    // font data
-    0xFE, 0xFF, 0xFF, 0x01, 0x01, 0xFF, 0xFE, 0xFE, 0x60, 0xE0, 0xE0, 0x80, 0x80, 0xE0, 0x60, 0x60, // 48
-    0x0C, 0x02, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x80, 0x80, 0xE0, 0xE0, 0xE0, 0x80, 0x80, 0x80, // 49
-    0x02, 0x83, 0xC3, 0xC1, 0x61, 0x3F, 0x1E, 0x1E, 0xE0, 0xE0, 0xE0, 0xA0, 0x80, 0x80, 0x80, 0x80, // 50
-    0x02, 0x03, 0x23, 0x21, 0x21, 0xFF, 0xDE, 0xDE, 0x60, 0xE0, 0xE0, 0x80, 0x80, 0xE0, 0x60, 0x60, // 51
-    0xE0, 0x9C, 0x9E, 0x82, 0xFF, 0xFF, 0x80, 0x80, 0x20, 0x20, 0x20, 0x20, 0xE0, 0xE0, 0x20, 0x20, // 52
-    0x1F, 0x1F, 0x1F, 0x19, 0x19, 0xF9, 0xE1, 0xE1, 0x60, 0xE0, 0xE0, 0x80, 0x80, 0xE0, 0x60, 0x60, // 53
-    0xFC, 0xFE, 0xFF, 0x23, 0x21, 0xE1, 0xC0, 0xC0, 0x60, 0xE0, 0xE0, 0x80, 0x80, 0xE0, 0x60, 0x60, // 54
-    0x01, 0x81, 0xE1, 0xE1, 0x7D, 0x1F, 0x03, 0x03, 0x00, 0xE0, 0xE0, 0xE0, 0x00, 0x00, 0x00, 0x00, // 55
-    0xDE, 0xFF, 0xFF, 0x21, 0x21, 0xFF, 0xDE, 0xDE, 0x60, 0xE0, 0xE0, 0x80, 0x80, 0xE0, 0x60, 0x60, // 56
-    0x1E, 0x3F, 0x3F, 0x21, 0x21, 0xFF, 0xFE, 0xFE, 0x00, 0x80, 0x80, 0x80, 0xE0, 0x60, 0x20, 0x20 // 57
-    
-};
-
-#endif