Example program for the Seeed Grove shield, that uses Digit Display Grove on UART connector (D0/D1 pins). This program displays/measures time.

Dependencies:   DigitDisplay mbed

Fork of DigitDisplay_Clock by Seeed Studio

Committer:
screamer
Date:
Tue Jul 29 12:02:15 2014 +0000
Revision:
1:50a737d41539
Parent:
0:20e070e8ecca
Child:
2:36c54dcb0b7f
Change pins to use Arduino pin names

Who changed what in which revision?

UserRevisionLine numberNew contents of line
seeed 0:20e070e8ecca 1 #include "mbed.h"
seeed 0:20e070e8ecca 2 #include "DigitDisplay.h"
seeed 0:20e070e8ecca 3
seeed 0:20e070e8ecca 4 DigitalOut myled(LED1);
seeed 0:20e070e8ecca 5
screamer 1:50a737d41539 6 /**
screamer 1:50a737d41539 7 * RX pin - D0
screamer 1:50a737d41539 8 * TX pin - D1
screamer 1:50a737d41539 9 */
screamer 1:50a737d41539 10 DigitDisplay display(D0, D1);
seeed 0:20e070e8ecca 11
seeed 0:20e070e8ecca 12 Ticker tick;
seeed 0:20e070e8ecca 13
seeed 0:20e070e8ecca 14 uint8_t hour = 20;
seeed 0:20e070e8ecca 15 uint8_t minute = 14;
seeed 0:20e070e8ecca 16 uint8_t second = 0;
seeed 0:20e070e8ecca 17
seeed 0:20e070e8ecca 18 void beat()
seeed 0:20e070e8ecca 19 {
seeed 0:20e070e8ecca 20 static uint8_t colon = 0;
seeed 0:20e070e8ecca 21
seeed 0:20e070e8ecca 22 display.setColon(colon);
seeed 0:20e070e8ecca 23 if (colon) {
seeed 0:20e070e8ecca 24 second++;
seeed 0:20e070e8ecca 25 if (second >= 60) {
seeed 0:20e070e8ecca 26 second = 0;
seeed 0:20e070e8ecca 27 minute++;
seeed 0:20e070e8ecca 28 if (minute >= 60) {
seeed 0:20e070e8ecca 29 minute = 0;
seeed 0:20e070e8ecca 30
seeed 0:20e070e8ecca 31 hour++;
seeed 0:20e070e8ecca 32 if (hour >= 24) {
seeed 0:20e070e8ecca 33 hour = 0;
seeed 0:20e070e8ecca 34 }
seeed 0:20e070e8ecca 35 display.write(0, hour / 10);
seeed 0:20e070e8ecca 36 display.write(1, hour % 10);
seeed 0:20e070e8ecca 37 }
seeed 0:20e070e8ecca 38 display.write(2, minute / 10);
seeed 0:20e070e8ecca 39 display.write(3, minute % 10);
seeed 0:20e070e8ecca 40 }
seeed 0:20e070e8ecca 41 }
seeed 0:20e070e8ecca 42 colon = 1 - colon;
seeed 0:20e070e8ecca 43 }
seeed 0:20e070e8ecca 44
seeed 0:20e070e8ecca 45 int main() {
seeed 0:20e070e8ecca 46 display.write(0, hour / 10);
seeed 0:20e070e8ecca 47 display.write(1, hour % 10);
seeed 0:20e070e8ecca 48 display.write(2, minute / 10);
seeed 0:20e070e8ecca 49 display.write(3, minute % 10);
seeed 0:20e070e8ecca 50 display.setColon(true);
seeed 0:20e070e8ecca 51 tick.attach(&beat, 0.5);
seeed 0:20e070e8ecca 52 while(1) {
seeed 0:20e070e8ecca 53 myled = 1;
seeed 0:20e070e8ecca 54 wait(0.5);
seeed 0:20e070e8ecca 55 myled = 0;
seeed 0:20e070e8ecca 56 wait(0.5);
seeed 0:20e070e8ecca 57 }
seeed 0:20e070e8ecca 58 }