Digital Clock with Arch and Grove - 4 Digit Display

Dependencies:   DigitDisplay mbed

Fork of DigitDisplay_Clock by Seeed Studio

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 #include "DigitDisplay.h"
00003 
00004 DigitalOut myled(LED1);
00005 
00006 DigitDisplay display(P1_14, P1_13);
00007 
00008 Ticker tick;
00009 
00010 uint8_t hour   = 20;
00011 uint8_t minute = 14;
00012 uint8_t second = 0;
00013 
00014 void beat()
00015 {
00016     static uint8_t colon = 0;
00017     
00018     display.setColon(colon);
00019     if (colon) {
00020         second++;
00021         if (second >= 60) {
00022             second = 0;
00023             minute++;
00024             if (minute >= 60) {
00025                 minute = 0;
00026                 
00027                 hour++;
00028                 if (hour >= 24) {
00029                     hour = 0;
00030                 }
00031                 display.write(0, hour / 10);
00032                 display.write(1, hour % 10);
00033             }
00034             display.write(2, minute / 10);
00035             display.write(3, minute % 10);
00036         }
00037     }
00038     colon = 1 - colon;
00039 }
00040 
00041 int main() {
00042     display.write(0, hour / 10);
00043     display.write(1, hour % 10);
00044     display.write(2, minute / 10);
00045     display.write(3, minute % 10);
00046     display.setColon(true);
00047     tick.attach(&beat, 0.5);
00048     while(1) {
00049         myled = 1;
00050         wait(0.5);
00051         myled = 0;
00052         wait(0.5);
00053     }
00054 }