Love box

Dependencies:   ds3231 mbed

Committer:
arashash
Date:
Mon Jul 30 07:40:49 2018 +0000
Revision:
0:f7003ffbc25f
initial commmit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
arashash 0:f7003ffbc25f 1 //instantiate rtc object
arashash 0:f7003ffbc25f 2 #include "mbed.h"
arashash 0:f7003ffbc25f 3 #include "ds3231.h"
arashash 0:f7003ffbc25f 4 #include "ds3231.h"
arashash 0:f7003ffbc25f 5
arashash 0:f7003ffbc25f 6 //instantiate rtc object
arashash 0:f7003ffbc25f 7 Serial pc(USBTX, USBRX);
arashash 0:f7003ffbc25f 8 Ds3231 rtc(PTE0, PTE1);
arashash 0:f7003ffbc25f 9
arashash 0:f7003ffbc25f 10
arashash 0:f7003ffbc25f 11 int epoch_ref = 900000000;
arashash 0:f7003ffbc25f 12
arashash 0:f7003ffbc25f 13 DigitalOut segA(D12);
arashash 0:f7003ffbc25f 14 DigitalOut segB(D8);
arashash 0:f7003ffbc25f 15 DigitalOut segC(D5);
arashash 0:f7003ffbc25f 16 DigitalOut segD(D3);
arashash 0:f7003ffbc25f 17 DigitalOut segE(D2);
arashash 0:f7003ffbc25f 18 DigitalOut segF(D11);
arashash 0:f7003ffbc25f 19 DigitalOut segG(D6);
arashash 0:f7003ffbc25f 20 DigitalOut segPt(D4);
arashash 0:f7003ffbc25f 21
arashash 0:f7003ffbc25f 22 //display pins
arashash 0:f7003ffbc25f 23 //int segA = 5; // >> 11
arashash 0:f7003ffbc25f 24 //int segB = 13; // >> 7
arashash 0:f7003ffbc25f 25 //int segC = 10; // >> 4
arashash 0:f7003ffbc25f 26 //int segD = 8; // >> 2
arashash 0:f7003ffbc25f 27 //int segE = 7; // >> 1
arashash 0:f7003ffbc25f 28 //int segF = 4; // >> 10
arashash 0:f7003ffbc25f 29 //int segG = 11; // >> 5
arashash 0:f7003ffbc25f 30 //int segPt = 9; // >> 3
arashash 0:f7003ffbc25f 31 //------------//
arashash 0:f7003ffbc25f 32
arashash 0:f7003ffbc25f 33 //display digit
arashash 0:f7003ffbc25f 34 DigitalOut d1(D13);
arashash 0:f7003ffbc25f 35 DigitalOut d2(D10);
arashash 0:f7003ffbc25f 36 DigitalOut d3(D9);
arashash 0:f7003ffbc25f 37 DigitalOut d4(D7);
arashash 0:f7003ffbc25f 38
arashash 0:f7003ffbc25f 39 //int d1 = 6; // >> 12
arashash 0:f7003ffbc25f 40 //int d2 = 3; // >> 9
arashash 0:f7003ffbc25f 41 //int d3 = 2; // >> 8
arashash 0:f7003ffbc25f 42 //int d4 = 12; // >> 6
arashash 0:f7003ffbc25f 43 //------------//
arashash 0:f7003ffbc25f 44
arashash 0:f7003ffbc25f 45 int delayTime = 5000; //delayTime <Don't change it, if you don't know where is it!>
arashash 0:f7003ffbc25f 46
arashash 0:f7003ffbc25f 47 int i=0;
arashash 0:f7003ffbc25f 48
arashash 0:f7003ffbc25f 49
arashash 0:f7003ffbc25f 50
arashash 0:f7003ffbc25f 51
arashash 0:f7003ffbc25f 52
arashash 0:f7003ffbc25f 53 //=============================================//
arashash 0:f7003ffbc25f 54 void zero(){
arashash 0:f7003ffbc25f 55 segA = 1;
arashash 0:f7003ffbc25f 56 segB = 1;
arashash 0:f7003ffbc25f 57 segC = 1;
arashash 0:f7003ffbc25f 58 segD = 1;
arashash 0:f7003ffbc25f 59 segE = 1;
arashash 0:f7003ffbc25f 60 segF = 1;
arashash 0:f7003ffbc25f 61 segG = 0;
arashash 0:f7003ffbc25f 62 segPt = 0;
arashash 0:f7003ffbc25f 63 }
arashash 0:f7003ffbc25f 64 //=============================================//
arashash 0:f7003ffbc25f 65 void one(){
arashash 0:f7003ffbc25f 66 segA = 0;
arashash 0:f7003ffbc25f 67 segB = 1;
arashash 0:f7003ffbc25f 68 segC = 1;
arashash 0:f7003ffbc25f 69 segD = 0;
arashash 0:f7003ffbc25f 70 segE = 0;
arashash 0:f7003ffbc25f 71 segF = 0;
arashash 0:f7003ffbc25f 72 segG = 0;
arashash 0:f7003ffbc25f 73 segPt = 0;
arashash 0:f7003ffbc25f 74 }
arashash 0:f7003ffbc25f 75 //=============================================//
arashash 0:f7003ffbc25f 76 void two(){
arashash 0:f7003ffbc25f 77 segA = 1;
arashash 0:f7003ffbc25f 78 segB = 1;
arashash 0:f7003ffbc25f 79 segC = 0;
arashash 0:f7003ffbc25f 80 segD = 1;
arashash 0:f7003ffbc25f 81 segE = 1;
arashash 0:f7003ffbc25f 82 segF = 0;
arashash 0:f7003ffbc25f 83 segG = 1;
arashash 0:f7003ffbc25f 84 segPt = 0;
arashash 0:f7003ffbc25f 85 }
arashash 0:f7003ffbc25f 86 //=============================================//
arashash 0:f7003ffbc25f 87 void three(){
arashash 0:f7003ffbc25f 88 segA = 1;
arashash 0:f7003ffbc25f 89 segB = 1;
arashash 0:f7003ffbc25f 90 segC = 1;
arashash 0:f7003ffbc25f 91 segD = 1;
arashash 0:f7003ffbc25f 92 segE = 0;
arashash 0:f7003ffbc25f 93 segF = 0;
arashash 0:f7003ffbc25f 94 segG = 1;
arashash 0:f7003ffbc25f 95 segPt = 0;
arashash 0:f7003ffbc25f 96 }
arashash 0:f7003ffbc25f 97 //=============================================//
arashash 0:f7003ffbc25f 98 void four(){
arashash 0:f7003ffbc25f 99 segA = 0;
arashash 0:f7003ffbc25f 100 segB = 1;
arashash 0:f7003ffbc25f 101 segC = 1;
arashash 0:f7003ffbc25f 102 segD = 0;
arashash 0:f7003ffbc25f 103 segE = 0;
arashash 0:f7003ffbc25f 104 segF = 1;
arashash 0:f7003ffbc25f 105 segG = 1;
arashash 0:f7003ffbc25f 106 segPt = 0;
arashash 0:f7003ffbc25f 107 }
arashash 0:f7003ffbc25f 108 //=============================================//
arashash 0:f7003ffbc25f 109 void five(){
arashash 0:f7003ffbc25f 110 segA = 1;
arashash 0:f7003ffbc25f 111 segB = 0;
arashash 0:f7003ffbc25f 112 segC = 1;
arashash 0:f7003ffbc25f 113 segD = 1;
arashash 0:f7003ffbc25f 114 segE = 0;
arashash 0:f7003ffbc25f 115 segF = 1;
arashash 0:f7003ffbc25f 116 segG = 1;
arashash 0:f7003ffbc25f 117 segPt = 0;
arashash 0:f7003ffbc25f 118 }
arashash 0:f7003ffbc25f 119 //=============================================//
arashash 0:f7003ffbc25f 120 void six(){
arashash 0:f7003ffbc25f 121 segA = 1;
arashash 0:f7003ffbc25f 122 segB = 0;
arashash 0:f7003ffbc25f 123 segC = 1;
arashash 0:f7003ffbc25f 124 segD = 1;
arashash 0:f7003ffbc25f 125 segE = 1;
arashash 0:f7003ffbc25f 126 segF = 1;
arashash 0:f7003ffbc25f 127 segG = 1;
arashash 0:f7003ffbc25f 128 segPt = 0;
arashash 0:f7003ffbc25f 129 }
arashash 0:f7003ffbc25f 130 //=============================================//
arashash 0:f7003ffbc25f 131 void seven(){
arashash 0:f7003ffbc25f 132 segA = 1;
arashash 0:f7003ffbc25f 133 segB = 1;
arashash 0:f7003ffbc25f 134 segC = 1;
arashash 0:f7003ffbc25f 135 segD = 0;
arashash 0:f7003ffbc25f 136 segE = 0;
arashash 0:f7003ffbc25f 137 segF = 0;
arashash 0:f7003ffbc25f 138 segG = 0;
arashash 0:f7003ffbc25f 139 segPt = 0;
arashash 0:f7003ffbc25f 140 }
arashash 0:f7003ffbc25f 141 //=============================================//
arashash 0:f7003ffbc25f 142 void eight(){
arashash 0:f7003ffbc25f 143 segA = 1;
arashash 0:f7003ffbc25f 144 segB = 1;
arashash 0:f7003ffbc25f 145 segC = 1;
arashash 0:f7003ffbc25f 146 segD = 1;
arashash 0:f7003ffbc25f 147 segE = 1;
arashash 0:f7003ffbc25f 148 segF = 1;
arashash 0:f7003ffbc25f 149 segG = 1;
arashash 0:f7003ffbc25f 150 segPt = 0;
arashash 0:f7003ffbc25f 151 }
arashash 0:f7003ffbc25f 152 //=============================================//
arashash 0:f7003ffbc25f 153 void nine(){
arashash 0:f7003ffbc25f 154 segA = 1;
arashash 0:f7003ffbc25f 155 segB = 1;
arashash 0:f7003ffbc25f 156 segC = 1;
arashash 0:f7003ffbc25f 157 segD = 1;
arashash 0:f7003ffbc25f 158 segE = 0;
arashash 0:f7003ffbc25f 159 segF = 1;
arashash 0:f7003ffbc25f 160 segG = 1;
arashash 0:f7003ffbc25f 161 segPt = 0;
arashash 0:f7003ffbc25f 162 }
arashash 0:f7003ffbc25f 163 //=============================================//
arashash 0:f7003ffbc25f 164 void point(){
arashash 0:f7003ffbc25f 165 segA = 0;
arashash 0:f7003ffbc25f 166 segB = 0;
arashash 0:f7003ffbc25f 167 segC = 0;
arashash 0:f7003ffbc25f 168 segD = 0;
arashash 0:f7003ffbc25f 169 segE = 0;
arashash 0:f7003ffbc25f 170 segF = 0;
arashash 0:f7003ffbc25f 171 segG = 0;
arashash 0:f7003ffbc25f 172 segPt = 1;
arashash 0:f7003ffbc25f 173 }
arashash 0:f7003ffbc25f 174 //=============================================//
arashash 0:f7003ffbc25f 175 void none(){
arashash 0:f7003ffbc25f 176 segA = 0;
arashash 0:f7003ffbc25f 177 segB = 0;
arashash 0:f7003ffbc25f 178 segC = 0;
arashash 0:f7003ffbc25f 179 segD = 0;
arashash 0:f7003ffbc25f 180 segE = 0;
arashash 0:f7003ffbc25f 181 segF = 0;
arashash 0:f7003ffbc25f 182 segG = 0;
arashash 0:f7003ffbc25f 183 segPt = 0;
arashash 0:f7003ffbc25f 184 }
arashash 0:f7003ffbc25f 185
arashash 0:f7003ffbc25f 186
arashash 0:f7003ffbc25f 187 //=============================================//
arashash 0:f7003ffbc25f 188 //Select Wich Digit (selectD) is going to Display (writeL)
arashash 0:f7003ffbc25f 189 void disp(int d){
arashash 0:f7003ffbc25f 190
arashash 0:f7003ffbc25f 191 switch (d) { // choose a Number
arashash 0:f7003ffbc25f 192 case 0: zero();
arashash 0:f7003ffbc25f 193 break;
arashash 0:f7003ffbc25f 194 case 1: one();
arashash 0:f7003ffbc25f 195 break;
arashash 0:f7003ffbc25f 196 case 2: two();
arashash 0:f7003ffbc25f 197 break;
arashash 0:f7003ffbc25f 198 case 3: three();
arashash 0:f7003ffbc25f 199 break;
arashash 0:f7003ffbc25f 200 case 4: four();
arashash 0:f7003ffbc25f 201 break;
arashash 0:f7003ffbc25f 202 case 5: five();
arashash 0:f7003ffbc25f 203 break;
arashash 0:f7003ffbc25f 204 case 6: six();
arashash 0:f7003ffbc25f 205 break;
arashash 0:f7003ffbc25f 206 case 7: seven();
arashash 0:f7003ffbc25f 207 break;
arashash 0:f7003ffbc25f 208 case 8: eight();
arashash 0:f7003ffbc25f 209 break;
arashash 0:f7003ffbc25f 210 case 9: nine();
arashash 0:f7003ffbc25f 211 break;
arashash 0:f7003ffbc25f 212 case 10: point(); // print a Point
arashash 0:f7003ffbc25f 213 break;
arashash 0:f7003ffbc25f 214 case 11: none(); // make all them off !
arashash 0:f7003ffbc25f 215 break;
arashash 0:f7003ffbc25f 216 }
arashash 0:f7003ffbc25f 217 }
arashash 0:f7003ffbc25f 218
arashash 0:f7003ffbc25f 219
arashash 0:f7003ffbc25f 220
arashash 0:f7003ffbc25f 221 int epoch_time;
arashash 0:f7003ffbc25f 222 int epoch_diff;
arashash 0:f7003ffbc25f 223 int digit;
arashash 0:f7003ffbc25f 224
arashash 0:f7003ffbc25f 225 int main()
arashash 0:f7003ffbc25f 226 {
arashash 0:f7003ffbc25f 227 pc.printf("Hello World!\n");
arashash 0:f7003ffbc25f 228 epoch_time = rtc.get_epoch();
arashash 0:f7003ffbc25f 229 printf("\nTime as seconds since January 1, 1970 = %d\n", epoch_time);
arashash 0:f7003ffbc25f 230 // for selecting the second digit
arashash 0:f7003ffbc25f 231 d1 = 1;
arashash 0:f7003ffbc25f 232 d2 = 1;
arashash 0:f7003ffbc25f 233 d3 = 0;
arashash 0:f7003ffbc25f 234 d4 = 1;
arashash 0:f7003ffbc25f 235
arashash 0:f7003ffbc25f 236 while (true) {
arashash 0:f7003ffbc25f 237 epoch_time = rtc.get_epoch();
arashash 0:f7003ffbc25f 238 epoch_diff = epoch_time - epoch_ref;
arashash 0:f7003ffbc25f 239 printf("Elapsed : %d\n", epoch_diff);
arashash 0:f7003ffbc25f 240 digit = epoch_diff % 10;
arashash 0:f7003ffbc25f 241 disp(digit);
arashash 0:f7003ffbc25f 242
arashash 0:f7003ffbc25f 243
arashash 0:f7003ffbc25f 244 wait(1);
arashash 0:f7003ffbc25f 245 }
arashash 0:f7003ffbc25f 246 }