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
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
Buxton32.h
- Committer:
- gaebu
- Date:
- 2016-01-05
- Revision:
- 2:fbf734bc04de
File content as of revision 2:fbf734bc04de:
/* * * new Font * * created with FontCreator * written by F. Maximilian Thiele * * http://www.apetech.de/fontCreator * me@apetech.de * * File Name : Buxton32.h * Date : 05.01.2016 * Font size in bytes : 10833 * Font width : 10 * Font height : 36 * Font first char : 32 * Font last char : 59 * Font used chars : 27 * * 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 */ //#include <inttypes.h> //#include <avr/pgmspace.h> #ifndef NEW_FONT_H #define NEW_FONT_H #define NEW_FONT_WIDTH 10 #define NEW_FONT_HEIGHT 36 unsigned int Buxton32[] = { 0x2A, 0x51, // size 0x0A, // width 0x24, // height 0x20, // first char 0x1B, // char count // char widths 0x00, 0x07, 0x08, 0x13, 0x0E, 0x10, 0x13, 0x03, 0x09, 0x09, 0x10, 0x0D, 0x05, 0x09, 0x04, 0x09, 0x0E, 0x04, 0x10, 0x10, 0x0F, 0x0E, 0x0E, 0x10, 0x0C, 0x0E, 0x05, // font data 0x00, 0x00, 0x00, 0xF0, 0xFE, 0x3F, 0x0F, 0x00, 0x00, 0xFC, 0xFF, 0x07, 0x00, 0x00, 0x00, 0x80, 0xC3, 0x83, 0x00, 0x00, 0x00, 0x01, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 33 0xF8, 0xF8, 0x18, 0x00, 0x00, 0xF8, 0xF8, 0x78, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 34 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0xC0, 0xE0, 0xE0, 0x00, 0x00, 0xC0, 0xFC, 0x7C, 0x1C, 0x80, 0x80, 0x80, 0x60, 0xE0, 0x63, 0x63, 0x67, 0xF7, 0xFF, 0x7F, 0x77, 0xF3, 0xFB, 0x7F, 0x3F, 0x33, 0x33, 0x23, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x07, 0x07, 0x00, 0xFE, 0xFF, 0xE7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 35 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xE0, 0xE0, 0xE0, 0xF0, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xE0, 0xF0, 0xFF, 0xBF, 0xF8, 0xFF, 0x1F, 0x18, 0x00, 0x00, 0x3C, 0x3C, 0x36, 0x32, 0xF1, 0xFF, 0x37, 0x33, 0xFF, 0x3F, 0x33, 0x1F, 0x1E, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x03, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 36 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xC0, 0xC0, 0x00, 0x3F, 0x7F, 0x67, 0x63, 0x33, 0x3F, 0x1E, 0x00, 0xC0, 0xF0, 0x3E, 0x0F, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xF0, 0xFC, 0x0F, 0x03, 0xF8, 0xFC, 0x1E, 0x9C, 0xFC, 0xF8, 0x30, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x06, 0x00, 0x00, 0x01, 0x03, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 37 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xE0, 0xF0, 0xF8, 0xB8, 0x9C, 0x9C, 0x9E, 0x8F, 0x87, 0x87, 0x83, 0x80, 0xC0, 0xC0, 0xC0, 0xC0, 0xF0, 0xF8, 0xF8, 0xFD, 0xEF, 0xE7, 0x63, 0x73, 0x33, 0x31, 0x19, 0xFF, 0xFF, 0x1F, 0x03, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0xFF, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 38 0xF8, 0xF8, 0x38, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 39 0x00, 0x00, 0x80, 0xE0, 0xF8, 0x3C, 0x1E, 0x0F, 0x07, 0xF0, 0xFE, 0x3F, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x1F, 0x7F, 0xF0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x30, 0x70, 0xF0, 0xE0, 0xC0, // 40 0x1E, 0x7C, 0xF8, 0xE0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0F, 0x7F, 0xFC, 0xF0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x80, 0xF0, 0xFF, 0x3F, 0x03, 0xC0, 0xC0, 0xE0, 0x60, 0x70, 0x30, 0x10, 0x00, 0x00, // 41 0x80, 0x80, 0x80, 0xD8, 0xD8, 0xF8, 0xF6, 0xFF, 0xFC, 0xDC, 0xCE, 0x66, 0x60, 0x60, 0x60, 0x20, 0x01, 0x01, 0x00, 0x00, 0x06, 0x07, 0x03, 0x3F, 0x3F, 0x01, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 42 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xF0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x0E, 0x0E, 0x0E, 0x06, 0xFF, 0xFF, 0xC6, 0x06, 0x06, 0x06, 0x06, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 43 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xE0, 0xE0, 0xC0, 0x00, 0x00, 0x31, 0x3F, 0x1F, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, // 44 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x0C, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 45 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xC0, 0xC0, 0x03, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, // 46 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0xF0, 0x70, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFC, 0x1F, 0x03, 0x00, 0x00, 0x80, 0xF0, 0x7F, 0x0F, 0x01, 0x00, 0x00, 0x00, 0xFC, 0x7F, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 47 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xFC, 0x7E, 0x1F, 0x0F, 0x07, 0x07, 0x06, 0x0E, 0x0E, 0x3C, 0xF8, 0xE0, 0xFE, 0xFF, 0xFF, 0x80, 0x00, 0x00, 0x80, 0x80, 0xC0, 0xE0, 0x70, 0x78, 0x1F, 0x0F, 0x00, 0x01, 0x03, 0x03, 0x03, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 48 0x00, 0x80, 0x00, 0x00, 0x1F, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xC0, 0x00, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, // 49 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x1C, 0x1C, 0x1E, 0x1E, 0x0E, 0x07, 0x07, 0x03, 0xC3, 0xF3, 0x7F, 0x1F, 0x07, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xE0, 0xF8, 0xBC, 0x9E, 0x87, 0x83, 0x81, 0x80, 0x80, 0x80, 0x80, 0x80, 0x02, 0x07, 0x07, 0x07, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 50 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x83, 0x83, 0xC3, 0xE3, 0xFB, 0xFF, 0x1F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x07, 0x87, 0x07, 0x07, 0x03, 0x83, 0x83, 0x83, 0xC3, 0xC3, 0xE7, 0x77, 0x7F, 0x3E, 0x1E, 0x00, 0x07, 0x07, 0x07, 0x07, 0x03, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 51 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xC0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xE0, 0xF8, 0x3C, 0x1F, 0x0F, 0x07, 0xFF, 0xFF, 0xFF, 0x00, 0x80, 0x00, 0x0F, 0x0F, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0xFF, 0xFF, 0xFF, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x1F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 52 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0xF8, 0xFC, 0xFE, 0xFE, 0xC7, 0xC7, 0xC3, 0xC3, 0xC3, 0xC1, 0xC1, 0x81, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x83, 0xFF, 0xFF, 0x1C, 0x00, 0x00, 0x06, 0x1E, 0x1C, 0x18, 0x18, 0x1C, 0x0C, 0x0F, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 53 0x00, 0x00, 0x00, 0x80, 0xC0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xF8, 0xFF, 0x1F, 0x07, 0x83, 0x81, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x80, 0x00, 0x7F, 0xFF, 0xFF, 0xFE, 0x9F, 0x87, 0x83, 0x81, 0xC1, 0xE1, 0x71, 0x3F, 0x1F, 0x07, 0x00, 0x03, 0x07, 0x03, 0x03, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 54 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x0E, 0x0F, 0x0F, 0x0F, 0x0E, 0x06, 0x06, 0x06, 0x06, 0x07, 0xE7, 0xFF, 0xFF, 0x1F, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xF8, 0xFF, 0x3F, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 55 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x30, 0xFC, 0xFE, 0xCE, 0x87, 0x87, 0xC7, 0xE3, 0xF7, 0x7F, 0x3F, 0x0E, 0xF0, 0xF8, 0xBF, 0x0F, 0x07, 0x07, 0x8F, 0xFF, 0xFC, 0xF8, 0x00, 0x00, 0x01, 0x03, 0x03, 0x03, 0x07, 0x07, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 56 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xFE, 0xFE, 0xC7, 0x83, 0x83, 0x83, 0xC3, 0xC3, 0xFF, 0xFF, 0xFF, 0x1E, 0x06, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0xE0, 0xFF, 0x7F, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x1F, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 57 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xC0, 0xC0, 0x80, 0x01, 0xF3, 0xF3, 0xF3, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // 58 }; #endif