Reloj con 4 alarmas independientes basado en reloj alarma de tony63
Dependencies: Debounced QEI RTC-DS1307 TextLCD mbed
Fork of Reloj_alarma by
main.cpp@2:ceffe5bd46e9, 2016-10-28 (annotated)
- Committer:
- kolive360
- Date:
- Fri Oct 28 01:33:54 2016 +0000
- Revision:
- 2:ceffe5bd46e9
- Parent:
- 1:0639f31dd59f
Reloj con 4 alarmas independientes basado en reloj alarma de tony63
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Jepalacioh | 0:c2ed510ee88d | 1 | #include "mbed.h" |
Jepalacioh | 0:c2ed510ee88d | 2 | #include "DebouncedIn.h" |
Jepalacioh | 0:c2ed510ee88d | 3 | #include "TextLCD.h" |
Jepalacioh | 0:c2ed510ee88d | 4 | #include "QEI.h" |
Jepalacioh | 0:c2ed510ee88d | 5 | #include "Rtc_Ds1307.h" |
Jepalacioh | 0:c2ed510ee88d | 6 | |
Jepalacioh | 0:c2ed510ee88d | 7 | TextLCD lcd(PTB10, PTB11, PTE2, PTE3, PTE4, PTE5); // rs, e, d4-d7 |
kolive360 | 2:ceffe5bd46e9 | 8 | Rtc_Ds1307 rtc(PTE0, PTE1);//SCL,SDA |
Jepalacioh | 0:c2ed510ee88d | 9 | QEI wheel (PTA16, PTA17, NC, 48); |
Jepalacioh | 0:c2ed510ee88d | 10 | |
Jepalacioh | 0:c2ed510ee88d | 11 | DebouncedIn button_enco(PTC5); |
kolive360 | 2:ceffe5bd46e9 | 12 | //DebouncedIn button_confi(PTB8); |
kolive360 | 2:ceffe5bd46e9 | 13 | //InterruptIn button_confi(PTB8); |
kolive360 | 2:ceffe5bd46e9 | 14 | |
kolive360 | 2:ceffe5bd46e9 | 15 | DigitalOut led1(PTC7); |
kolive360 | 2:ceffe5bd46e9 | 16 | DigitalOut led2(PTC0); |
kolive360 | 2:ceffe5bd46e9 | 17 | DigitalOut led3(PTC3); |
kolive360 | 2:ceffe5bd46e9 | 18 | DigitalOut led4(PTC4); |
Jepalacioh | 0:c2ed510ee88d | 19 | |
Jepalacioh | 0:c2ed510ee88d | 20 | PwmOut Sonido(PTA5); |
Jepalacioh | 0:c2ed510ee88d | 21 | |
Jepalacioh | 0:c2ed510ee88d | 22 | float periodo; |
Jepalacioh | 0:c2ed510ee88d | 23 | float Frecuencia=4000; |
Jepalacioh | 0:c2ed510ee88d | 24 | int C1=0x0C; |
kolive360 | 2:ceffe5bd46e9 | 25 | int m,k,x1,x2,x3,x4; |
kolive360 | 2:ceffe5bd46e9 | 26 | int numero=1; |
Jepalacioh | 0:c2ed510ee88d | 27 | int Conf=0; // 0: Alarma y 1:Reloj |
Jepalacioh | 0:c2ed510ee88d | 28 | int Lugar=0; // Definen el punto en el cual va el programa |
Jepalacioh | 0:c2ed510ee88d | 29 | int i=0; |
Jepalacioh | 0:c2ed510ee88d | 30 | int visual=0; |
kolive360 | 2:ceffe5bd46e9 | 31 | int alarma=0; |
kolive360 | 2:ceffe5bd46e9 | 32 | |
Jepalacioh | 0:c2ed510ee88d | 33 | |
Jepalacioh | 0:c2ed510ee88d | 34 | int main() |
Jepalacioh | 0:c2ed510ee88d | 35 | { |
Jepalacioh | 0:c2ed510ee88d | 36 | Rtc_Ds1307::Time_rtc tm = {}; |
Jepalacioh | 0:c2ed510ee88d | 37 | Rtc_Ds1307::Time_rtc Alarm = {}; |
kolive360 | 2:ceffe5bd46e9 | 38 | Rtc_Ds1307::Time_rtc Alarm2 = {}; |
kolive360 | 2:ceffe5bd46e9 | 39 | Rtc_Ds1307::Time_rtc Alarm3 = {}; |
kolive360 | 2:ceffe5bd46e9 | 40 | Rtc_Ds1307::Time_rtc Alarm4 = {}; |
Jepalacioh | 0:c2ed510ee88d | 41 | lcd.cls(); |
Jepalacioh | 0:c2ed510ee88d | 42 | lcd.writeCommand(C1);//escribimos un comando segun el manual del modulo LCD |
kolive360 | 2:ceffe5bd46e9 | 43 | |
Jepalacioh | 0:c2ed510ee88d | 44 | periodo=(1/Frecuencia); |
Jepalacioh | 0:c2ed510ee88d | 45 | Sonido.period(periodo); |
Jepalacioh | 0:c2ed510ee88d | 46 | |
Jepalacioh | 0:c2ed510ee88d | 47 | |
kolive360 | 2:ceffe5bd46e9 | 48 | while(1){ |
kolive360 | 2:ceffe5bd46e9 | 49 | switch (Lugar){ |
kolive360 | 2:ceffe5bd46e9 | 50 | case 0: //Menu principal |
kolive360 | 2:ceffe5bd46e9 | 51 | rtc.getTime(tm); //lee el tiempo del DS1307 |
kolive360 | 2:ceffe5bd46e9 | 52 | lcd.locate(0,0); |
kolive360 | 2:ceffe5bd46e9 | 53 | lcd.printf("%02d:%02d %02d/%02d/%02d", tm.hour, tm.min, tm.date, tm.mon, tm.year); |
kolive360 | 2:ceffe5bd46e9 | 54 | lcd.locate(0,1); |
kolive360 | 2:ceffe5bd46e9 | 55 | lcd.printf("-C.Alar -C.Hora"); |
tony63 | 1:0639f31dd59f | 56 | m=wheel.getPulses(); // m son los datos del encoder |
Jepalacioh | 0:c2ed510ee88d | 57 | if(m!=0 && Conf==0){ |
Jepalacioh | 0:c2ed510ee88d | 58 | Conf=1; |
Jepalacioh | 0:c2ed510ee88d | 59 | wheel.reset(); |
Jepalacioh | 0:c2ed510ee88d | 60 | m=0; |
Jepalacioh | 0:c2ed510ee88d | 61 | } |
kolive360 | 2:ceffe5bd46e9 | 62 | if(m!=0 && Conf==1){ |
Jepalacioh | 0:c2ed510ee88d | 63 | Conf=0; |
Jepalacioh | 0:c2ed510ee88d | 64 | wheel.reset(); |
Jepalacioh | 0:c2ed510ee88d | 65 | m=0; |
Jepalacioh | 0:c2ed510ee88d | 66 | } |
Jepalacioh | 0:c2ed510ee88d | 67 | if(Conf==0){ |
kolive360 | 2:ceffe5bd46e9 | 68 | lcd.locate(9,1); |
Jepalacioh | 0:c2ed510ee88d | 69 | lcd.printf("-"); |
kolive360 | 2:ceffe5bd46e9 | 70 | lcd.locate(0,1); |
Jepalacioh | 0:c2ed510ee88d | 71 | lcd.printf(">"); |
kolive360 | 2:ceffe5bd46e9 | 72 | //lcd.locate(0,1); |
Jepalacioh | 0:c2ed510ee88d | 73 | wait(0.1); |
Jepalacioh | 0:c2ed510ee88d | 74 | } |
kolive360 | 2:ceffe5bd46e9 | 75 | if(Conf==1){ |
kolive360 | 2:ceffe5bd46e9 | 76 | lcd.locate(0,1); |
kolive360 | 2:ceffe5bd46e9 | 77 | lcd.printf("-"); |
kolive360 | 2:ceffe5bd46e9 | 78 | lcd.locate(9,1); |
kolive360 | 2:ceffe5bd46e9 | 79 | lcd.printf(">"); |
kolive360 | 2:ceffe5bd46e9 | 80 | //lcd.locate(0,1); |
kolive360 | 2:ceffe5bd46e9 | 81 | wait(0.1); |
kolive360 | 2:ceffe5bd46e9 | 82 | } |
tony63 | 1:0639f31dd59f | 83 | if (button_enco.falling()){ //si se pulsa boton encoder |
Jepalacioh | 0:c2ed510ee88d | 84 | Lugar++; |
Jepalacioh | 0:c2ed510ee88d | 85 | m=0; |
Jepalacioh | 0:c2ed510ee88d | 86 | } |
Jepalacioh | 0:c2ed510ee88d | 87 | break; |
Jepalacioh | 0:c2ed510ee88d | 88 | |
kolive360 | 2:ceffe5bd46e9 | 89 | case 1://Configurar |
kolive360 | 2:ceffe5bd46e9 | 90 | switch(i){ |
Jepalacioh | 0:c2ed510ee88d | 91 | case 0: |
kolive360 | 2:ceffe5bd46e9 | 92 | if(Conf==0){ |
Jepalacioh | 0:c2ed510ee88d | 93 | lcd.cls(); |
Jepalacioh | 0:c2ed510ee88d | 94 | lcd.locate(0,0); |
Jepalacioh | 0:c2ed510ee88d | 95 | lcd.printf("Config. Alarma "); |
Jepalacioh | 0:c2ed510ee88d | 96 | wait(1); |
kolive360 | 2:ceffe5bd46e9 | 97 | goto lazo; |
kolive360 | 2:ceffe5bd46e9 | 98 | sigo: i++; |
Jepalacioh | 0:c2ed510ee88d | 99 | m=0; |
Jepalacioh | 0:c2ed510ee88d | 100 | lcd.cls(); |
Jepalacioh | 0:c2ed510ee88d | 101 | lcd.locate(0,0); |
Jepalacioh | 0:c2ed510ee88d | 102 | lcd.printf("Dia: "); |
Jepalacioh | 0:c2ed510ee88d | 103 | tm.date=1; |
Jepalacioh | 0:c2ed510ee88d | 104 | } |
kolive360 | 2:ceffe5bd46e9 | 105 | if(Conf==1){ |
Jepalacioh | 0:c2ed510ee88d | 106 | lcd.cls(); |
Jepalacioh | 0:c2ed510ee88d | 107 | lcd.locate(0,0); |
Jepalacioh | 0:c2ed510ee88d | 108 | lcd.printf("Config. hora "); |
Jepalacioh | 0:c2ed510ee88d | 109 | wait(1); |
Jepalacioh | 0:c2ed510ee88d | 110 | i++; |
Jepalacioh | 0:c2ed510ee88d | 111 | m=0; |
Jepalacioh | 0:c2ed510ee88d | 112 | lcd.cls(); |
Jepalacioh | 0:c2ed510ee88d | 113 | lcd.locate(0,0); |
Jepalacioh | 0:c2ed510ee88d | 114 | lcd.printf("Dia: "); |
Jepalacioh | 0:c2ed510ee88d | 115 | } |
Jepalacioh | 0:c2ed510ee88d | 116 | break; |
Jepalacioh | 0:c2ed510ee88d | 117 | |
Jepalacioh | 0:c2ed510ee88d | 118 | case 1: |
Jepalacioh | 0:c2ed510ee88d | 119 | m=wheel.getPulses(); |
kolive360 | 2:ceffe5bd46e9 | 120 | if (m!=0){ |
Jepalacioh | 0:c2ed510ee88d | 121 | tm.date=tm.date+m; |
kolive360 | 2:ceffe5bd46e9 | 122 | if(tm.date>31){ |
Jepalacioh | 0:c2ed510ee88d | 123 | tm.date=31; |
Jepalacioh | 0:c2ed510ee88d | 124 | } |
kolive360 | 2:ceffe5bd46e9 | 125 | if(tm.date<1){ |
Jepalacioh | 0:c2ed510ee88d | 126 | tm.date=1; |
Jepalacioh | 0:c2ed510ee88d | 127 | } |
Jepalacioh | 0:c2ed510ee88d | 128 | wheel.reset(); |
Jepalacioh | 0:c2ed510ee88d | 129 | m=0; |
Jepalacioh | 0:c2ed510ee88d | 130 | } |
Jepalacioh | 0:c2ed510ee88d | 131 | lcd.locate(5,0); |
Jepalacioh | 0:c2ed510ee88d | 132 | lcd.printf("%02d",tm.date); |
Jepalacioh | 0:c2ed510ee88d | 133 | |
kolive360 | 2:ceffe5bd46e9 | 134 | if (button_enco.falling()){ |
Jepalacioh | 0:c2ed510ee88d | 135 | i++; |
Jepalacioh | 0:c2ed510ee88d | 136 | m=0; |
Jepalacioh | 0:c2ed510ee88d | 137 | lcd.cls(); |
Jepalacioh | 0:c2ed510ee88d | 138 | lcd.locate(0,0); |
Jepalacioh | 0:c2ed510ee88d | 139 | lcd.printf("Mes: "); |
Jepalacioh | 0:c2ed510ee88d | 140 | //tm.mon=1; |
Jepalacioh | 0:c2ed510ee88d | 141 | } |
Jepalacioh | 0:c2ed510ee88d | 142 | break; |
Jepalacioh | 0:c2ed510ee88d | 143 | |
Jepalacioh | 0:c2ed510ee88d | 144 | case 2: |
Jepalacioh | 0:c2ed510ee88d | 145 | m=wheel.getPulses(); |
kolive360 | 2:ceffe5bd46e9 | 146 | if (m!=0){ |
Jepalacioh | 0:c2ed510ee88d | 147 | tm.mon=tm.mon+m; |
kolive360 | 2:ceffe5bd46e9 | 148 | if(tm.mon>12){ |
Jepalacioh | 0:c2ed510ee88d | 149 | tm.mon=12; |
Jepalacioh | 0:c2ed510ee88d | 150 | } |
kolive360 | 2:ceffe5bd46e9 | 151 | if(tm.mon<1){ |
Jepalacioh | 0:c2ed510ee88d | 152 | tm.mon=1; |
Jepalacioh | 0:c2ed510ee88d | 153 | } |
Jepalacioh | 0:c2ed510ee88d | 154 | |
Jepalacioh | 0:c2ed510ee88d | 155 | wheel.reset(); |
Jepalacioh | 0:c2ed510ee88d | 156 | m=0; |
Jepalacioh | 0:c2ed510ee88d | 157 | } |
Jepalacioh | 0:c2ed510ee88d | 158 | lcd.locate(5,0); |
Jepalacioh | 0:c2ed510ee88d | 159 | lcd.printf("%02d",tm.mon); |
Jepalacioh | 0:c2ed510ee88d | 160 | |
kolive360 | 2:ceffe5bd46e9 | 161 | if (button_enco.falling()){ |
Jepalacioh | 0:c2ed510ee88d | 162 | i++; |
Jepalacioh | 0:c2ed510ee88d | 163 | m=0; |
Jepalacioh | 0:c2ed510ee88d | 164 | lcd.cls(); |
Jepalacioh | 0:c2ed510ee88d | 165 | lcd.locate(0,0); |
Jepalacioh | 0:c2ed510ee88d | 166 | lcd.printf("Year: "); |
tony63 | 1:0639f31dd59f | 167 | |
Jepalacioh | 0:c2ed510ee88d | 168 | } |
Jepalacioh | 0:c2ed510ee88d | 169 | break; |
Jepalacioh | 0:c2ed510ee88d | 170 | |
Jepalacioh | 0:c2ed510ee88d | 171 | case 3: |
Jepalacioh | 0:c2ed510ee88d | 172 | m=wheel.getPulses(); |
kolive360 | 2:ceffe5bd46e9 | 173 | if (m!=0){ |
Jepalacioh | 0:c2ed510ee88d | 174 | tm.year=tm.year+m; |
Jepalacioh | 0:c2ed510ee88d | 175 | |
kolive360 | 2:ceffe5bd46e9 | 176 | if(tm.year<2016){ |
kolive360 | 2:ceffe5bd46e9 | 177 | tm.year=2016; |
Jepalacioh | 0:c2ed510ee88d | 178 | } |
Jepalacioh | 0:c2ed510ee88d | 179 | |
Jepalacioh | 0:c2ed510ee88d | 180 | wheel.reset(); |
Jepalacioh | 0:c2ed510ee88d | 181 | m=0; |
Jepalacioh | 0:c2ed510ee88d | 182 | } |
Jepalacioh | 0:c2ed510ee88d | 183 | lcd.locate(6,0); |
Jepalacioh | 0:c2ed510ee88d | 184 | lcd.printf("%02d",tm.year); |
Jepalacioh | 0:c2ed510ee88d | 185 | |
kolive360 | 2:ceffe5bd46e9 | 186 | if (button_enco.falling()){ |
Jepalacioh | 0:c2ed510ee88d | 187 | i++; |
Jepalacioh | 0:c2ed510ee88d | 188 | m=0; |
Jepalacioh | 0:c2ed510ee88d | 189 | lcd.cls(); |
Jepalacioh | 0:c2ed510ee88d | 190 | lcd.locate(0,0); |
Jepalacioh | 0:c2ed510ee88d | 191 | lcd.printf("Hora: "); |
tony63 | 1:0639f31dd59f | 192 | |
Jepalacioh | 0:c2ed510ee88d | 193 | } |
Jepalacioh | 0:c2ed510ee88d | 194 | break; |
Jepalacioh | 0:c2ed510ee88d | 195 | |
Jepalacioh | 0:c2ed510ee88d | 196 | case 4: |
Jepalacioh | 0:c2ed510ee88d | 197 | m=wheel.getPulses(); |
kolive360 | 2:ceffe5bd46e9 | 198 | if (m!=0){ |
Jepalacioh | 0:c2ed510ee88d | 199 | tm.hour=tm.hour + m; |
kolive360 | 2:ceffe5bd46e9 | 200 | if(tm.hour>23){ |
Jepalacioh | 0:c2ed510ee88d | 201 | tm.hour=23; |
Jepalacioh | 0:c2ed510ee88d | 202 | } |
kolive360 | 2:ceffe5bd46e9 | 203 | if(tm.hour<0){ |
Jepalacioh | 0:c2ed510ee88d | 204 | tm.hour=0; |
Jepalacioh | 0:c2ed510ee88d | 205 | } |
Jepalacioh | 0:c2ed510ee88d | 206 | |
Jepalacioh | 0:c2ed510ee88d | 207 | wheel.reset(); |
Jepalacioh | 0:c2ed510ee88d | 208 | m=0; |
Jepalacioh | 0:c2ed510ee88d | 209 | } |
Jepalacioh | 0:c2ed510ee88d | 210 | lcd.locate(6,0); |
Jepalacioh | 0:c2ed510ee88d | 211 | lcd.printf("%02d",tm.hour); |
Jepalacioh | 0:c2ed510ee88d | 212 | |
kolive360 | 2:ceffe5bd46e9 | 213 | if (button_enco.falling()){ |
Jepalacioh | 0:c2ed510ee88d | 214 | i++; |
Jepalacioh | 0:c2ed510ee88d | 215 | m=0; |
Jepalacioh | 0:c2ed510ee88d | 216 | lcd.cls(); |
Jepalacioh | 0:c2ed510ee88d | 217 | lcd.locate(0,0); |
Jepalacioh | 0:c2ed510ee88d | 218 | lcd.printf("Minuto: "); |
Jepalacioh | 0:c2ed510ee88d | 219 | //tm.min=0; |
Jepalacioh | 0:c2ed510ee88d | 220 | } |
Jepalacioh | 0:c2ed510ee88d | 221 | break; |
Jepalacioh | 0:c2ed510ee88d | 222 | |
Jepalacioh | 0:c2ed510ee88d | 223 | case 5: |
Jepalacioh | 0:c2ed510ee88d | 224 | m=wheel.getPulses(); |
kolive360 | 2:ceffe5bd46e9 | 225 | if (m!=0){ |
Jepalacioh | 0:c2ed510ee88d | 226 | tm.min=tm.min+m; |
kolive360 | 2:ceffe5bd46e9 | 227 | if(tm.min>59){ |
Jepalacioh | 0:c2ed510ee88d | 228 | tm.min=59; |
Jepalacioh | 0:c2ed510ee88d | 229 | } |
kolive360 | 2:ceffe5bd46e9 | 230 | if(tm.min<0){ |
Jepalacioh | 0:c2ed510ee88d | 231 | tm.min=0; |
Jepalacioh | 0:c2ed510ee88d | 232 | } |
Jepalacioh | 0:c2ed510ee88d | 233 | wheel.reset(); |
Jepalacioh | 0:c2ed510ee88d | 234 | m=0; |
Jepalacioh | 0:c2ed510ee88d | 235 | } |
Jepalacioh | 0:c2ed510ee88d | 236 | lcd.locate(8,0); |
Jepalacioh | 0:c2ed510ee88d | 237 | lcd.printf("%02d",tm.min); |
Jepalacioh | 0:c2ed510ee88d | 238 | |
kolive360 | 2:ceffe5bd46e9 | 239 | if (button_enco.falling()){ |
Jepalacioh | 0:c2ed510ee88d | 240 | i++; |
Jepalacioh | 0:c2ed510ee88d | 241 | m=0; |
Jepalacioh | 0:c2ed510ee88d | 242 | lcd.cls(); |
Jepalacioh | 0:c2ed510ee88d | 243 | lcd.locate(0,0); |
Jepalacioh | 0:c2ed510ee88d | 244 | lcd.printf("Segundo: "); |
Jepalacioh | 0:c2ed510ee88d | 245 | //tm.sec=0; |
Jepalacioh | 0:c2ed510ee88d | 246 | } |
Jepalacioh | 0:c2ed510ee88d | 247 | break; |
Jepalacioh | 0:c2ed510ee88d | 248 | |
Jepalacioh | 0:c2ed510ee88d | 249 | |
Jepalacioh | 0:c2ed510ee88d | 250 | case 6: |
Jepalacioh | 0:c2ed510ee88d | 251 | m=wheel.getPulses(); |
kolive360 | 2:ceffe5bd46e9 | 252 | if (m!=0){ |
Jepalacioh | 0:c2ed510ee88d | 253 | tm.sec=tm.sec+m; |
kolive360 | 2:ceffe5bd46e9 | 254 | if(tm.sec>59){ |
Jepalacioh | 0:c2ed510ee88d | 255 | tm.sec=59; |
Jepalacioh | 0:c2ed510ee88d | 256 | } |
kolive360 | 2:ceffe5bd46e9 | 257 | if(tm.sec<0){ |
Jepalacioh | 0:c2ed510ee88d | 258 | tm.sec=0; |
Jepalacioh | 0:c2ed510ee88d | 259 | } |
Jepalacioh | 0:c2ed510ee88d | 260 | |
Jepalacioh | 0:c2ed510ee88d | 261 | wheel.reset(); |
Jepalacioh | 0:c2ed510ee88d | 262 | m=0; |
Jepalacioh | 0:c2ed510ee88d | 263 | } |
Jepalacioh | 0:c2ed510ee88d | 264 | lcd.locate(9,0); |
Jepalacioh | 0:c2ed510ee88d | 265 | lcd.printf("%02d",tm.sec); |
Jepalacioh | 0:c2ed510ee88d | 266 | |
kolive360 | 2:ceffe5bd46e9 | 267 | if (button_enco.falling()){ |
Jepalacioh | 0:c2ed510ee88d | 268 | /////////////////// |
kolive360 | 2:ceffe5bd46e9 | 269 | if(Conf==0){ |
kolive360 | 2:ceffe5bd46e9 | 270 | if(numero ==1){ |
kolive360 | 2:ceffe5bd46e9 | 271 | Alarm=tm; |
kolive360 | 2:ceffe5bd46e9 | 272 | x1=1; |
kolive360 | 2:ceffe5bd46e9 | 273 | } |
kolive360 | 2:ceffe5bd46e9 | 274 | if(numero ==2){ |
kolive360 | 2:ceffe5bd46e9 | 275 | Alarm2=tm; |
kolive360 | 2:ceffe5bd46e9 | 276 | x2=1; |
kolive360 | 2:ceffe5bd46e9 | 277 | } |
kolive360 | 2:ceffe5bd46e9 | 278 | if(numero ==3){ |
kolive360 | 2:ceffe5bd46e9 | 279 | Alarm3=tm; |
kolive360 | 2:ceffe5bd46e9 | 280 | x3=1; |
kolive360 | 2:ceffe5bd46e9 | 281 | } |
kolive360 | 2:ceffe5bd46e9 | 282 | if(numero ==4){ |
kolive360 | 2:ceffe5bd46e9 | 283 | Alarm4=tm; |
kolive360 | 2:ceffe5bd46e9 | 284 | x4=1; |
kolive360 | 2:ceffe5bd46e9 | 285 | } |
Jepalacioh | 0:c2ed510ee88d | 286 | lcd.cls(); |
kolive360 | 2:ceffe5bd46e9 | 287 | lcd.locate(0,1); |
kolive360 | 2:ceffe5bd46e9 | 288 | lcd.printf("Alarma %02d config",numero); |
Jepalacioh | 0:c2ed510ee88d | 289 | wait(1); |
Jepalacioh | 0:c2ed510ee88d | 290 | i=0; |
Jepalacioh | 0:c2ed510ee88d | 291 | m=0; |
Jepalacioh | 0:c2ed510ee88d | 292 | Lugar++; |
Jepalacioh | 0:c2ed510ee88d | 293 | lcd.cls(); |
Jepalacioh | 0:c2ed510ee88d | 294 | } |
Jepalacioh | 0:c2ed510ee88d | 295 | |
kolive360 | 2:ceffe5bd46e9 | 296 | if(Conf==1){ |
Jepalacioh | 0:c2ed510ee88d | 297 | rtc.setTime(tm, false, false); |
Jepalacioh | 0:c2ed510ee88d | 298 | rtc.startClock(); |
Jepalacioh | 0:c2ed510ee88d | 299 | lcd.cls(); |
Jepalacioh | 0:c2ed510ee88d | 300 | lcd.locate(0,0); |
Jepalacioh | 0:c2ed510ee88d | 301 | lcd.printf("Hora Config. "); |
Jepalacioh | 0:c2ed510ee88d | 302 | wait(1); |
Jepalacioh | 0:c2ed510ee88d | 303 | i=0; |
Jepalacioh | 0:c2ed510ee88d | 304 | m=0; |
Jepalacioh | 0:c2ed510ee88d | 305 | Lugar=0; |
kolive360 | 2:ceffe5bd46e9 | 306 | rtc.getTime(tm); //lee el tiempo del DS1307 |
Jepalacioh | 0:c2ed510ee88d | 307 | lcd.locate(0,0); |
kolive360 | 2:ceffe5bd46e9 | 308 | lcd.printf("%02:",tm.hour); |
kolive360 | 2:ceffe5bd46e9 | 309 | lcd.locate(0,1); |
kolive360 | 2:ceffe5bd46e9 | 310 | lcd.printf("-C.Alar -C.Hora"); |
kolive360 | 2:ceffe5bd46e9 | 311 | } |
Jepalacioh | 0:c2ed510ee88d | 312 | } |
Jepalacioh | 0:c2ed510ee88d | 313 | break; |
kolive360 | 2:ceffe5bd46e9 | 314 | } |
Jepalacioh | 0:c2ed510ee88d | 315 | break; |
Jepalacioh | 0:c2ed510ee88d | 316 | |
kolive360 | 2:ceffe5bd46e9 | 317 | case 2: //Visualizar y Activacion Alarmas |
Jepalacioh | 0:c2ed510ee88d | 318 | rtc.getTime(tm); |
kolive360 | 2:ceffe5bd46e9 | 319 | m=wheel.getPulses(); |
kolive360 | 2:ceffe5bd46e9 | 320 | if(x1==1){ |
kolive360 | 2:ceffe5bd46e9 | 321 | led1=1; |
kolive360 | 2:ceffe5bd46e9 | 322 | } |
kolive360 | 2:ceffe5bd46e9 | 323 | if(x2==1){ |
kolive360 | 2:ceffe5bd46e9 | 324 | led2=1; |
kolive360 | 2:ceffe5bd46e9 | 325 | } |
kolive360 | 2:ceffe5bd46e9 | 326 | if(x3==1){ |
kolive360 | 2:ceffe5bd46e9 | 327 | led3=1; |
kolive360 | 2:ceffe5bd46e9 | 328 | } |
kolive360 | 2:ceffe5bd46e9 | 329 | if(x4==1){ |
kolive360 | 2:ceffe5bd46e9 | 330 | led4=1; |
kolive360 | 2:ceffe5bd46e9 | 331 | } |
kolive360 | 2:ceffe5bd46e9 | 332 | if(m!=0){ |
kolive360 | 2:ceffe5bd46e9 | 333 | visual=visual+m; |
kolive360 | 2:ceffe5bd46e9 | 334 | if(visual<0){ |
kolive360 | 2:ceffe5bd46e9 | 335 | visual=0; |
kolive360 | 2:ceffe5bd46e9 | 336 | } |
kolive360 | 2:ceffe5bd46e9 | 337 | if(visual>4){ |
kolive360 | 2:ceffe5bd46e9 | 338 | visual=4; |
kolive360 | 2:ceffe5bd46e9 | 339 | } |
kolive360 | 2:ceffe5bd46e9 | 340 | wheel.reset(); |
kolive360 | 2:ceffe5bd46e9 | 341 | m=0; |
Jepalacioh | 0:c2ed510ee88d | 342 | } |
Jepalacioh | 0:c2ed510ee88d | 343 | |
kolive360 | 2:ceffe5bd46e9 | 344 | if(visual==0){//Visualiza hora |
kolive360 | 2:ceffe5bd46e9 | 345 | lcd.cls(); |
kolive360 | 2:ceffe5bd46e9 | 346 | lcd.locate(0,0); |
kolive360 | 2:ceffe5bd46e9 | 347 | lcd.printf(" Ver %02d:%02d:%02d",tm.hour,tm.min,tm.sec); |
kolive360 | 2:ceffe5bd46e9 | 348 | lcd.locate(0,1); |
kolive360 | 2:ceffe5bd46e9 | 349 | lcd.printf("Hora :%02d/%02d/%04d",tm.mon,tm.date,tm.year); |
kolive360 | 2:ceffe5bd46e9 | 350 | wait(0.1); |
kolive360 | 2:ceffe5bd46e9 | 351 | } |
kolive360 | 2:ceffe5bd46e9 | 352 | if(visual==1){//Visualilza alarma1 |
kolive360 | 2:ceffe5bd46e9 | 353 | lcd.cls(); |
kolive360 | 2:ceffe5bd46e9 | 354 | lcd.locate(0,0); |
kolive360 | 2:ceffe5bd46e9 | 355 | lcd.printf(" Ver %02d:%02d:%02d", Alarm.hour, Alarm.min,Alarm.sec); |
kolive360 | 2:ceffe5bd46e9 | 356 | lcd.locate(0,1); |
kolive360 | 2:ceffe5bd46e9 | 357 | lcd.printf("Alar1:%02d/%02d/%04d",Alarm.mon,Alarm.date,Alarm.year); |
kolive360 | 2:ceffe5bd46e9 | 358 | wait(0.1); |
Jepalacioh | 0:c2ed510ee88d | 359 | } |
kolive360 | 2:ceffe5bd46e9 | 360 | if(visual==2){//Visualiza alarma2 |
kolive360 | 2:ceffe5bd46e9 | 361 | lcd.cls(); |
kolive360 | 2:ceffe5bd46e9 | 362 | lcd.locate(0,0); |
kolive360 | 2:ceffe5bd46e9 | 363 | lcd.printf(" Ver %02d:%02d:%02d", Alarm2.hour, Alarm2.min,Alarm2.sec); |
kolive360 | 2:ceffe5bd46e9 | 364 | lcd.locate(0,1); |
kolive360 | 2:ceffe5bd46e9 | 365 | lcd.printf("Alar2:%02d/%02d/%04d",Alarm2.mon,Alarm2.date,Alarm2.year); |
kolive360 | 2:ceffe5bd46e9 | 366 | wait(0.1); |
kolive360 | 2:ceffe5bd46e9 | 367 | } |
kolive360 | 2:ceffe5bd46e9 | 368 | if(visual==3){//Visualiza alarma3 |
kolive360 | 2:ceffe5bd46e9 | 369 | lcd.cls(); |
kolive360 | 2:ceffe5bd46e9 | 370 | lcd.locate(0,0); |
kolive360 | 2:ceffe5bd46e9 | 371 | lcd.printf(" Ver %02d:%02d:%02d", Alarm3.hour, Alarm3.min,Alarm3.sec); |
kolive360 | 2:ceffe5bd46e9 | 372 | lcd.locate(0,1); |
kolive360 | 2:ceffe5bd46e9 | 373 | lcd.printf("Alar3:%02d/%02d/%04d",Alarm3.mon,Alarm3.date,Alarm3.year); |
kolive360 | 2:ceffe5bd46e9 | 374 | wait(0.1); |
kolive360 | 2:ceffe5bd46e9 | 375 | } |
kolive360 | 2:ceffe5bd46e9 | 376 | if(visual==4){//Visualiza alarma4 |
kolive360 | 2:ceffe5bd46e9 | 377 | lcd.cls(); |
kolive360 | 2:ceffe5bd46e9 | 378 | lcd.locate(0,0); |
kolive360 | 2:ceffe5bd46e9 | 379 | lcd.printf(" Ver %02d:%02d:%02d", Alarm4.hour, Alarm4.min,Alarm4.sec); |
kolive360 | 2:ceffe5bd46e9 | 380 | lcd.locate(0,1); |
kolive360 | 2:ceffe5bd46e9 | 381 | lcd.printf("Alar4:%02d/%02d/%04d",Alarm4.mon,Alarm4.date,Alarm4.year); |
kolive360 | 2:ceffe5bd46e9 | 382 | wait(0.1); |
kolive360 | 2:ceffe5bd46e9 | 383 | } |
kolive360 | 2:ceffe5bd46e9 | 384 | |
kolive360 | 2:ceffe5bd46e9 | 385 | if (button_enco.falling()){ |
kolive360 | 2:ceffe5bd46e9 | 386 | Lugar=1; |
kolive360 | 2:ceffe5bd46e9 | 387 | } |
kolive360 | 2:ceffe5bd46e9 | 388 | //Activacion Alarma1 |
kolive360 | 2:ceffe5bd46e9 | 389 | if((tm.date==Alarm.date)&&(tm.mon==Alarm.mon)&&(tm.year==Alarm.year)&&(tm.hour==Alarm.hour)&&(tm.min==Alarm.min)&&(tm.sec==Alarm.sec)) |
Jepalacioh | 0:c2ed510ee88d | 390 | { |
Jepalacioh | 0:c2ed510ee88d | 391 | Lugar++; |
Jepalacioh | 0:c2ed510ee88d | 392 | lcd.cls(); |
Jepalacioh | 0:c2ed510ee88d | 393 | lcd.locate(0,0); |
kolive360 | 2:ceffe5bd46e9 | 394 | lcd.printf("Alarma1 Activa!!"); |
kolive360 | 2:ceffe5bd46e9 | 395 | led1 =0; |
kolive360 | 2:ceffe5bd46e9 | 396 | wait(.2); |
kolive360 | 2:ceffe5bd46e9 | 397 | led1 =1; |
kolive360 | 2:ceffe5bd46e9 | 398 | wait(.2); |
kolive360 | 2:ceffe5bd46e9 | 399 | led1 =0; |
kolive360 | 2:ceffe5bd46e9 | 400 | wait(.2); |
kolive360 | 2:ceffe5bd46e9 | 401 | led1 =1; |
kolive360 | 2:ceffe5bd46e9 | 402 | wait(.2); |
kolive360 | 2:ceffe5bd46e9 | 403 | led1 =0; |
Jepalacioh | 0:c2ed510ee88d | 404 | lcd.locate(0,0); |
Jepalacioh | 0:c2ed510ee88d | 405 | lcd.printf("->Desactivar "); |
Jepalacioh | 0:c2ed510ee88d | 406 | lcd.locate(0,1); |
Jepalacioh | 0:c2ed510ee88d | 407 | lcd.printf("--Aplazar "); |
Jepalacioh | 0:c2ed510ee88d | 408 | m=0; |
kolive360 | 2:ceffe5bd46e9 | 409 | k=1; |
kolive360 | 2:ceffe5bd46e9 | 410 | } |
kolive360 | 2:ceffe5bd46e9 | 411 | |
kolive360 | 2:ceffe5bd46e9 | 412 | //Activacion Alarma2 |
kolive360 | 2:ceffe5bd46e9 | 413 | if((tm.date==Alarm2.date)&&(tm.mon==Alarm2.mon)&&(tm.year==Alarm2.year)&&(tm.hour==Alarm2.hour)&&(tm.min==Alarm2.min)&&(tm.sec==Alarm2.sec)) |
kolive360 | 2:ceffe5bd46e9 | 414 | { |
kolive360 | 2:ceffe5bd46e9 | 415 | Lugar++; |
kolive360 | 2:ceffe5bd46e9 | 416 | lcd.cls(); |
kolive360 | 2:ceffe5bd46e9 | 417 | lcd.locate(0,0); |
kolive360 | 2:ceffe5bd46e9 | 418 | lcd.printf("Alarma2 Activa!!"); |
kolive360 | 2:ceffe5bd46e9 | 419 | led2 =0; |
kolive360 | 2:ceffe5bd46e9 | 420 | wait(.2); |
kolive360 | 2:ceffe5bd46e9 | 421 | led2 =1; |
kolive360 | 2:ceffe5bd46e9 | 422 | wait(.2); |
kolive360 | 2:ceffe5bd46e9 | 423 | led2 =0; |
kolive360 | 2:ceffe5bd46e9 | 424 | wait(.2); |
kolive360 | 2:ceffe5bd46e9 | 425 | led2 =1; |
kolive360 | 2:ceffe5bd46e9 | 426 | wait(.2); |
kolive360 | 2:ceffe5bd46e9 | 427 | led2 =0; |
kolive360 | 2:ceffe5bd46e9 | 428 | lcd.locate(0,0); |
kolive360 | 2:ceffe5bd46e9 | 429 | lcd.printf("->Desactivar "); |
kolive360 | 2:ceffe5bd46e9 | 430 | lcd.locate(0,1); |
kolive360 | 2:ceffe5bd46e9 | 431 | lcd.printf("--Aplazar "); |
kolive360 | 2:ceffe5bd46e9 | 432 | m=0; |
kolive360 | 2:ceffe5bd46e9 | 433 | k=2; |
kolive360 | 2:ceffe5bd46e9 | 434 | } |
kolive360 | 2:ceffe5bd46e9 | 435 | |
kolive360 | 2:ceffe5bd46e9 | 436 | //Activacion Alarma3 |
kolive360 | 2:ceffe5bd46e9 | 437 | if((tm.date==Alarm3.date)&&(tm.mon==Alarm3.mon)&&(tm.year==Alarm3.year)&&(tm.hour==Alarm3.hour)&&(tm.min==Alarm3.min)&&(tm.sec==Alarm3.sec)) |
kolive360 | 2:ceffe5bd46e9 | 438 | { |
kolive360 | 2:ceffe5bd46e9 | 439 | Lugar++; |
kolive360 | 2:ceffe5bd46e9 | 440 | lcd.cls(); |
kolive360 | 2:ceffe5bd46e9 | 441 | lcd.locate(0,0); |
kolive360 | 2:ceffe5bd46e9 | 442 | lcd.printf("Alarma3 Activa!!"); |
kolive360 | 2:ceffe5bd46e9 | 443 | led3 =0; |
kolive360 | 2:ceffe5bd46e9 | 444 | wait(.2); |
kolive360 | 2:ceffe5bd46e9 | 445 | led3 =1; |
kolive360 | 2:ceffe5bd46e9 | 446 | wait(.2); |
kolive360 | 2:ceffe5bd46e9 | 447 | led3 =0; |
kolive360 | 2:ceffe5bd46e9 | 448 | wait(.2); |
kolive360 | 2:ceffe5bd46e9 | 449 | led3 =1; |
kolive360 | 2:ceffe5bd46e9 | 450 | wait(.2); |
kolive360 | 2:ceffe5bd46e9 | 451 | led3 =0; |
kolive360 | 2:ceffe5bd46e9 | 452 | lcd.locate(0,0); |
kolive360 | 2:ceffe5bd46e9 | 453 | lcd.printf("->Desactivar "); |
kolive360 | 2:ceffe5bd46e9 | 454 | lcd.locate(0,1); |
kolive360 | 2:ceffe5bd46e9 | 455 | lcd.printf("--Aplazar "); |
kolive360 | 2:ceffe5bd46e9 | 456 | m=0; |
kolive360 | 2:ceffe5bd46e9 | 457 | k=3; |
kolive360 | 2:ceffe5bd46e9 | 458 | } |
kolive360 | 2:ceffe5bd46e9 | 459 | //Activacion Alarma4 |
kolive360 | 2:ceffe5bd46e9 | 460 | if((tm.date==Alarm4.date)&&(tm.mon==Alarm4.mon)&&(tm.year==Alarm4.year)&&(tm.hour==Alarm4.hour)&&(tm.min==Alarm4.min)&&(tm.sec==Alarm4.sec)) |
kolive360 | 2:ceffe5bd46e9 | 461 | { |
kolive360 | 2:ceffe5bd46e9 | 462 | Lugar++; |
kolive360 | 2:ceffe5bd46e9 | 463 | lcd.cls(); |
kolive360 | 2:ceffe5bd46e9 | 464 | lcd.locate(0,0); |
kolive360 | 2:ceffe5bd46e9 | 465 | lcd.printf("Alarma1 Activa!!"); |
kolive360 | 2:ceffe5bd46e9 | 466 | led4 =0; |
kolive360 | 2:ceffe5bd46e9 | 467 | wait(.2); |
kolive360 | 2:ceffe5bd46e9 | 468 | led4 =1; |
kolive360 | 2:ceffe5bd46e9 | 469 | wait(.2); |
kolive360 | 2:ceffe5bd46e9 | 470 | led4 =0; |
kolive360 | 2:ceffe5bd46e9 | 471 | wait(.2); |
kolive360 | 2:ceffe5bd46e9 | 472 | led4 =1; |
kolive360 | 2:ceffe5bd46e9 | 473 | wait(.2); |
kolive360 | 2:ceffe5bd46e9 | 474 | led4 =0; |
kolive360 | 2:ceffe5bd46e9 | 475 | lcd.locate(0,0); |
kolive360 | 2:ceffe5bd46e9 | 476 | lcd.printf("->Desactivar "); |
kolive360 | 2:ceffe5bd46e9 | 477 | lcd.locate(0,1); |
kolive360 | 2:ceffe5bd46e9 | 478 | lcd.printf("--Aplazar "); |
kolive360 | 2:ceffe5bd46e9 | 479 | m=0; |
kolive360 | 2:ceffe5bd46e9 | 480 | k=4; |
Jepalacioh | 0:c2ed510ee88d | 481 | } |
Jepalacioh | 0:c2ed510ee88d | 482 | |
Jepalacioh | 0:c2ed510ee88d | 483 | break; |
Jepalacioh | 0:c2ed510ee88d | 484 | |
kolive360 | 2:ceffe5bd46e9 | 485 | |
kolive360 | 2:ceffe5bd46e9 | 486 | |
kolive360 | 2:ceffe5bd46e9 | 487 | |
kolive360 | 2:ceffe5bd46e9 | 488 | case 3://Aplazar Desactivar Alarma |
Jepalacioh | 0:c2ed510ee88d | 489 | |
kolive360 | 2:ceffe5bd46e9 | 490 | if(alarma==0){ |
Jepalacioh | 0:c2ed510ee88d | 491 | Sonido.write(0.5); |
Jepalacioh | 0:c2ed510ee88d | 492 | wait(0.2); |
Jepalacioh | 0:c2ed510ee88d | 493 | Sonido.write(0); |
Jepalacioh | 0:c2ed510ee88d | 494 | wait(0.2); |
Jepalacioh | 0:c2ed510ee88d | 495 | Sonido.write(0.5); |
Jepalacioh | 0:c2ed510ee88d | 496 | wait(0.2); |
Jepalacioh | 0:c2ed510ee88d | 497 | Sonido.write(0); |
Jepalacioh | 0:c2ed510ee88d | 498 | wait(0.2); |
Jepalacioh | 0:c2ed510ee88d | 499 | m=wheel.getPulses(); |
kolive360 | 2:ceffe5bd46e9 | 500 | if(m!=0){ |
Jepalacioh | 0:c2ed510ee88d | 501 | alarma=1; |
Jepalacioh | 0:c2ed510ee88d | 502 | m=0; |
Jepalacioh | 0:c2ed510ee88d | 503 | wheel.reset(); |
Jepalacioh | 0:c2ed510ee88d | 504 | |
Jepalacioh | 0:c2ed510ee88d | 505 | lcd.locate(1,0); |
Jepalacioh | 0:c2ed510ee88d | 506 | lcd.printf("-"); |
Jepalacioh | 0:c2ed510ee88d | 507 | lcd.locate(1,1); |
Jepalacioh | 0:c2ed510ee88d | 508 | lcd.printf(">"); |
Jepalacioh | 0:c2ed510ee88d | 509 | } |
Jepalacioh | 0:c2ed510ee88d | 510 | } |
Jepalacioh | 0:c2ed510ee88d | 511 | |
Jepalacioh | 0:c2ed510ee88d | 512 | /////////////////// |
Jepalacioh | 0:c2ed510ee88d | 513 | |
kolive360 | 2:ceffe5bd46e9 | 514 | if(alarma==1){ |
Jepalacioh | 0:c2ed510ee88d | 515 | Sonido.write(0.5); |
Jepalacioh | 0:c2ed510ee88d | 516 | wait(0.2); |
Jepalacioh | 0:c2ed510ee88d | 517 | Sonido.write(0); |
Jepalacioh | 0:c2ed510ee88d | 518 | wait(0.2); |
Jepalacioh | 0:c2ed510ee88d | 519 | Sonido.write(0.5); |
Jepalacioh | 0:c2ed510ee88d | 520 | wait(0.2); |
Jepalacioh | 0:c2ed510ee88d | 521 | Sonido.write(0); |
Jepalacioh | 0:c2ed510ee88d | 522 | wait(0.2); |
Jepalacioh | 0:c2ed510ee88d | 523 | |
Jepalacioh | 0:c2ed510ee88d | 524 | m=wheel.getPulses(); |
kolive360 | 2:ceffe5bd46e9 | 525 | if(m!=0){ |
Jepalacioh | 0:c2ed510ee88d | 526 | alarma=0; |
Jepalacioh | 0:c2ed510ee88d | 527 | m=0; |
Jepalacioh | 0:c2ed510ee88d | 528 | wheel.reset(); |
Jepalacioh | 0:c2ed510ee88d | 529 | |
Jepalacioh | 0:c2ed510ee88d | 530 | lcd.locate(1,0); |
Jepalacioh | 0:c2ed510ee88d | 531 | lcd.printf(">"); |
Jepalacioh | 0:c2ed510ee88d | 532 | lcd.locate(1,1); |
Jepalacioh | 0:c2ed510ee88d | 533 | lcd.printf("-"); |
Jepalacioh | 0:c2ed510ee88d | 534 | } |
Jepalacioh | 0:c2ed510ee88d | 535 | } |
Jepalacioh | 0:c2ed510ee88d | 536 | |
kolive360 | 2:ceffe5bd46e9 | 537 | if (button_enco.falling()){ |
kolive360 | 2:ceffe5bd46e9 | 538 | if(alarma==0){ |
Jepalacioh | 0:c2ed510ee88d | 539 | Lugar=0; |
Jepalacioh | 0:c2ed510ee88d | 540 | wheel.reset(); |
Jepalacioh | 0:c2ed510ee88d | 541 | m=0; |
Jepalacioh | 0:c2ed510ee88d | 542 | Sonido.write(0); |
Jepalacioh | 0:c2ed510ee88d | 543 | lcd.cls(); |
kolive360 | 2:ceffe5bd46e9 | 544 | rtc.getTime(tm); //lee el tiempo del DS1307 |
Jepalacioh | 0:c2ed510ee88d | 545 | lcd.locate(0,0); |
kolive360 | 2:ceffe5bd46e9 | 546 | lcd.printf("%02:",tm.hour); |
kolive360 | 2:ceffe5bd46e9 | 547 | lcd.locate(0,1); |
kolive360 | 2:ceffe5bd46e9 | 548 | lcd.printf("-C.Alar -C.Hora"); |
Jepalacioh | 0:c2ed510ee88d | 549 | |
Jepalacioh | 0:c2ed510ee88d | 550 | } |
kolive360 | 2:ceffe5bd46e9 | 551 | if(alarma==1){ |
Jepalacioh | 0:c2ed510ee88d | 552 | Lugar=2; |
Jepalacioh | 0:c2ed510ee88d | 553 | rtc.getTime(tm); |
kolive360 | 2:ceffe5bd46e9 | 554 | |
kolive360 | 2:ceffe5bd46e9 | 555 | switch(k){ |
kolive360 | 2:ceffe5bd46e9 | 556 | case 1: |
kolive360 | 2:ceffe5bd46e9 | 557 | if(tm.min!=58){ |
kolive360 | 2:ceffe5bd46e9 | 558 | Alarm.min=tm.min+1; |
kolive360 | 2:ceffe5bd46e9 | 559 | } |
kolive360 | 2:ceffe5bd46e9 | 560 | if(tm.min==59){ |
kolive360 | 2:ceffe5bd46e9 | 561 | Alarm.min=0; |
kolive360 | 2:ceffe5bd46e9 | 562 | Alarm.hour=tm.hour+1; |
kolive360 | 2:ceffe5bd46e9 | 563 | } |
kolive360 | 2:ceffe5bd46e9 | 564 | Alarm.sec=tm.sec; |
kolive360 | 2:ceffe5bd46e9 | 565 | led1 =1; |
kolive360 | 2:ceffe5bd46e9 | 566 | lcd.cls(); |
kolive360 | 2:ceffe5bd46e9 | 567 | alarma=0; |
kolive360 | 2:ceffe5bd46e9 | 568 | break; |
kolive360 | 2:ceffe5bd46e9 | 569 | |
kolive360 | 2:ceffe5bd46e9 | 570 | case 2: |
kolive360 | 2:ceffe5bd46e9 | 571 | if(tm.min!=58){ |
kolive360 | 2:ceffe5bd46e9 | 572 | Alarm2.min=tm.min+1; |
kolive360 | 2:ceffe5bd46e9 | 573 | } |
kolive360 | 2:ceffe5bd46e9 | 574 | if(tm.min==59){ |
kolive360 | 2:ceffe5bd46e9 | 575 | Alarm2.min=0; |
kolive360 | 2:ceffe5bd46e9 | 576 | Alarm2.hour=tm.hour+1; |
kolive360 | 2:ceffe5bd46e9 | 577 | } |
kolive360 | 2:ceffe5bd46e9 | 578 | Alarm2.sec=tm.sec; |
kolive360 | 2:ceffe5bd46e9 | 579 | led2 =1; |
kolive360 | 2:ceffe5bd46e9 | 580 | lcd.cls(); |
kolive360 | 2:ceffe5bd46e9 | 581 | alarma=0; |
kolive360 | 2:ceffe5bd46e9 | 582 | break; |
kolive360 | 2:ceffe5bd46e9 | 583 | |
kolive360 | 2:ceffe5bd46e9 | 584 | case 3: |
kolive360 | 2:ceffe5bd46e9 | 585 | if(tm.min!=58){ |
kolive360 | 2:ceffe5bd46e9 | 586 | Alarm3.min=tm.min+1; |
kolive360 | 2:ceffe5bd46e9 | 587 | } |
kolive360 | 2:ceffe5bd46e9 | 588 | if(tm.min==59){ |
kolive360 | 2:ceffe5bd46e9 | 589 | Alarm3.min=0; |
kolive360 | 2:ceffe5bd46e9 | 590 | Alarm3.hour=tm.hour+1; |
kolive360 | 2:ceffe5bd46e9 | 591 | } |
kolive360 | 2:ceffe5bd46e9 | 592 | Alarm3.sec=tm.sec; |
kolive360 | 2:ceffe5bd46e9 | 593 | led3 =1; |
kolive360 | 2:ceffe5bd46e9 | 594 | lcd.cls(); |
kolive360 | 2:ceffe5bd46e9 | 595 | alarma=0; |
kolive360 | 2:ceffe5bd46e9 | 596 | break; |
kolive360 | 2:ceffe5bd46e9 | 597 | |
kolive360 | 2:ceffe5bd46e9 | 598 | case 4: |
kolive360 | 2:ceffe5bd46e9 | 599 | if(tm.min!=58){ |
kolive360 | 2:ceffe5bd46e9 | 600 | Alarm4.min=tm.min+1; |
kolive360 | 2:ceffe5bd46e9 | 601 | } |
kolive360 | 2:ceffe5bd46e9 | 602 | if(tm.min==59){ |
kolive360 | 2:ceffe5bd46e9 | 603 | Alarm4.min=0; |
kolive360 | 2:ceffe5bd46e9 | 604 | Alarm4.hour=tm.hour+1; |
kolive360 | 2:ceffe5bd46e9 | 605 | } |
kolive360 | 2:ceffe5bd46e9 | 606 | Alarm4.sec=tm.sec; |
kolive360 | 2:ceffe5bd46e9 | 607 | led4 =1; |
kolive360 | 2:ceffe5bd46e9 | 608 | lcd.cls(); |
kolive360 | 2:ceffe5bd46e9 | 609 | alarma=0; |
kolive360 | 2:ceffe5bd46e9 | 610 | break; |
Jepalacioh | 0:c2ed510ee88d | 611 | } |
Jepalacioh | 0:c2ed510ee88d | 612 | } |
Jepalacioh | 0:c2ed510ee88d | 613 | |
Jepalacioh | 0:c2ed510ee88d | 614 | } |
Jepalacioh | 0:c2ed510ee88d | 615 | |
Jepalacioh | 0:c2ed510ee88d | 616 | |
Jepalacioh | 0:c2ed510ee88d | 617 | break; |
Jepalacioh | 0:c2ed510ee88d | 618 | } |
kolive360 | 2:ceffe5bd46e9 | 619 | |
kolive360 | 2:ceffe5bd46e9 | 620 | } |
kolive360 | 2:ceffe5bd46e9 | 621 | // Lazo de Config Alarmas |
kolive360 | 2:ceffe5bd46e9 | 622 | lazo: int t=0; |
kolive360 | 2:ceffe5bd46e9 | 623 | numero=1; |
kolive360 | 2:ceffe5bd46e9 | 624 | while(t==0){ |
kolive360 | 2:ceffe5bd46e9 | 625 | m=wheel.getPulses(); |
kolive360 | 2:ceffe5bd46e9 | 626 | lcd.locate(0,0); |
kolive360 | 2:ceffe5bd46e9 | 627 | lcd.printf("Config Alarma %02d",numero); |
kolive360 | 2:ceffe5bd46e9 | 628 | lcd.locate(0,1); |
kolive360 | 2:ceffe5bd46e9 | 629 | lcd.printf("-1 -2 -3 -4",tm.date); |
kolive360 | 2:ceffe5bd46e9 | 630 | if (m!=0){ |
kolive360 | 2:ceffe5bd46e9 | 631 | numero=numero+m; |
kolive360 | 2:ceffe5bd46e9 | 632 | if(numero<1){ |
kolive360 | 2:ceffe5bd46e9 | 633 | numero=1; |
kolive360 | 2:ceffe5bd46e9 | 634 | } |
kolive360 | 2:ceffe5bd46e9 | 635 | if(numero>4){ |
kolive360 | 2:ceffe5bd46e9 | 636 | numero=4; |
kolive360 | 2:ceffe5bd46e9 | 637 | } |
kolive360 | 2:ceffe5bd46e9 | 638 | wheel.reset(); |
kolive360 | 2:ceffe5bd46e9 | 639 | m=0; |
kolive360 | 2:ceffe5bd46e9 | 640 | } |
kolive360 | 2:ceffe5bd46e9 | 641 | if(numero==1){ |
kolive360 | 2:ceffe5bd46e9 | 642 | led1 =1; |
kolive360 | 2:ceffe5bd46e9 | 643 | led2 =0; |
kolive360 | 2:ceffe5bd46e9 | 644 | led3 =0; |
kolive360 | 2:ceffe5bd46e9 | 645 | led4 =0; |
kolive360 | 2:ceffe5bd46e9 | 646 | lcd.locate(0,1); |
kolive360 | 2:ceffe5bd46e9 | 647 | lcd.printf(">"); |
kolive360 | 2:ceffe5bd46e9 | 648 | lcd.locate(4,1); |
kolive360 | 2:ceffe5bd46e9 | 649 | lcd.printf("-"); |
kolive360 | 2:ceffe5bd46e9 | 650 | lcd.locate(9,1); |
kolive360 | 2:ceffe5bd46e9 | 651 | lcd.printf("-"); |
kolive360 | 2:ceffe5bd46e9 | 652 | lcd.locate(13,1); |
kolive360 | 2:ceffe5bd46e9 | 653 | lcd.printf("-"); |
kolive360 | 2:ceffe5bd46e9 | 654 | wait(0.1); |
kolive360 | 2:ceffe5bd46e9 | 655 | } |
kolive360 | 2:ceffe5bd46e9 | 656 | if(numero==2){ |
kolive360 | 2:ceffe5bd46e9 | 657 | led1 =0; |
kolive360 | 2:ceffe5bd46e9 | 658 | led2 =1; |
kolive360 | 2:ceffe5bd46e9 | 659 | led3 =0; |
kolive360 | 2:ceffe5bd46e9 | 660 | led4 =0; |
kolive360 | 2:ceffe5bd46e9 | 661 | lcd.locate(0,1); |
kolive360 | 2:ceffe5bd46e9 | 662 | lcd.printf("-"); |
kolive360 | 2:ceffe5bd46e9 | 663 | lcd.locate(4,1); |
kolive360 | 2:ceffe5bd46e9 | 664 | lcd.printf(">"); |
kolive360 | 2:ceffe5bd46e9 | 665 | lcd.locate(9,1); |
kolive360 | 2:ceffe5bd46e9 | 666 | lcd.printf("-"); |
kolive360 | 2:ceffe5bd46e9 | 667 | lcd.locate(13,1); |
kolive360 | 2:ceffe5bd46e9 | 668 | lcd.printf("-"); |
kolive360 | 2:ceffe5bd46e9 | 669 | wait(0.1); |
kolive360 | 2:ceffe5bd46e9 | 670 | } |
kolive360 | 2:ceffe5bd46e9 | 671 | if(numero==3){ |
kolive360 | 2:ceffe5bd46e9 | 672 | led1 =0; |
kolive360 | 2:ceffe5bd46e9 | 673 | led2 =0; |
kolive360 | 2:ceffe5bd46e9 | 674 | led3 =1; |
kolive360 | 2:ceffe5bd46e9 | 675 | led4 =0; |
kolive360 | 2:ceffe5bd46e9 | 676 | lcd.locate(0,1); |
kolive360 | 2:ceffe5bd46e9 | 677 | lcd.printf("-"); |
kolive360 | 2:ceffe5bd46e9 | 678 | lcd.locate(4,1); |
kolive360 | 2:ceffe5bd46e9 | 679 | lcd.printf("-"); |
kolive360 | 2:ceffe5bd46e9 | 680 | lcd.locate(9,1); |
kolive360 | 2:ceffe5bd46e9 | 681 | lcd.printf(">"); |
kolive360 | 2:ceffe5bd46e9 | 682 | lcd.locate(13,1); |
kolive360 | 2:ceffe5bd46e9 | 683 | lcd.printf("-"); |
kolive360 | 2:ceffe5bd46e9 | 684 | wait(0.1); |
kolive360 | 2:ceffe5bd46e9 | 685 | } |
kolive360 | 2:ceffe5bd46e9 | 686 | if(numero==4){ |
kolive360 | 2:ceffe5bd46e9 | 687 | led1 =0; |
kolive360 | 2:ceffe5bd46e9 | 688 | led2 =0; |
kolive360 | 2:ceffe5bd46e9 | 689 | led3 =0; |
kolive360 | 2:ceffe5bd46e9 | 690 | led4 =1; |
kolive360 | 2:ceffe5bd46e9 | 691 | lcd.locate(0,1); |
kolive360 | 2:ceffe5bd46e9 | 692 | lcd.printf("-"); |
kolive360 | 2:ceffe5bd46e9 | 693 | lcd.locate(4,1); |
kolive360 | 2:ceffe5bd46e9 | 694 | lcd.printf("-"); |
kolive360 | 2:ceffe5bd46e9 | 695 | lcd.locate(9,1); |
kolive360 | 2:ceffe5bd46e9 | 696 | lcd.printf("-"); |
kolive360 | 2:ceffe5bd46e9 | 697 | lcd.locate(13,1); |
kolive360 | 2:ceffe5bd46e9 | 698 | lcd.printf(">"); |
kolive360 | 2:ceffe5bd46e9 | 699 | wait(0.1); |
kolive360 | 2:ceffe5bd46e9 | 700 | } |
kolive360 | 2:ceffe5bd46e9 | 701 | |
kolive360 | 2:ceffe5bd46e9 | 702 | if (button_enco.falling()){ |
kolive360 | 2:ceffe5bd46e9 | 703 | m=0; |
kolive360 | 2:ceffe5bd46e9 | 704 | lcd.cls(); |
kolive360 | 2:ceffe5bd46e9 | 705 | lcd.locate(4,0); |
kolive360 | 2:ceffe5bd46e9 | 706 | lcd.printf("Alarma %02d ",numero); |
kolive360 | 2:ceffe5bd46e9 | 707 | lcd.locate(2,1); |
kolive360 | 2:ceffe5bd46e9 | 708 | lcd.printf("Seleccionada"); |
kolive360 | 2:ceffe5bd46e9 | 709 | wait(1.5); |
kolive360 | 2:ceffe5bd46e9 | 710 | lcd.cls(); |
kolive360 | 2:ceffe5bd46e9 | 711 | t=1; |
kolive360 | 2:ceffe5bd46e9 | 712 | } |
kolive360 | 2:ceffe5bd46e9 | 713 | } |
kolive360 | 2:ceffe5bd46e9 | 714 | goto sigo; |
kolive360 | 2:ceffe5bd46e9 | 715 | |
kolive360 | 2:ceffe5bd46e9 | 716 | } |
kolive360 | 2:ceffe5bd46e9 | 717 |