Conjunto de 4 alarmas on/off con reloj de tiempo real
Dependencies: Debounced QEI RTC-DS1307 TextLCD mbed
main.cpp@0:c498d1d3e2de, 2016-11-30 (annotated)
- Committer:
- andJdmat
- Date:
- Wed Nov 30 01:59:24 2016 +0000
- Revision:
- 0:c498d1d3e2de
Conjunto de 4 alarmas on/off;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
andJdmat | 0:c498d1d3e2de | 1 | #include "mbed.h" |
andJdmat | 0:c498d1d3e2de | 2 | #include "DebouncedIn.h" |
andJdmat | 0:c498d1d3e2de | 3 | #include "TextLCD.h" |
andJdmat | 0:c498d1d3e2de | 4 | #include "QEI.h" |
andJdmat | 0:c498d1d3e2de | 5 | #include "Rtc_Ds1307.h" |
andJdmat | 0:c498d1d3e2de | 6 | |
andJdmat | 0:c498d1d3e2de | 7 | TextLCD lcd(PTB10, PTB11, PTE2, PTE3, PTE4, PTE5, TextLCD::LCD20x4); // rs, e, d4-d7 Teclado |
andJdmat | 0:c498d1d3e2de | 8 | Rtc_Ds1307 rtc(PTE0, PTE1);//SCL,SDA |
andJdmat | 0:c498d1d3e2de | 9 | QEI wheel (PTA13, PTD5, NC, 624, QEI::X4_ENCODING); |
andJdmat | 0:c498d1d3e2de | 10 | Serial pc(USBTX, USBRX, "pc"); |
andJdmat | 0:c498d1d3e2de | 11 | DebouncedIn b_en(PTC16); |
andJdmat | 0:c498d1d3e2de | 12 | |
andJdmat | 0:c498d1d3e2de | 13 | |
andJdmat | 0:c498d1d3e2de | 14 | DigitalOut red(LED_RED); |
andJdmat | 0:c498d1d3e2de | 15 | DigitalOut green(LED_GREEN); |
andJdmat | 0:c498d1d3e2de | 16 | DigitalOut blue(LED_BLUE); |
andJdmat | 0:c498d1d3e2de | 17 | |
andJdmat | 0:c498d1d3e2de | 18 | PwmOut Sonido(PTA5); |
andJdmat | 0:c498d1d3e2de | 19 | |
andJdmat | 0:c498d1d3e2de | 20 | float periodo; |
andJdmat | 0:c498d1d3e2de | 21 | float Frecuencia=4000; |
andJdmat | 0:c498d1d3e2de | 22 | int C1=0x0C; |
andJdmat | 0:c498d1d3e2de | 23 | int m,k,x1,x2,x3,x4; |
andJdmat | 0:c498d1d3e2de | 24 | int numero=1; |
andJdmat | 0:c498d1d3e2de | 25 | int Conf=0; // 0: Alarma y 1:Reloj |
andJdmat | 0:c498d1d3e2de | 26 | int Lugar=0; // Definen el punto en el cual va el programa |
andJdmat | 0:c498d1d3e2de | 27 | int i=0; |
andJdmat | 0:c498d1d3e2de | 28 | int visual=0; |
andJdmat | 0:c498d1d3e2de | 29 | int alarma=0; |
andJdmat | 0:c498d1d3e2de | 30 | int a = 0; |
andJdmat | 0:c498d1d3e2de | 31 | |
andJdmat | 0:c498d1d3e2de | 32 | int main() |
andJdmat | 0:c498d1d3e2de | 33 | { |
andJdmat | 0:c498d1d3e2de | 34 | Rtc_Ds1307::Time_rtc t = {}; |
andJdmat | 0:c498d1d3e2de | 35 | Rtc_Ds1307::Time_rtc Hora = {}; |
andJdmat | 0:c498d1d3e2de | 36 | Rtc_Ds1307::Time_rtc Alm = {}; |
andJdmat | 0:c498d1d3e2de | 37 | Rtc_Ds1307::Time_rtc Alm2 = {}; |
andJdmat | 0:c498d1d3e2de | 38 | Rtc_Ds1307::Time_rtc Alm3 = {}; |
andJdmat | 0:c498d1d3e2de | 39 | Rtc_Ds1307::Time_rtc Alm4 = {}; |
andJdmat | 0:c498d1d3e2de | 40 | Rtc_Ds1307::Time_rtc Alm_d = {}; |
andJdmat | 0:c498d1d3e2de | 41 | Rtc_Ds1307::Time_rtc Alm2_d = {}; |
andJdmat | 0:c498d1d3e2de | 42 | Rtc_Ds1307::Time_rtc Alm3_d = {}; |
andJdmat | 0:c498d1d3e2de | 43 | Rtc_Ds1307::Time_rtc Alm4_d = {}; |
andJdmat | 0:c498d1d3e2de | 44 | lcd.cls(); |
andJdmat | 0:c498d1d3e2de | 45 | lcd.writeCommand(C1);//escribimos un comando segun el manual del modulo LCD |
andJdmat | 0:c498d1d3e2de | 46 | |
andJdmat | 0:c498d1d3e2de | 47 | periodo=(1/Frecuencia); |
andJdmat | 0:c498d1d3e2de | 48 | Sonido.period(periodo); |
andJdmat | 0:c498d1d3e2de | 49 | |
andJdmat | 0:c498d1d3e2de | 50 | rtc.getTime(Hora); |
andJdmat | 0:c498d1d3e2de | 51 | rtc.stopClock(); |
andJdmat | 0:c498d1d3e2de | 52 | while(1){ |
andJdmat | 0:c498d1d3e2de | 53 | menu: |
andJdmat | 0:c498d1d3e2de | 54 | switch (Lugar){ |
andJdmat | 0:c498d1d3e2de | 55 | |
andJdmat | 0:c498d1d3e2de | 56 | case 0: //Menu principal |
andJdmat | 0:c498d1d3e2de | 57 | lcd.cls(); |
andJdmat | 0:c498d1d3e2de | 58 | rtc.getTime(Hora); //lee el tiempo del DS1307 |
andJdmat | 0:c498d1d3e2de | 59 | lcd.locate(0,0); |
andJdmat | 0:c498d1d3e2de | 60 | lcd.printf("%02d:%02d %02d/%02d/%02d", Hora.hour, Hora.min, Hora.date, Hora.mon, Hora.year); |
andJdmat | 0:c498d1d3e2de | 61 | lcd.locate(0,1); |
andJdmat | 0:c498d1d3e2de | 62 | lcd.printf("-Cambiar Hora"); |
andJdmat | 0:c498d1d3e2de | 63 | lcd.locate(0,2); |
andJdmat | 0:c498d1d3e2de | 64 | lcd.printf("-Cambiar Alarma"); |
andJdmat | 0:c498d1d3e2de | 65 | lcd.locate(0,3); |
andJdmat | 0:c498d1d3e2de | 66 | lcd.printf("-Visualizar"); |
andJdmat | 0:c498d1d3e2de | 67 | m=wheel.getPulses(); // m son los datos del encoder |
andJdmat | 0:c498d1d3e2de | 68 | if(m!=0 && Conf==0){ |
andJdmat | 0:c498d1d3e2de | 69 | Conf=1; |
andJdmat | 0:c498d1d3e2de | 70 | wheel.reset(); |
andJdmat | 0:c498d1d3e2de | 71 | m=0; |
andJdmat | 0:c498d1d3e2de | 72 | } |
andJdmat | 0:c498d1d3e2de | 73 | if(m!=0 && Conf==1){ |
andJdmat | 0:c498d1d3e2de | 74 | Conf=2; |
andJdmat | 0:c498d1d3e2de | 75 | wheel.reset(); |
andJdmat | 0:c498d1d3e2de | 76 | m=0; |
andJdmat | 0:c498d1d3e2de | 77 | } |
andJdmat | 0:c498d1d3e2de | 78 | |
andJdmat | 0:c498d1d3e2de | 79 | if(m!=0 && Conf==2){ |
andJdmat | 0:c498d1d3e2de | 80 | Conf=0; |
andJdmat | 0:c498d1d3e2de | 81 | wheel.reset(); |
andJdmat | 0:c498d1d3e2de | 82 | m=0; |
andJdmat | 0:c498d1d3e2de | 83 | } |
andJdmat | 0:c498d1d3e2de | 84 | if(Conf==0){ |
andJdmat | 0:c498d1d3e2de | 85 | lcd.locate(0,1); |
andJdmat | 0:c498d1d3e2de | 86 | lcd.printf(">"); |
andJdmat | 0:c498d1d3e2de | 87 | lcd.locate(0,2); |
andJdmat | 0:c498d1d3e2de | 88 | lcd.printf("-"); |
andJdmat | 0:c498d1d3e2de | 89 | lcd.locate(0,3); |
andJdmat | 0:c498d1d3e2de | 90 | lcd.printf("-"); |
andJdmat | 0:c498d1d3e2de | 91 | //lcd.locate(0,1); |
andJdmat | 0:c498d1d3e2de | 92 | wait(0.1); |
andJdmat | 0:c498d1d3e2de | 93 | } |
andJdmat | 0:c498d1d3e2de | 94 | if(Conf==1){ |
andJdmat | 0:c498d1d3e2de | 95 | lcd.locate(0,1); |
andJdmat | 0:c498d1d3e2de | 96 | lcd.printf("-"); |
andJdmat | 0:c498d1d3e2de | 97 | lcd.locate(0,2); |
andJdmat | 0:c498d1d3e2de | 98 | lcd.printf(">"); |
andJdmat | 0:c498d1d3e2de | 99 | lcd.locate(0,3); |
andJdmat | 0:c498d1d3e2de | 100 | lcd.printf("-"); |
andJdmat | 0:c498d1d3e2de | 101 | //lcd.locate(0,1); |
andJdmat | 0:c498d1d3e2de | 102 | wait(0.1); |
andJdmat | 0:c498d1d3e2de | 103 | } |
andJdmat | 0:c498d1d3e2de | 104 | |
andJdmat | 0:c498d1d3e2de | 105 | if(Conf==2){ |
andJdmat | 0:c498d1d3e2de | 106 | lcd.locate(0,1); |
andJdmat | 0:c498d1d3e2de | 107 | lcd.printf("-"); |
andJdmat | 0:c498d1d3e2de | 108 | lcd.locate(0,2); |
andJdmat | 0:c498d1d3e2de | 109 | lcd.printf("-"); |
andJdmat | 0:c498d1d3e2de | 110 | lcd.locate(0,3); |
andJdmat | 0:c498d1d3e2de | 111 | lcd.printf(">"); |
andJdmat | 0:c498d1d3e2de | 112 | //lcd.locate(0,1); |
andJdmat | 0:c498d1d3e2de | 113 | wait(0.1); |
andJdmat | 0:c498d1d3e2de | 114 | } |
andJdmat | 0:c498d1d3e2de | 115 | if (b_en.falling()){ //si se pulsa boton encoder |
andJdmat | 0:c498d1d3e2de | 116 | if(Conf == 0){ |
andJdmat | 0:c498d1d3e2de | 117 | Lugar++; |
andJdmat | 0:c498d1d3e2de | 118 | } |
andJdmat | 0:c498d1d3e2de | 119 | if(Conf == 1){ |
andJdmat | 0:c498d1d3e2de | 120 | Lugar++; |
andJdmat | 0:c498d1d3e2de | 121 | } |
andJdmat | 0:c498d1d3e2de | 122 | if(Conf == 2){ |
andJdmat | 0:c498d1d3e2de | 123 | Lugar=3; |
andJdmat | 0:c498d1d3e2de | 124 | } |
andJdmat | 0:c498d1d3e2de | 125 | m=0; |
andJdmat | 0:c498d1d3e2de | 126 | } |
andJdmat | 0:c498d1d3e2de | 127 | break; |
andJdmat | 0:c498d1d3e2de | 128 | |
andJdmat | 0:c498d1d3e2de | 129 | case 1://Configurar |
andJdmat | 0:c498d1d3e2de | 130 | if(Conf==0){ |
andJdmat | 0:c498d1d3e2de | 131 | lcd.cls(); |
andJdmat | 0:c498d1d3e2de | 132 | lcd.locate(0,0); |
andJdmat | 0:c498d1d3e2de | 133 | lcd.printf("Configurar Hora "); |
andJdmat | 0:c498d1d3e2de | 134 | goto hora; |
andJdmat | 0:c498d1d3e2de | 135 | } |
andJdmat | 0:c498d1d3e2de | 136 | |
andJdmat | 0:c498d1d3e2de | 137 | if(Conf==1){ |
andJdmat | 0:c498d1d3e2de | 138 | lcd.cls(); |
andJdmat | 0:c498d1d3e2de | 139 | lcd.locate(0,0); |
andJdmat | 0:c498d1d3e2de | 140 | lcd.printf("Configurar Alarma"); |
andJdmat | 0:c498d1d3e2de | 141 | goto alarm; |
andJdmat | 0:c498d1d3e2de | 142 | } |
andJdmat | 0:c498d1d3e2de | 143 | if(Conf==2){ |
andJdmat | 0:c498d1d3e2de | 144 | Lugar=3; |
andJdmat | 0:c498d1d3e2de | 145 | } |
andJdmat | 0:c498d1d3e2de | 146 | case 2: |
andJdmat | 0:c498d1d3e2de | 147 | goto desactivar; |
andJdmat | 0:c498d1d3e2de | 148 | |
andJdmat | 0:c498d1d3e2de | 149 | case 3: //Visualizar y Activacion Alarmas |
andJdmat | 0:c498d1d3e2de | 150 | rtc.getTime(Hora); |
andJdmat | 0:c498d1d3e2de | 151 | m=wheel.getPulses(); |
andJdmat | 0:c498d1d3e2de | 152 | if(x1==1){ |
andJdmat | 0:c498d1d3e2de | 153 | red=1; |
andJdmat | 0:c498d1d3e2de | 154 | } |
andJdmat | 0:c498d1d3e2de | 155 | if(x2==1){ |
andJdmat | 0:c498d1d3e2de | 156 | green=1; |
andJdmat | 0:c498d1d3e2de | 157 | } |
andJdmat | 0:c498d1d3e2de | 158 | if(x3==1){ |
andJdmat | 0:c498d1d3e2de | 159 | blue=1; |
andJdmat | 0:c498d1d3e2de | 160 | } |
andJdmat | 0:c498d1d3e2de | 161 | if(x4==1){ |
andJdmat | 0:c498d1d3e2de | 162 | red=1; |
andJdmat | 0:c498d1d3e2de | 163 | } |
andJdmat | 0:c498d1d3e2de | 164 | if(m!=0){ |
andJdmat | 0:c498d1d3e2de | 165 | visual=visual+m; |
andJdmat | 0:c498d1d3e2de | 166 | if(visual<0){ |
andJdmat | 0:c498d1d3e2de | 167 | visual=0; |
andJdmat | 0:c498d1d3e2de | 168 | } |
andJdmat | 0:c498d1d3e2de | 169 | if(visual>4){ |
andJdmat | 0:c498d1d3e2de | 170 | visual=4; |
andJdmat | 0:c498d1d3e2de | 171 | } |
andJdmat | 0:c498d1d3e2de | 172 | wheel.reset(); |
andJdmat | 0:c498d1d3e2de | 173 | m=0; |
andJdmat | 0:c498d1d3e2de | 174 | } |
andJdmat | 0:c498d1d3e2de | 175 | |
andJdmat | 0:c498d1d3e2de | 176 | if(visual==0){//Visualiza hora |
andJdmat | 0:c498d1d3e2de | 177 | lcd.cls(); |
andJdmat | 0:c498d1d3e2de | 178 | lcd.locate(0,0); |
andJdmat | 0:c498d1d3e2de | 179 | lcd.printf(" Ver %02d:%02d:%02d",Hora.hour,Hora.min,Hora.sec); |
andJdmat | 0:c498d1d3e2de | 180 | lcd.locate(0,1); |
andJdmat | 0:c498d1d3e2de | 181 | lcd.printf("Hora :%02d/%02d/%04d",Hora.date,Hora.mon,Hora.year); |
andJdmat | 0:c498d1d3e2de | 182 | wait(0.1); |
andJdmat | 0:c498d1d3e2de | 183 | } |
andJdmat | 0:c498d1d3e2de | 184 | if(visual==1){//Visualilza alarma1 |
andJdmat | 0:c498d1d3e2de | 185 | lcd.cls(); |
andJdmat | 0:c498d1d3e2de | 186 | lcd.locate(0,0); |
andJdmat | 0:c498d1d3e2de | 187 | lcd.printf(" Ver %02d:%02d:%02d",Alm.hour, Alm.min,Alm.sec); |
andJdmat | 0:c498d1d3e2de | 188 | lcd.locate(0,1); |
andJdmat | 0:c498d1d3e2de | 189 | lcd.printf("Alar1: %02d/%02d/%04d",Alm.date,Alm.mon,Alm.year); |
andJdmat | 0:c498d1d3e2de | 190 | lcd.locate(0,2); |
andJdmat | 0:c498d1d3e2de | 191 | lcd.printf("Desact:%02d:%02d:%02d",Alm_d.hour, Alm_d.min,Alm_d.sec); |
andJdmat | 0:c498d1d3e2de | 192 | lcd.locate(0,3); |
andJdmat | 0:c498d1d3e2de | 193 | lcd.printf("Alar1: %02d/%02d/%04d",Alm_d.date,Alm_d.mon,Alm_d.year); |
andJdmat | 0:c498d1d3e2de | 194 | wait(0.1); |
andJdmat | 0:c498d1d3e2de | 195 | } |
andJdmat | 0:c498d1d3e2de | 196 | if(visual==2){//Visualiza alarma2 |
andJdmat | 0:c498d1d3e2de | 197 | lcd.cls(); |
andJdmat | 0:c498d1d3e2de | 198 | lcd.locate(0,0); |
andJdmat | 0:c498d1d3e2de | 199 | lcd.printf(" Ver %02d:%02d:%02d",Alm2.hour, Alm2.min,Alm2.sec); |
andJdmat | 0:c498d1d3e2de | 200 | lcd.locate(0,1); |
andJdmat | 0:c498d1d3e2de | 201 | lcd.printf("Alar2: %02d/%02d/%04d",Alm2.date,Alm2.mon,Alm2.year); |
andJdmat | 0:c498d1d3e2de | 202 | lcd.locate(0,2); |
andJdmat | 0:c498d1d3e2de | 203 | lcd.printf("Desact %02d:%02d:%02d",Alm2_d.hour, Alm2_d.min,Alm2_d.sec); |
andJdmat | 0:c498d1d3e2de | 204 | lcd.locate(0,3); |
andJdmat | 0:c498d1d3e2de | 205 | lcd.printf("Alar2: %02d/%02d/%04d",Alm2_d.date,Alm2_d.mon,Alm2_d.year); |
andJdmat | 0:c498d1d3e2de | 206 | wait(0.1); |
andJdmat | 0:c498d1d3e2de | 207 | } |
andJdmat | 0:c498d1d3e2de | 208 | if(visual==3){//Visualiza alarma3 |
andJdmat | 0:c498d1d3e2de | 209 | lcd.cls(); |
andJdmat | 0:c498d1d3e2de | 210 | lcd.locate(0,0); |
andJdmat | 0:c498d1d3e2de | 211 | lcd.printf(" Ver %02d:%02d:%02d",Alm3.hour, Alm3.min,Alm3.sec); |
andJdmat | 0:c498d1d3e2de | 212 | lcd.locate(0,1); |
andJdmat | 0:c498d1d3e2de | 213 | lcd.printf("Alar3: %02d/%02d/%04d",Alm3.date,Alm3.mon,Alm3.year); |
andJdmat | 0:c498d1d3e2de | 214 | lcd.locate(0,2); |
andJdmat | 0:c498d1d3e2de | 215 | lcd.printf("Desact: %02d:%02d:%02d",Alm3_d.hour, Alm3_d.min,Alm3_d.sec); |
andJdmat | 0:c498d1d3e2de | 216 | lcd.locate(0,3); |
andJdmat | 0:c498d1d3e2de | 217 | lcd.printf("Alar3: %02d/%02d/%04d",Alm3_d.date,Alm3_d.mon,Alm3_d.year); |
andJdmat | 0:c498d1d3e2de | 218 | wait(0.1); |
andJdmat | 0:c498d1d3e2de | 219 | |
andJdmat | 0:c498d1d3e2de | 220 | } |
andJdmat | 0:c498d1d3e2de | 221 | if(visual==4){//Visualiza alarma4 |
andJdmat | 0:c498d1d3e2de | 222 | lcd.cls(); |
andJdmat | 0:c498d1d3e2de | 223 | lcd.locate(0,0); |
andJdmat | 0:c498d1d3e2de | 224 | lcd.printf(" Ver %02d:%02d:%02d",Alm4.hour, Alm4.min,Alm4.sec); |
andJdmat | 0:c498d1d3e2de | 225 | lcd.locate(0,1); |
andJdmat | 0:c498d1d3e2de | 226 | lcd.printf("Alar4: %02d/%02d/%04d",Alm4.date,Alm4.mon,Alm4.year); |
andJdmat | 0:c498d1d3e2de | 227 | lcd.locate(0,2); |
andJdmat | 0:c498d1d3e2de | 228 | lcd.printf("Desact: %02d:%02d:%02d",Alm4_d.hour, Alm4_d.min,Alm4_d.sec); |
andJdmat | 0:c498d1d3e2de | 229 | lcd.locate(0,3); |
andJdmat | 0:c498d1d3e2de | 230 | lcd.printf("Alar4: %02d/%02d/%04d",Alm4_d.date,Alm4_d.mon,Alm4_d.year); |
andJdmat | 0:c498d1d3e2de | 231 | wait(0.1); |
andJdmat | 0:c498d1d3e2de | 232 | } |
andJdmat | 0:c498d1d3e2de | 233 | |
andJdmat | 0:c498d1d3e2de | 234 | if (b_en.falling()){ |
andJdmat | 0:c498d1d3e2de | 235 | lcd.cls(); |
andJdmat | 0:c498d1d3e2de | 236 | Lugar=0; |
andJdmat | 0:c498d1d3e2de | 237 | } |
andJdmat | 0:c498d1d3e2de | 238 | //Activacion Alarma1 |
andJdmat | 0:c498d1d3e2de | 239 | if((Hora.date==Alm.date)&&(Hora.mon==Alm.mon)&&(Hora.year==Alm.year)&&(Hora.hour==Alm.hour)&&(Hora.min==Alm.min)&&(Hora.sec==Alm.sec)) |
andJdmat | 0:c498d1d3e2de | 240 | { |
andJdmat | 0:c498d1d3e2de | 241 | lcd.cls(); |
andJdmat | 0:c498d1d3e2de | 242 | lcd.locate(0,0); |
andJdmat | 0:c498d1d3e2de | 243 | lcd.printf("Alarma 1 Activa!!"); |
andJdmat | 0:c498d1d3e2de | 244 | red =0; |
andJdmat | 0:c498d1d3e2de | 245 | wait(.2); |
andJdmat | 0:c498d1d3e2de | 246 | red =1; |
andJdmat | 0:c498d1d3e2de | 247 | wait(.2); |
andJdmat | 0:c498d1d3e2de | 248 | red =0; |
andJdmat | 0:c498d1d3e2de | 249 | wait(.2); |
andJdmat | 0:c498d1d3e2de | 250 | red =1; |
andJdmat | 0:c498d1d3e2de | 251 | wait(.2); |
andJdmat | 0:c498d1d3e2de | 252 | red =0; |
andJdmat | 0:c498d1d3e2de | 253 | lcd.locate(0,0); |
andJdmat | 0:c498d1d3e2de | 254 | lcd.printf("Esperando Desactivacion"); |
andJdmat | 0:c498d1d3e2de | 255 | wait(1); |
andJdmat | 0:c498d1d3e2de | 256 | m=0; |
andJdmat | 0:c498d1d3e2de | 257 | k=1; |
andJdmat | 0:c498d1d3e2de | 258 | alarma = 1; |
andJdmat | 0:c498d1d3e2de | 259 | goto menu; |
andJdmat | 0:c498d1d3e2de | 260 | } |
andJdmat | 0:c498d1d3e2de | 261 | |
andJdmat | 0:c498d1d3e2de | 262 | //Activacion Alarma2 |
andJdmat | 0:c498d1d3e2de | 263 | if((Hora.date==Alm2.date)&&(Hora.mon==Alm2.mon)&&(Hora.year==Alm2.year)&&(Hora.hour==Alm2.hour)&&(Hora.min==Alm2.min)&&(Hora.sec==Alm2.sec)) |
andJdmat | 0:c498d1d3e2de | 264 | { |
andJdmat | 0:c498d1d3e2de | 265 | lcd.cls(); |
andJdmat | 0:c498d1d3e2de | 266 | lcd.locate(0,0); |
andJdmat | 0:c498d1d3e2de | 267 | lcd.printf("Alarma 2 Activa!!"); |
andJdmat | 0:c498d1d3e2de | 268 | green =0; |
andJdmat | 0:c498d1d3e2de | 269 | wait(.2); |
andJdmat | 0:c498d1d3e2de | 270 | green =1; |
andJdmat | 0:c498d1d3e2de | 271 | wait(.2); |
andJdmat | 0:c498d1d3e2de | 272 | green =0; |
andJdmat | 0:c498d1d3e2de | 273 | wait(.2); |
andJdmat | 0:c498d1d3e2de | 274 | green =1; |
andJdmat | 0:c498d1d3e2de | 275 | wait(.2); |
andJdmat | 0:c498d1d3e2de | 276 | green =0; |
andJdmat | 0:c498d1d3e2de | 277 | lcd.locate(0,0); |
andJdmat | 0:c498d1d3e2de | 278 | lcd.printf("Esperando desactivacion"); |
andJdmat | 0:c498d1d3e2de | 279 | wait(1); |
andJdmat | 0:c498d1d3e2de | 280 | Lugar = 3; |
andJdmat | 0:c498d1d3e2de | 281 | m=0; |
andJdmat | 0:c498d1d3e2de | 282 | k=2; |
andJdmat | 0:c498d1d3e2de | 283 | alarma = 1; |
andJdmat | 0:c498d1d3e2de | 284 | goto menu; |
andJdmat | 0:c498d1d3e2de | 285 | } |
andJdmat | 0:c498d1d3e2de | 286 | |
andJdmat | 0:c498d1d3e2de | 287 | //Activacion Alarma3 |
andJdmat | 0:c498d1d3e2de | 288 | if((Hora.date==Alm3.date)&&(Hora.mon==Alm3.mon)&&(Hora.year==Alm3.year)&&(Hora.hour==Alm3.hour)&&(Hora.min==Alm3.min)&&(Hora.sec==Alm3.sec)) |
andJdmat | 0:c498d1d3e2de | 289 | { |
andJdmat | 0:c498d1d3e2de | 290 | lcd.cls(); |
andJdmat | 0:c498d1d3e2de | 291 | lcd.locate(0,0); |
andJdmat | 0:c498d1d3e2de | 292 | lcd.printf("Alarma 3 Activa!!"); |
andJdmat | 0:c498d1d3e2de | 293 | blue =0; |
andJdmat | 0:c498d1d3e2de | 294 | wait(.2); |
andJdmat | 0:c498d1d3e2de | 295 | blue =1; |
andJdmat | 0:c498d1d3e2de | 296 | wait(.2); |
andJdmat | 0:c498d1d3e2de | 297 | blue =0; |
andJdmat | 0:c498d1d3e2de | 298 | wait(.2); |
andJdmat | 0:c498d1d3e2de | 299 | blue =1; |
andJdmat | 0:c498d1d3e2de | 300 | wait(.2); |
andJdmat | 0:c498d1d3e2de | 301 | blue =0; |
andJdmat | 0:c498d1d3e2de | 302 | lcd.locate(0,0); |
andJdmat | 0:c498d1d3e2de | 303 | lcd.printf("Esperando desactivacion"); |
andJdmat | 0:c498d1d3e2de | 304 | wait(1); |
andJdmat | 0:c498d1d3e2de | 305 | lcd.locate(0,1); |
andJdmat | 0:c498d1d3e2de | 306 | m=0; |
andJdmat | 0:c498d1d3e2de | 307 | k=3; |
andJdmat | 0:c498d1d3e2de | 308 | alarma = 1; |
andJdmat | 0:c498d1d3e2de | 309 | goto menu; |
andJdmat | 0:c498d1d3e2de | 310 | } |
andJdmat | 0:c498d1d3e2de | 311 | //Activacion Alarma4 |
andJdmat | 0:c498d1d3e2de | 312 | if((Hora.date==Alm4.date)&&(Hora.mon==Alm4.mon)&&(Hora.year==Alm4.year)&&(Hora.hour==Alm4.hour)&&(Hora.min==Alm4.min)&&(Hora.sec==Alm4.sec)) |
andJdmat | 0:c498d1d3e2de | 313 | { |
andJdmat | 0:c498d1d3e2de | 314 | lcd.cls(); |
andJdmat | 0:c498d1d3e2de | 315 | lcd.locate(0,0); |
andJdmat | 0:c498d1d3e2de | 316 | lcd.printf("Alarma 4 Activa!!"); |
andJdmat | 0:c498d1d3e2de | 317 | red =0; |
andJdmat | 0:c498d1d3e2de | 318 | wait(.2); |
andJdmat | 0:c498d1d3e2de | 319 | red =1; |
andJdmat | 0:c498d1d3e2de | 320 | wait(.2); |
andJdmat | 0:c498d1d3e2de | 321 | red =0; |
andJdmat | 0:c498d1d3e2de | 322 | wait(.2); |
andJdmat | 0:c498d1d3e2de | 323 | red =1; |
andJdmat | 0:c498d1d3e2de | 324 | wait(.2); |
andJdmat | 0:c498d1d3e2de | 325 | red =0; |
andJdmat | 0:c498d1d3e2de | 326 | lcd.locate(0,0); |
andJdmat | 0:c498d1d3e2de | 327 | lcd.printf("Esperando desactivacion"); |
andJdmat | 0:c498d1d3e2de | 328 | wait(1); |
andJdmat | 0:c498d1d3e2de | 329 | m=0; |
andJdmat | 0:c498d1d3e2de | 330 | alarma =1; |
andJdmat | 0:c498d1d3e2de | 331 | k=4; |
andJdmat | 0:c498d1d3e2de | 332 | } |
andJdmat | 0:c498d1d3e2de | 333 | |
andJdmat | 0:c498d1d3e2de | 334 | //Desactivar Alarma |
andJdmat | 0:c498d1d3e2de | 335 | |
andJdmat | 0:c498d1d3e2de | 336 | if(alarma==1){ |
andJdmat | 0:c498d1d3e2de | 337 | Sonido.write(0.5); |
andJdmat | 0:c498d1d3e2de | 338 | red = 0; |
andJdmat | 0:c498d1d3e2de | 339 | wait(0.2); |
andJdmat | 0:c498d1d3e2de | 340 | red = 1; |
andJdmat | 0:c498d1d3e2de | 341 | Sonido.write(0); |
andJdmat | 0:c498d1d3e2de | 342 | wait(0.2); |
andJdmat | 0:c498d1d3e2de | 343 | blue = 0; |
andJdmat | 0:c498d1d3e2de | 344 | Sonido.write(0.5); |
andJdmat | 0:c498d1d3e2de | 345 | wait(0.2); |
andJdmat | 0:c498d1d3e2de | 346 | blue = 1; |
andJdmat | 0:c498d1d3e2de | 347 | Sonido.write(0); |
andJdmat | 0:c498d1d3e2de | 348 | wait(0.2); |
andJdmat | 0:c498d1d3e2de | 349 | } |
andJdmat | 0:c498d1d3e2de | 350 | //Desactivacion Alarma1 |
andJdmat | 0:c498d1d3e2de | 351 | if((Hora.date==Alm_d.date)&&(Hora.mon==Alm_d.mon)&&(Hora.year==Alm_d.year)&&(Hora.hour==Alm_d.hour)&&(Hora.min==Alm_d.min)&&(Hora.sec==Alm_d.sec)) |
andJdmat | 0:c498d1d3e2de | 352 | { |
andJdmat | 0:c498d1d3e2de | 353 | lcd.cls(); |
andJdmat | 0:c498d1d3e2de | 354 | lcd.locate(0,0); |
andJdmat | 0:c498d1d3e2de | 355 | lcd.printf("Alarma 1 Desactivada"); |
andJdmat | 0:c498d1d3e2de | 356 | wait(1); |
andJdmat | 0:c498d1d3e2de | 357 | red =0; |
andJdmat | 0:c498d1d3e2de | 358 | wait(.2); |
andJdmat | 0:c498d1d3e2de | 359 | red =1; |
andJdmat | 0:c498d1d3e2de | 360 | wait(.2); |
andJdmat | 0:c498d1d3e2de | 361 | red =0; |
andJdmat | 0:c498d1d3e2de | 362 | wait(.2); |
andJdmat | 0:c498d1d3e2de | 363 | red =1; |
andJdmat | 0:c498d1d3e2de | 364 | wait(.2); |
andJdmat | 0:c498d1d3e2de | 365 | red =0; |
andJdmat | 0:c498d1d3e2de | 366 | lcd.cls(); |
andJdmat | 0:c498d1d3e2de | 367 | lcd.locate(0,0); |
andJdmat | 0:c498d1d3e2de | 368 | lcd.printf("Adios"); |
andJdmat | 0:c498d1d3e2de | 369 | alarma = 0; |
andJdmat | 0:c498d1d3e2de | 370 | wait(1); |
andJdmat | 0:c498d1d3e2de | 371 | m=0; |
andJdmat | 0:c498d1d3e2de | 372 | k=1; |
andJdmat | 0:c498d1d3e2de | 373 | } |
andJdmat | 0:c498d1d3e2de | 374 | |
andJdmat | 0:c498d1d3e2de | 375 | //Desactivacion Alarma2 |
andJdmat | 0:c498d1d3e2de | 376 | if((Hora.date==Alm2_d.date)&&(Hora.mon==Alm2_d.mon)&&(Hora.year==Alm2_d.year)&&(Hora.hour==Alm2_d.hour)&&(Hora.min==Alm2_d.min)&&(Hora.sec==Alm2_d.sec)) |
andJdmat | 0:c498d1d3e2de | 377 | { |
andJdmat | 0:c498d1d3e2de | 378 | lcd.cls(); |
andJdmat | 0:c498d1d3e2de | 379 | lcd.locate(0,0); |
andJdmat | 0:c498d1d3e2de | 380 | lcd.printf("Alarma 2 Desactivada"); |
andJdmat | 0:c498d1d3e2de | 381 | wait(1); |
andJdmat | 0:c498d1d3e2de | 382 | green =0; |
andJdmat | 0:c498d1d3e2de | 383 | wait(.2); |
andJdmat | 0:c498d1d3e2de | 384 | green =1; |
andJdmat | 0:c498d1d3e2de | 385 | wait(.2); |
andJdmat | 0:c498d1d3e2de | 386 | green =0; |
andJdmat | 0:c498d1d3e2de | 387 | wait(.2); |
andJdmat | 0:c498d1d3e2de | 388 | green =1; |
andJdmat | 0:c498d1d3e2de | 389 | wait(.2); |
andJdmat | 0:c498d1d3e2de | 390 | green =0; |
andJdmat | 0:c498d1d3e2de | 391 | lcd.cls(); |
andJdmat | 0:c498d1d3e2de | 392 | lcd.locate(0,0); |
andJdmat | 0:c498d1d3e2de | 393 | lcd.printf("Adios"); |
andJdmat | 0:c498d1d3e2de | 394 | alarma = 0; |
andJdmat | 0:c498d1d3e2de | 395 | wait(1); |
andJdmat | 0:c498d1d3e2de | 396 | m=0; |
andJdmat | 0:c498d1d3e2de | 397 | k=2; |
andJdmat | 0:c498d1d3e2de | 398 | } |
andJdmat | 0:c498d1d3e2de | 399 | |
andJdmat | 0:c498d1d3e2de | 400 | //Desactivacion Alarma3 |
andJdmat | 0:c498d1d3e2de | 401 | if((Hora.date==Alm3_d.date)&&(Hora.mon==Alm3_d.mon)&&(Hora.year==Alm3_d.year)&&(Hora.hour==Alm3_d.hour)&&(Hora.min==Alm3_d.min)&&(Hora.sec==Alm3_d.sec)) |
andJdmat | 0:c498d1d3e2de | 402 | { |
andJdmat | 0:c498d1d3e2de | 403 | lcd.cls(); |
andJdmat | 0:c498d1d3e2de | 404 | lcd.locate(0,0); |
andJdmat | 0:c498d1d3e2de | 405 | lcd.printf("Alarma 3 Desactivada"); |
andJdmat | 0:c498d1d3e2de | 406 | blue =0; |
andJdmat | 0:c498d1d3e2de | 407 | wait(.2); |
andJdmat | 0:c498d1d3e2de | 408 | blue =1; |
andJdmat | 0:c498d1d3e2de | 409 | wait(.2); |
andJdmat | 0:c498d1d3e2de | 410 | blue =0; |
andJdmat | 0:c498d1d3e2de | 411 | wait(.2); |
andJdmat | 0:c498d1d3e2de | 412 | blue =1; |
andJdmat | 0:c498d1d3e2de | 413 | wait(.2); |
andJdmat | 0:c498d1d3e2de | 414 | blue =0; |
andJdmat | 0:c498d1d3e2de | 415 | lcd.locate(0,0); |
andJdmat | 0:c498d1d3e2de | 416 | lcd.printf("Adios"); |
andJdmat | 0:c498d1d3e2de | 417 | wait(1); |
andJdmat | 0:c498d1d3e2de | 418 | m=0; |
andJdmat | 0:c498d1d3e2de | 419 | alarma = 0; |
andJdmat | 0:c498d1d3e2de | 420 | k=3; |
andJdmat | 0:c498d1d3e2de | 421 | } |
andJdmat | 0:c498d1d3e2de | 422 | //Desactivacion Alarma4 |
andJdmat | 0:c498d1d3e2de | 423 | if((Hora.date==Alm4_d.date)&&(Hora.mon==Alm4_d.mon)&&(Hora.year==Alm4_d.year)&&(Hora.hour==Alm4_d.hour)&&(Hora.min==Alm4_d.min)&&(Hora.sec==Alm4_d.sec)) |
andJdmat | 0:c498d1d3e2de | 424 | { |
andJdmat | 0:c498d1d3e2de | 425 | lcd.cls(); |
andJdmat | 0:c498d1d3e2de | 426 | lcd.locate(0,0); |
andJdmat | 0:c498d1d3e2de | 427 | lcd.printf("Alarma 4 Desactivada"); |
andJdmat | 0:c498d1d3e2de | 428 | wait(1); |
andJdmat | 0:c498d1d3e2de | 429 | red =0; |
andJdmat | 0:c498d1d3e2de | 430 | wait(.2); |
andJdmat | 0:c498d1d3e2de | 431 | red =1; |
andJdmat | 0:c498d1d3e2de | 432 | wait(.2); |
andJdmat | 0:c498d1d3e2de | 433 | red =0; |
andJdmat | 0:c498d1d3e2de | 434 | wait(.2); |
andJdmat | 0:c498d1d3e2de | 435 | red =1; |
andJdmat | 0:c498d1d3e2de | 436 | wait(.2); |
andJdmat | 0:c498d1d3e2de | 437 | red =0; |
andJdmat | 0:c498d1d3e2de | 438 | lcd.locate(0,0); |
andJdmat | 0:c498d1d3e2de | 439 | lcd.printf("Adios"); |
andJdmat | 0:c498d1d3e2de | 440 | alarma = 0; |
andJdmat | 0:c498d1d3e2de | 441 | wait(1); |
andJdmat | 0:c498d1d3e2de | 442 | m=0; |
andJdmat | 0:c498d1d3e2de | 443 | k=4; |
andJdmat | 0:c498d1d3e2de | 444 | } |
andJdmat | 0:c498d1d3e2de | 445 | /////////////////// |
andJdmat | 0:c498d1d3e2de | 446 | |
andJdmat | 0:c498d1d3e2de | 447 | break; |
andJdmat | 0:c498d1d3e2de | 448 | |
andJdmat | 0:c498d1d3e2de | 449 | |
andJdmat | 0:c498d1d3e2de | 450 | } |
andJdmat | 0:c498d1d3e2de | 451 | } |
andJdmat | 0:c498d1d3e2de | 452 | |
andJdmat | 0:c498d1d3e2de | 453 | // Lazo de config de hora |
andJdmat | 0:c498d1d3e2de | 454 | |
andJdmat | 0:c498d1d3e2de | 455 | hora: |
andJdmat | 0:c498d1d3e2de | 456 | int i = 0; |
andJdmat | 0:c498d1d3e2de | 457 | wait(1); |
andJdmat | 0:c498d1d3e2de | 458 | lcd.cls(); |
andJdmat | 0:c498d1d3e2de | 459 | lcd.locate(0,0); |
andJdmat | 0:c498d1d3e2de | 460 | lcd.printf("Segundos: "); |
andJdmat | 0:c498d1d3e2de | 461 | Hora.sec=0; |
andJdmat | 0:c498d1d3e2de | 462 | m=0; |
andJdmat | 0:c498d1d3e2de | 463 | while(i == 0){ |
andJdmat | 0:c498d1d3e2de | 464 | m=wheel.getPulses(); |
andJdmat | 0:c498d1d3e2de | 465 | if (m!=0){ |
andJdmat | 0:c498d1d3e2de | 466 | Hora.sec=Hora.sec+m; |
andJdmat | 0:c498d1d3e2de | 467 | if(Hora.sec>59){ |
andJdmat | 0:c498d1d3e2de | 468 | Hora.sec=59; |
andJdmat | 0:c498d1d3e2de | 469 | } |
andJdmat | 0:c498d1d3e2de | 470 | if(Hora.sec<0){ |
andJdmat | 0:c498d1d3e2de | 471 | Hora.sec=0; |
andJdmat | 0:c498d1d3e2de | 472 | } |
andJdmat | 0:c498d1d3e2de | 473 | wheel.reset(); |
andJdmat | 0:c498d1d3e2de | 474 | m=0; |
andJdmat | 0:c498d1d3e2de | 475 | } |
andJdmat | 0:c498d1d3e2de | 476 | lcd.locate(0,1); |
andJdmat | 0:c498d1d3e2de | 477 | lcd.printf(" "); |
andJdmat | 0:c498d1d3e2de | 478 | lcd.locate(0,1); |
andJdmat | 0:c498d1d3e2de | 479 | lcd.printf("%02d",Hora.sec); |
andJdmat | 0:c498d1d3e2de | 480 | |
andJdmat | 0:c498d1d3e2de | 481 | if (b_en.falling()){ |
andJdmat | 0:c498d1d3e2de | 482 | lcd.cls(); |
andJdmat | 0:c498d1d3e2de | 483 | lcd.locate(0,0); |
andJdmat | 0:c498d1d3e2de | 484 | lcd.printf("Minutos: "); |
andJdmat | 0:c498d1d3e2de | 485 | Hora.min = 0; |
andJdmat | 0:c498d1d3e2de | 486 | i++; |
andJdmat | 0:c498d1d3e2de | 487 | m=0; |
andJdmat | 0:c498d1d3e2de | 488 | } |
andJdmat | 0:c498d1d3e2de | 489 | } |
andJdmat | 0:c498d1d3e2de | 490 | while(i == 1){ |
andJdmat | 0:c498d1d3e2de | 491 | m=wheel.getPulses(); |
andJdmat | 0:c498d1d3e2de | 492 | if (m!=0){ |
andJdmat | 0:c498d1d3e2de | 493 | Hora.min=Hora.min+m; |
andJdmat | 0:c498d1d3e2de | 494 | if(Hora.min>59){ |
andJdmat | 0:c498d1d3e2de | 495 | Hora.min=59; |
andJdmat | 0:c498d1d3e2de | 496 | } |
andJdmat | 0:c498d1d3e2de | 497 | if(Hora.min<0){ |
andJdmat | 0:c498d1d3e2de | 498 | Hora.min=0; |
andJdmat | 0:c498d1d3e2de | 499 | } |
andJdmat | 0:c498d1d3e2de | 500 | wheel.reset(); |
andJdmat | 0:c498d1d3e2de | 501 | m=0; |
andJdmat | 0:c498d1d3e2de | 502 | } |
andJdmat | 0:c498d1d3e2de | 503 | lcd.locate(0,1); |
andJdmat | 0:c498d1d3e2de | 504 | lcd.printf(" "); |
andJdmat | 0:c498d1d3e2de | 505 | lcd.locate(0,1); |
andJdmat | 0:c498d1d3e2de | 506 | lcd.printf("%02d",Hora.min); |
andJdmat | 0:c498d1d3e2de | 507 | if (b_en.falling()){ |
andJdmat | 0:c498d1d3e2de | 508 | lcd.cls(); |
andJdmat | 0:c498d1d3e2de | 509 | lcd.locate(0,0); |
andJdmat | 0:c498d1d3e2de | 510 | lcd.printf("Hora: "); |
andJdmat | 0:c498d1d3e2de | 511 | Hora.hour = 0; |
andJdmat | 0:c498d1d3e2de | 512 | i++; |
andJdmat | 0:c498d1d3e2de | 513 | m=0; |
andJdmat | 0:c498d1d3e2de | 514 | } |
andJdmat | 0:c498d1d3e2de | 515 | } |
andJdmat | 0:c498d1d3e2de | 516 | |
andJdmat | 0:c498d1d3e2de | 517 | while(i == 2){ |
andJdmat | 0:c498d1d3e2de | 518 | m=wheel.getPulses(); |
andJdmat | 0:c498d1d3e2de | 519 | if (m!=0){ |
andJdmat | 0:c498d1d3e2de | 520 | Hora.hour=Hora.hour+m; |
andJdmat | 0:c498d1d3e2de | 521 | if(Hora.hour>12){ |
andJdmat | 0:c498d1d3e2de | 522 | Hora.hour=12; |
andJdmat | 0:c498d1d3e2de | 523 | } |
andJdmat | 0:c498d1d3e2de | 524 | if(Hora.hour<0){ |
andJdmat | 0:c498d1d3e2de | 525 | Hora.hour=0; |
andJdmat | 0:c498d1d3e2de | 526 | } |
andJdmat | 0:c498d1d3e2de | 527 | wheel.reset(); |
andJdmat | 0:c498d1d3e2de | 528 | m=0; |
andJdmat | 0:c498d1d3e2de | 529 | } |
andJdmat | 0:c498d1d3e2de | 530 | lcd.locate(0,1); |
andJdmat | 0:c498d1d3e2de | 531 | lcd.printf("%02d",Hora.hour); |
andJdmat | 0:c498d1d3e2de | 532 | if (b_en.falling()){ |
andJdmat | 0:c498d1d3e2de | 533 | lcd.cls(); |
andJdmat | 0:c498d1d3e2de | 534 | lcd.locate(0,0); |
andJdmat | 0:c498d1d3e2de | 535 | lcd.printf("Hora definida: "); |
andJdmat | 0:c498d1d3e2de | 536 | wait(1); |
andJdmat | 0:c498d1d3e2de | 537 | lcd.cls(); |
andJdmat | 0:c498d1d3e2de | 538 | lcd.locate(0,0); |
andJdmat | 0:c498d1d3e2de | 539 | lcd.printf("Fecha: "); |
andJdmat | 0:c498d1d3e2de | 540 | wait(1); |
andJdmat | 0:c498d1d3e2de | 541 | lcd.cls(); |
andJdmat | 0:c498d1d3e2de | 542 | lcd.locate(0,0); |
andJdmat | 0:c498d1d3e2de | 543 | lcd.printf("Dia: "); |
andJdmat | 0:c498d1d3e2de | 544 | Hora.date = 1; |
andJdmat | 0:c498d1d3e2de | 545 | i++; |
andJdmat | 0:c498d1d3e2de | 546 | m=0; |
andJdmat | 0:c498d1d3e2de | 547 | } |
andJdmat | 0:c498d1d3e2de | 548 | } |
andJdmat | 0:c498d1d3e2de | 549 | |
andJdmat | 0:c498d1d3e2de | 550 | |
andJdmat | 0:c498d1d3e2de | 551 | while (i == 3){ |
andJdmat | 0:c498d1d3e2de | 552 | m=wheel.getPulses(); |
andJdmat | 0:c498d1d3e2de | 553 | if (m!=0){ |
andJdmat | 0:c498d1d3e2de | 554 | Hora.date=Hora.date+m; |
andJdmat | 0:c498d1d3e2de | 555 | if(Hora.date>59){ |
andJdmat | 0:c498d1d3e2de | 556 | Hora.date=59; |
andJdmat | 0:c498d1d3e2de | 557 | } |
andJdmat | 0:c498d1d3e2de | 558 | if(Hora.date<1){ |
andJdmat | 0:c498d1d3e2de | 559 | Hora.date=1; |
andJdmat | 0:c498d1d3e2de | 560 | } |
andJdmat | 0:c498d1d3e2de | 561 | wheel.reset(); |
andJdmat | 0:c498d1d3e2de | 562 | m=0; |
andJdmat | 0:c498d1d3e2de | 563 | lcd.locate(0,1); |
andJdmat | 0:c498d1d3e2de | 564 | lcd.printf("%02d",Hora.date); |
andJdmat | 0:c498d1d3e2de | 565 | } |
andJdmat | 0:c498d1d3e2de | 566 | |
andJdmat | 0:c498d1d3e2de | 567 | if (b_en.falling()){ |
andJdmat | 0:c498d1d3e2de | 568 | i++; |
andJdmat | 0:c498d1d3e2de | 569 | m=0; |
andJdmat | 0:c498d1d3e2de | 570 | lcd.cls(); |
andJdmat | 0:c498d1d3e2de | 571 | lcd.locate(0,0); |
andJdmat | 0:c498d1d3e2de | 572 | lcd.printf("Mes: "); |
andJdmat | 0:c498d1d3e2de | 573 | Hora.mon = 1; |
andJdmat | 0:c498d1d3e2de | 574 | |
andJdmat | 0:c498d1d3e2de | 575 | } |
andJdmat | 0:c498d1d3e2de | 576 | } |
andJdmat | 0:c498d1d3e2de | 577 | |
andJdmat | 0:c498d1d3e2de | 578 | while (i == 4){ |
andJdmat | 0:c498d1d3e2de | 579 | m=wheel.getPulses(); |
andJdmat | 0:c498d1d3e2de | 580 | if (m!=0){ |
andJdmat | 0:c498d1d3e2de | 581 | Hora.mon=Hora.mon+m; |
andJdmat | 0:c498d1d3e2de | 582 | if(Hora.mon>12){ |
andJdmat | 0:c498d1d3e2de | 583 | Hora.mon=12; |
andJdmat | 0:c498d1d3e2de | 584 | } |
andJdmat | 0:c498d1d3e2de | 585 | if(Hora.mon<1){ |
andJdmat | 0:c498d1d3e2de | 586 | Hora.mon=1; |
andJdmat | 0:c498d1d3e2de | 587 | } |
andJdmat | 0:c498d1d3e2de | 588 | wheel.reset(); |
andJdmat | 0:c498d1d3e2de | 589 | m=0; |
andJdmat | 0:c498d1d3e2de | 590 | lcd.locate(0,1); |
andJdmat | 0:c498d1d3e2de | 591 | lcd.printf("%02d",Hora.mon); |
andJdmat | 0:c498d1d3e2de | 592 | } |
andJdmat | 0:c498d1d3e2de | 593 | |
andJdmat | 0:c498d1d3e2de | 594 | if (b_en.falling()){ |
andJdmat | 0:c498d1d3e2de | 595 | i++; |
andJdmat | 0:c498d1d3e2de | 596 | m=0; |
andJdmat | 0:c498d1d3e2de | 597 | lcd.cls(); |
andJdmat | 0:c498d1d3e2de | 598 | lcd.locate(0,0); |
andJdmat | 0:c498d1d3e2de | 599 | lcd.printf("Ano: "); |
andJdmat | 0:c498d1d3e2de | 600 | Hora.year = 2016; |
andJdmat | 0:c498d1d3e2de | 601 | } |
andJdmat | 0:c498d1d3e2de | 602 | } |
andJdmat | 0:c498d1d3e2de | 603 | while (i == 5){ |
andJdmat | 0:c498d1d3e2de | 604 | m=wheel.getPulses(); |
andJdmat | 0:c498d1d3e2de | 605 | if (m!=0){ |
andJdmat | 0:c498d1d3e2de | 606 | Hora.year=Hora.year+m; |
andJdmat | 0:c498d1d3e2de | 607 | |
andJdmat | 0:c498d1d3e2de | 608 | if(Hora.year<2016){ |
andJdmat | 0:c498d1d3e2de | 609 | Hora.year=2016; |
andJdmat | 0:c498d1d3e2de | 610 | } |
andJdmat | 0:c498d1d3e2de | 611 | wheel.reset(); |
andJdmat | 0:c498d1d3e2de | 612 | m=0; |
andJdmat | 0:c498d1d3e2de | 613 | lcd.locate(0,1); |
andJdmat | 0:c498d1d3e2de | 614 | lcd.printf("%02d",Hora.year); |
andJdmat | 0:c498d1d3e2de | 615 | } |
andJdmat | 0:c498d1d3e2de | 616 | |
andJdmat | 0:c498d1d3e2de | 617 | if (b_en.falling()){ |
andJdmat | 0:c498d1d3e2de | 618 | i++; |
andJdmat | 0:c498d1d3e2de | 619 | m=0; |
andJdmat | 0:c498d1d3e2de | 620 | lcd.cls(); |
andJdmat | 0:c498d1d3e2de | 621 | rtc.setTime(Hora, false, false); |
andJdmat | 0:c498d1d3e2de | 622 | rtc.startClock(); |
andJdmat | 0:c498d1d3e2de | 623 | } |
andJdmat | 0:c498d1d3e2de | 624 | } |
andJdmat | 0:c498d1d3e2de | 625 | |
andJdmat | 0:c498d1d3e2de | 626 | |
andJdmat | 0:c498d1d3e2de | 627 | while(i == 6){ |
andJdmat | 0:c498d1d3e2de | 628 | |
andJdmat | 0:c498d1d3e2de | 629 | lcd.locate(0,0); |
andJdmat | 0:c498d1d3e2de | 630 | lcd.printf("Esperando Hora "); |
andJdmat | 0:c498d1d3e2de | 631 | if(rtc.getTime(Hora)){ |
andJdmat | 0:c498d1d3e2de | 632 | |
andJdmat | 0:c498d1d3e2de | 633 | pc.printf("La hora actual es : %02d:%02d:%02d\n", Hora.hour, Hora.min, Hora.sec); // Me entrega la hora actual |
andJdmat | 0:c498d1d3e2de | 634 | red = 0; |
andJdmat | 0:c498d1d3e2de | 635 | lcd.cls(); |
andJdmat | 0:c498d1d3e2de | 636 | lcd.locate(0,0); |
andJdmat | 0:c498d1d3e2de | 637 | lcd.printf("Hora: "); |
andJdmat | 0:c498d1d3e2de | 638 | lcd.locate(0,1); |
andJdmat | 0:c498d1d3e2de | 639 | lcd.printf("%02d:%02d:%02d", Hora.hour, Hora.min,Hora.sec); |
andJdmat | 0:c498d1d3e2de | 640 | red = 1; |
andJdmat | 0:c498d1d3e2de | 641 | wait(1); |
andJdmat | 0:c498d1d3e2de | 642 | } |
andJdmat | 0:c498d1d3e2de | 643 | if (b_en.falling()){ |
andJdmat | 0:c498d1d3e2de | 644 | i++; |
andJdmat | 0:c498d1d3e2de | 645 | Lugar = 3; |
andJdmat | 0:c498d1d3e2de | 646 | } |
andJdmat | 0:c498d1d3e2de | 647 | } |
andJdmat | 0:c498d1d3e2de | 648 | |
andJdmat | 0:c498d1d3e2de | 649 | while(i == 7){ |
andJdmat | 0:c498d1d3e2de | 650 | goto menu; |
andJdmat | 0:c498d1d3e2de | 651 | } |
andJdmat | 0:c498d1d3e2de | 652 | |
andJdmat | 0:c498d1d3e2de | 653 | |
andJdmat | 0:c498d1d3e2de | 654 | |
andJdmat | 0:c498d1d3e2de | 655 | // Lazo de Config Alarmas |
andJdmat | 0:c498d1d3e2de | 656 | |
andJdmat | 0:c498d1d3e2de | 657 | alarm: |
andJdmat | 0:c498d1d3e2de | 658 | int pos=1; |
andJdmat | 0:c498d1d3e2de | 659 | int l =0; |
andJdmat | 0:c498d1d3e2de | 660 | |
andJdmat | 0:c498d1d3e2de | 661 | while(l == 0){ |
andJdmat | 0:c498d1d3e2de | 662 | m=wheel.getPulses(); |
andJdmat | 0:c498d1d3e2de | 663 | lcd.locate(0,0); |
andJdmat | 0:c498d1d3e2de | 664 | lcd.printf("Configurar Alarma %02d",pos); |
andJdmat | 0:c498d1d3e2de | 665 | lcd.locate(0,1); |
andJdmat | 0:c498d1d3e2de | 666 | lcd.printf("-1 -2 -3 -4"); |
andJdmat | 0:c498d1d3e2de | 667 | if (m!=0){ |
andJdmat | 0:c498d1d3e2de | 668 | pos=pos+m; |
andJdmat | 0:c498d1d3e2de | 669 | if(pos<1){ |
andJdmat | 0:c498d1d3e2de | 670 | pos=1; |
andJdmat | 0:c498d1d3e2de | 671 | } |
andJdmat | 0:c498d1d3e2de | 672 | if(pos>4){ |
andJdmat | 0:c498d1d3e2de | 673 | pos=4; |
andJdmat | 0:c498d1d3e2de | 674 | } |
andJdmat | 0:c498d1d3e2de | 675 | wheel.reset(); |
andJdmat | 0:c498d1d3e2de | 676 | m=0; |
andJdmat | 0:c498d1d3e2de | 677 | } |
andJdmat | 0:c498d1d3e2de | 678 | if(pos==1){ |
andJdmat | 0:c498d1d3e2de | 679 | red =0; |
andJdmat | 0:c498d1d3e2de | 680 | green =1; |
andJdmat | 0:c498d1d3e2de | 681 | blue =1; |
andJdmat | 0:c498d1d3e2de | 682 | lcd.locate(0,1); |
andJdmat | 0:c498d1d3e2de | 683 | lcd.printf(">"); |
andJdmat | 0:c498d1d3e2de | 684 | lcd.locate(4,1); |
andJdmat | 0:c498d1d3e2de | 685 | lcd.printf("-"); |
andJdmat | 0:c498d1d3e2de | 686 | lcd.locate(9,1); |
andJdmat | 0:c498d1d3e2de | 687 | lcd.printf("-"); |
andJdmat | 0:c498d1d3e2de | 688 | lcd.locate(13,1); |
andJdmat | 0:c498d1d3e2de | 689 | lcd.printf("-"); |
andJdmat | 0:c498d1d3e2de | 690 | wait(0.1); |
andJdmat | 0:c498d1d3e2de | 691 | } |
andJdmat | 0:c498d1d3e2de | 692 | if(pos==2){ |
andJdmat | 0:c498d1d3e2de | 693 | red =1; |
andJdmat | 0:c498d1d3e2de | 694 | green =0; |
andJdmat | 0:c498d1d3e2de | 695 | blue =1; |
andJdmat | 0:c498d1d3e2de | 696 | lcd.locate(0,1); |
andJdmat | 0:c498d1d3e2de | 697 | lcd.printf("-"); |
andJdmat | 0:c498d1d3e2de | 698 | lcd.locate(4,1); |
andJdmat | 0:c498d1d3e2de | 699 | lcd.printf(">"); |
andJdmat | 0:c498d1d3e2de | 700 | lcd.locate(9,1); |
andJdmat | 0:c498d1d3e2de | 701 | lcd.printf("-"); |
andJdmat | 0:c498d1d3e2de | 702 | lcd.locate(13,1); |
andJdmat | 0:c498d1d3e2de | 703 | lcd.printf("-"); |
andJdmat | 0:c498d1d3e2de | 704 | wait(0.1); |
andJdmat | 0:c498d1d3e2de | 705 | } |
andJdmat | 0:c498d1d3e2de | 706 | if(pos==3){ |
andJdmat | 0:c498d1d3e2de | 707 | red =1; |
andJdmat | 0:c498d1d3e2de | 708 | green =1; |
andJdmat | 0:c498d1d3e2de | 709 | blue =0; |
andJdmat | 0:c498d1d3e2de | 710 | lcd.locate(0,1); |
andJdmat | 0:c498d1d3e2de | 711 | lcd.printf("-"); |
andJdmat | 0:c498d1d3e2de | 712 | lcd.locate(4,1); |
andJdmat | 0:c498d1d3e2de | 713 | lcd.printf("-"); |
andJdmat | 0:c498d1d3e2de | 714 | lcd.locate(9,1); |
andJdmat | 0:c498d1d3e2de | 715 | lcd.printf(">"); |
andJdmat | 0:c498d1d3e2de | 716 | lcd.locate(13,1); |
andJdmat | 0:c498d1d3e2de | 717 | lcd.printf("-"); |
andJdmat | 0:c498d1d3e2de | 718 | wait(0.1); |
andJdmat | 0:c498d1d3e2de | 719 | } |
andJdmat | 0:c498d1d3e2de | 720 | if(pos==4){ |
andJdmat | 0:c498d1d3e2de | 721 | red =0; |
andJdmat | 0:c498d1d3e2de | 722 | green =0; |
andJdmat | 0:c498d1d3e2de | 723 | blue =0; |
andJdmat | 0:c498d1d3e2de | 724 | lcd.locate(0,1); |
andJdmat | 0:c498d1d3e2de | 725 | lcd.printf("-"); |
andJdmat | 0:c498d1d3e2de | 726 | lcd.locate(4,1); |
andJdmat | 0:c498d1d3e2de | 727 | lcd.printf("-"); |
andJdmat | 0:c498d1d3e2de | 728 | lcd.locate(9,1); |
andJdmat | 0:c498d1d3e2de | 729 | lcd.printf("-"); |
andJdmat | 0:c498d1d3e2de | 730 | lcd.locate(13,1); |
andJdmat | 0:c498d1d3e2de | 731 | lcd.printf(">"); |
andJdmat | 0:c498d1d3e2de | 732 | wait(0.1); |
andJdmat | 0:c498d1d3e2de | 733 | } |
andJdmat | 0:c498d1d3e2de | 734 | |
andJdmat | 0:c498d1d3e2de | 735 | if (b_en.falling()){ |
andJdmat | 0:c498d1d3e2de | 736 | m=0; |
andJdmat | 0:c498d1d3e2de | 737 | l = 1; |
andJdmat | 0:c498d1d3e2de | 738 | lcd.cls(); |
andJdmat | 0:c498d1d3e2de | 739 | lcd.locate(0,0); |
andJdmat | 0:c498d1d3e2de | 740 | lcd.printf("Selecciono la"); |
andJdmat | 0:c498d1d3e2de | 741 | lcd.locate(0,2); |
andJdmat | 0:c498d1d3e2de | 742 | lcd.printf("Alarma numero %02d ",pos); |
andJdmat | 0:c498d1d3e2de | 743 | wait(1.5); |
andJdmat | 0:c498d1d3e2de | 744 | lcd.cls(); |
andJdmat | 0:c498d1d3e2de | 745 | |
andJdmat | 0:c498d1d3e2de | 746 | } |
andJdmat | 0:c498d1d3e2de | 747 | |
andJdmat | 0:c498d1d3e2de | 748 | } |
andJdmat | 0:c498d1d3e2de | 749 | |
andJdmat | 0:c498d1d3e2de | 750 | lcd.cls(); |
andJdmat | 0:c498d1d3e2de | 751 | lcd.locate(0,0); |
andJdmat | 0:c498d1d3e2de | 752 | lcd.printf("Dia: "); |
andJdmat | 0:c498d1d3e2de | 753 | t.date = 1; |
andJdmat | 0:c498d1d3e2de | 754 | |
andJdmat | 0:c498d1d3e2de | 755 | while (l == 1){ |
andJdmat | 0:c498d1d3e2de | 756 | m=wheel.getPulses(); |
andJdmat | 0:c498d1d3e2de | 757 | if (m!=0){ |
andJdmat | 0:c498d1d3e2de | 758 | t.date=t.date+m; |
andJdmat | 0:c498d1d3e2de | 759 | if(t.date>31){ |
andJdmat | 0:c498d1d3e2de | 760 | t.date=31; |
andJdmat | 0:c498d1d3e2de | 761 | } |
andJdmat | 0:c498d1d3e2de | 762 | if(t.date<1){ |
andJdmat | 0:c498d1d3e2de | 763 | t.date=1; |
andJdmat | 0:c498d1d3e2de | 764 | } |
andJdmat | 0:c498d1d3e2de | 765 | wheel.reset(); |
andJdmat | 0:c498d1d3e2de | 766 | m=0; |
andJdmat | 0:c498d1d3e2de | 767 | lcd.locate(0,1); |
andJdmat | 0:c498d1d3e2de | 768 | lcd.printf("%02d",t.date); |
andJdmat | 0:c498d1d3e2de | 769 | } |
andJdmat | 0:c498d1d3e2de | 770 | |
andJdmat | 0:c498d1d3e2de | 771 | if (b_en.falling()){ |
andJdmat | 0:c498d1d3e2de | 772 | a++; |
andJdmat | 0:c498d1d3e2de | 773 | m=0; |
andJdmat | 0:c498d1d3e2de | 774 | lcd.cls(); |
andJdmat | 0:c498d1d3e2de | 775 | lcd.locate(0,0); |
andJdmat | 0:c498d1d3e2de | 776 | lcd.printf("Mes: "); |
andJdmat | 0:c498d1d3e2de | 777 | t.mon = 1; |
andJdmat | 0:c498d1d3e2de | 778 | l = 2; |
andJdmat | 0:c498d1d3e2de | 779 | } |
andJdmat | 0:c498d1d3e2de | 780 | } |
andJdmat | 0:c498d1d3e2de | 781 | while (l == 2){ |
andJdmat | 0:c498d1d3e2de | 782 | m=wheel.getPulses(); |
andJdmat | 0:c498d1d3e2de | 783 | if (m!=0){ |
andJdmat | 0:c498d1d3e2de | 784 | t.mon=t.mon+m; |
andJdmat | 0:c498d1d3e2de | 785 | if(t.mon>12){ |
andJdmat | 0:c498d1d3e2de | 786 | t.mon=12; |
andJdmat | 0:c498d1d3e2de | 787 | } |
andJdmat | 0:c498d1d3e2de | 788 | if(t.mon<1){ |
andJdmat | 0:c498d1d3e2de | 789 | t.mon=1; |
andJdmat | 0:c498d1d3e2de | 790 | } |
andJdmat | 0:c498d1d3e2de | 791 | wheel.reset(); |
andJdmat | 0:c498d1d3e2de | 792 | m=0; |
andJdmat | 0:c498d1d3e2de | 793 | lcd.locate(0,1); |
andJdmat | 0:c498d1d3e2de | 794 | lcd.printf("%02d",t.mon); |
andJdmat | 0:c498d1d3e2de | 795 | } |
andJdmat | 0:c498d1d3e2de | 796 | |
andJdmat | 0:c498d1d3e2de | 797 | if (b_en.falling()){ |
andJdmat | 0:c498d1d3e2de | 798 | a++; |
andJdmat | 0:c498d1d3e2de | 799 | m=0; |
andJdmat | 0:c498d1d3e2de | 800 | lcd.cls(); |
andJdmat | 0:c498d1d3e2de | 801 | lcd.locate(0,0); |
andJdmat | 0:c498d1d3e2de | 802 | lcd.printf("Ano: "); |
andJdmat | 0:c498d1d3e2de | 803 | t.year = 2016; |
andJdmat | 0:c498d1d3e2de | 804 | l = 3; |
andJdmat | 0:c498d1d3e2de | 805 | } |
andJdmat | 0:c498d1d3e2de | 806 | } |
andJdmat | 0:c498d1d3e2de | 807 | while (l == 3){ |
andJdmat | 0:c498d1d3e2de | 808 | m=wheel.getPulses(); |
andJdmat | 0:c498d1d3e2de | 809 | if (m!=0){ |
andJdmat | 0:c498d1d3e2de | 810 | t.year=t.year+m; |
andJdmat | 0:c498d1d3e2de | 811 | |
andJdmat | 0:c498d1d3e2de | 812 | if(t.year<2016){ |
andJdmat | 0:c498d1d3e2de | 813 | t.year=2016; |
andJdmat | 0:c498d1d3e2de | 814 | } |
andJdmat | 0:c498d1d3e2de | 815 | wheel.reset(); |
andJdmat | 0:c498d1d3e2de | 816 | m=0; |
andJdmat | 0:c498d1d3e2de | 817 | lcd.locate(0,1); |
andJdmat | 0:c498d1d3e2de | 818 | lcd.printf("%02d",t.year); |
andJdmat | 0:c498d1d3e2de | 819 | } |
andJdmat | 0:c498d1d3e2de | 820 | |
andJdmat | 0:c498d1d3e2de | 821 | if (b_en.falling()){ |
andJdmat | 0:c498d1d3e2de | 822 | a++; |
andJdmat | 0:c498d1d3e2de | 823 | m=0; |
andJdmat | 0:c498d1d3e2de | 824 | lcd.cls(); |
andJdmat | 0:c498d1d3e2de | 825 | lcd.locate(0,0); |
andJdmat | 0:c498d1d3e2de | 826 | lcd.printf("Hora: "); |
andJdmat | 0:c498d1d3e2de | 827 | t.hour = 0; |
andJdmat | 0:c498d1d3e2de | 828 | l = 4; |
andJdmat | 0:c498d1d3e2de | 829 | } |
andJdmat | 0:c498d1d3e2de | 830 | } |
andJdmat | 0:c498d1d3e2de | 831 | while (l == 4){ |
andJdmat | 0:c498d1d3e2de | 832 | m=wheel.getPulses(); |
andJdmat | 0:c498d1d3e2de | 833 | if (m!=0){ |
andJdmat | 0:c498d1d3e2de | 834 | t.hour=t.hour+m; |
andJdmat | 0:c498d1d3e2de | 835 | if(t.hour>23){ |
andJdmat | 0:c498d1d3e2de | 836 | t.hour=23; |
andJdmat | 0:c498d1d3e2de | 837 | } |
andJdmat | 0:c498d1d3e2de | 838 | |
andJdmat | 0:c498d1d3e2de | 839 | if(t.hour<0){ |
andJdmat | 0:c498d1d3e2de | 840 | t.hour=0; |
andJdmat | 0:c498d1d3e2de | 841 | } |
andJdmat | 0:c498d1d3e2de | 842 | wheel.reset(); |
andJdmat | 0:c498d1d3e2de | 843 | m=0; |
andJdmat | 0:c498d1d3e2de | 844 | lcd.locate(0,1); |
andJdmat | 0:c498d1d3e2de | 845 | lcd.printf("%02d",t.hour); |
andJdmat | 0:c498d1d3e2de | 846 | } |
andJdmat | 0:c498d1d3e2de | 847 | |
andJdmat | 0:c498d1d3e2de | 848 | if (b_en.falling()){ |
andJdmat | 0:c498d1d3e2de | 849 | a++; |
andJdmat | 0:c498d1d3e2de | 850 | m=0; |
andJdmat | 0:c498d1d3e2de | 851 | lcd.cls(); |
andJdmat | 0:c498d1d3e2de | 852 | lcd.locate(0,0); |
andJdmat | 0:c498d1d3e2de | 853 | lcd.printf("Minuto: "); |
andJdmat | 0:c498d1d3e2de | 854 | t.min = 0; |
andJdmat | 0:c498d1d3e2de | 855 | l = 5; |
andJdmat | 0:c498d1d3e2de | 856 | } |
andJdmat | 0:c498d1d3e2de | 857 | } |
andJdmat | 0:c498d1d3e2de | 858 | while (l == 5){ |
andJdmat | 0:c498d1d3e2de | 859 | m=wheel.getPulses(); |
andJdmat | 0:c498d1d3e2de | 860 | if (m!=0){ |
andJdmat | 0:c498d1d3e2de | 861 | t.min=t.min+m; |
andJdmat | 0:c498d1d3e2de | 862 | if(t.min>59){ |
andJdmat | 0:c498d1d3e2de | 863 | t.min=59; |
andJdmat | 0:c498d1d3e2de | 864 | } |
andJdmat | 0:c498d1d3e2de | 865 | |
andJdmat | 0:c498d1d3e2de | 866 | if(t.min<0){ |
andJdmat | 0:c498d1d3e2de | 867 | t.min=0; |
andJdmat | 0:c498d1d3e2de | 868 | } |
andJdmat | 0:c498d1d3e2de | 869 | wheel.reset(); |
andJdmat | 0:c498d1d3e2de | 870 | m=0; |
andJdmat | 0:c498d1d3e2de | 871 | lcd.locate(0,1); |
andJdmat | 0:c498d1d3e2de | 872 | lcd.printf("%02d",t.min); |
andJdmat | 0:c498d1d3e2de | 873 | } |
andJdmat | 0:c498d1d3e2de | 874 | |
andJdmat | 0:c498d1d3e2de | 875 | if (b_en.falling()){ |
andJdmat | 0:c498d1d3e2de | 876 | a++; |
andJdmat | 0:c498d1d3e2de | 877 | m=0; |
andJdmat | 0:c498d1d3e2de | 878 | lcd.cls(); |
andJdmat | 0:c498d1d3e2de | 879 | lcd.locate(0,0); |
andJdmat | 0:c498d1d3e2de | 880 | lcd.printf("Segundo: "); |
andJdmat | 0:c498d1d3e2de | 881 | t.sec = 0; |
andJdmat | 0:c498d1d3e2de | 882 | l = 6; |
andJdmat | 0:c498d1d3e2de | 883 | } |
andJdmat | 0:c498d1d3e2de | 884 | |
andJdmat | 0:c498d1d3e2de | 885 | } |
andJdmat | 0:c498d1d3e2de | 886 | while (l == 6){ |
andJdmat | 0:c498d1d3e2de | 887 | m=wheel.getPulses(); |
andJdmat | 0:c498d1d3e2de | 888 | if (m!=0){ |
andJdmat | 0:c498d1d3e2de | 889 | t.sec=t.sec+m; |
andJdmat | 0:c498d1d3e2de | 890 | if(t.sec>59){ |
andJdmat | 0:c498d1d3e2de | 891 | t.sec=59; |
andJdmat | 0:c498d1d3e2de | 892 | } |
andJdmat | 0:c498d1d3e2de | 893 | |
andJdmat | 0:c498d1d3e2de | 894 | if(t.sec<0){ |
andJdmat | 0:c498d1d3e2de | 895 | t.sec=0; |
andJdmat | 0:c498d1d3e2de | 896 | } |
andJdmat | 0:c498d1d3e2de | 897 | wheel.reset(); |
andJdmat | 0:c498d1d3e2de | 898 | m=0; |
andJdmat | 0:c498d1d3e2de | 899 | lcd.locate(0,1); |
andJdmat | 0:c498d1d3e2de | 900 | lcd.printf("%02d",t.sec); |
andJdmat | 0:c498d1d3e2de | 901 | } |
andJdmat | 0:c498d1d3e2de | 902 | |
andJdmat | 0:c498d1d3e2de | 903 | if (b_en.falling()){ |
andJdmat | 0:c498d1d3e2de | 904 | |
andJdmat | 0:c498d1d3e2de | 905 | if(pos ==1){ |
andJdmat | 0:c498d1d3e2de | 906 | Alm=t; |
andJdmat | 0:c498d1d3e2de | 907 | x1=1; |
andJdmat | 0:c498d1d3e2de | 908 | } |
andJdmat | 0:c498d1d3e2de | 909 | if(pos ==2){ |
andJdmat | 0:c498d1d3e2de | 910 | Alm2=t; |
andJdmat | 0:c498d1d3e2de | 911 | x2=1; |
andJdmat | 0:c498d1d3e2de | 912 | } |
andJdmat | 0:c498d1d3e2de | 913 | if(pos ==3){ |
andJdmat | 0:c498d1d3e2de | 914 | Alm3=t; |
andJdmat | 0:c498d1d3e2de | 915 | x3=1; |
andJdmat | 0:c498d1d3e2de | 916 | } |
andJdmat | 0:c498d1d3e2de | 917 | if(pos ==4){ |
andJdmat | 0:c498d1d3e2de | 918 | Alm4=t; |
andJdmat | 0:c498d1d3e2de | 919 | x4=1; |
andJdmat | 0:c498d1d3e2de | 920 | } |
andJdmat | 0:c498d1d3e2de | 921 | lcd.cls(); |
andJdmat | 0:c498d1d3e2de | 922 | lcd.locate(0,1); |
andJdmat | 0:c498d1d3e2de | 923 | lcd.printf("Alarma %02d config",pos); |
andJdmat | 0:c498d1d3e2de | 924 | wait(1); |
andJdmat | 0:c498d1d3e2de | 925 | m=0; |
andJdmat | 0:c498d1d3e2de | 926 | lcd.cls(); |
andJdmat | 0:c498d1d3e2de | 927 | l = 7; |
andJdmat | 0:c498d1d3e2de | 928 | } |
andJdmat | 0:c498d1d3e2de | 929 | } |
andJdmat | 0:c498d1d3e2de | 930 | |
andJdmat | 0:c498d1d3e2de | 931 | while(l == 7){ |
andJdmat | 0:c498d1d3e2de | 932 | lcd.cls(); |
andJdmat | 0:c498d1d3e2de | 933 | lcd.locate(0,0); |
andJdmat | 0:c498d1d3e2de | 934 | lcd.printf("Prog Desactivacion"); |
andJdmat | 0:c498d1d3e2de | 935 | wait(2); |
andJdmat | 0:c498d1d3e2de | 936 | l = 8; |
andJdmat | 0:c498d1d3e2de | 937 | } |
andJdmat | 0:c498d1d3e2de | 938 | |
andJdmat | 0:c498d1d3e2de | 939 | while(l == 8){ |
andJdmat | 0:c498d1d3e2de | 940 | if (b_en.falling()){ |
andJdmat | 0:c498d1d3e2de | 941 | l = 9; |
andJdmat | 0:c498d1d3e2de | 942 | lcd.cls(); |
andJdmat | 0:c498d1d3e2de | 943 | wait(1); |
andJdmat | 0:c498d1d3e2de | 944 | } |
andJdmat | 0:c498d1d3e2de | 945 | while(l == 9){ |
andJdmat | 0:c498d1d3e2de | 946 | Lugar=2; |
andJdmat | 0:c498d1d3e2de | 947 | goto menu; |
andJdmat | 0:c498d1d3e2de | 948 | } |
andJdmat | 0:c498d1d3e2de | 949 | } |
andJdmat | 0:c498d1d3e2de | 950 | desactivar: |
andJdmat | 0:c498d1d3e2de | 951 | l = 1; |
andJdmat | 0:c498d1d3e2de | 952 | lcd.cls(); |
andJdmat | 0:c498d1d3e2de | 953 | lcd.locate(0,0); |
andJdmat | 0:c498d1d3e2de | 954 | lcd.printf("Dia: "); |
andJdmat | 0:c498d1d3e2de | 955 | t.date = 1; |
andJdmat | 0:c498d1d3e2de | 956 | |
andJdmat | 0:c498d1d3e2de | 957 | while (l == 1){ |
andJdmat | 0:c498d1d3e2de | 958 | m=wheel.getPulses(); |
andJdmat | 0:c498d1d3e2de | 959 | if (m!=0){ |
andJdmat | 0:c498d1d3e2de | 960 | t.date=t.date+m; |
andJdmat | 0:c498d1d3e2de | 961 | if(t.date>31){ |
andJdmat | 0:c498d1d3e2de | 962 | t.date=31; |
andJdmat | 0:c498d1d3e2de | 963 | } |
andJdmat | 0:c498d1d3e2de | 964 | if(t.date<1){ |
andJdmat | 0:c498d1d3e2de | 965 | t.date=1; |
andJdmat | 0:c498d1d3e2de | 966 | } |
andJdmat | 0:c498d1d3e2de | 967 | wheel.reset(); |
andJdmat | 0:c498d1d3e2de | 968 | m=0; |
andJdmat | 0:c498d1d3e2de | 969 | lcd.locate(0,1); |
andJdmat | 0:c498d1d3e2de | 970 | lcd.printf("%02d",t.date); |
andJdmat | 0:c498d1d3e2de | 971 | } |
andJdmat | 0:c498d1d3e2de | 972 | |
andJdmat | 0:c498d1d3e2de | 973 | if (b_en.falling()){ |
andJdmat | 0:c498d1d3e2de | 974 | a++; |
andJdmat | 0:c498d1d3e2de | 975 | m=0; |
andJdmat | 0:c498d1d3e2de | 976 | lcd.cls(); |
andJdmat | 0:c498d1d3e2de | 977 | lcd.locate(0,0); |
andJdmat | 0:c498d1d3e2de | 978 | lcd.printf("Mes: "); |
andJdmat | 0:c498d1d3e2de | 979 | t.mon = 1; |
andJdmat | 0:c498d1d3e2de | 980 | l = 2; |
andJdmat | 0:c498d1d3e2de | 981 | } |
andJdmat | 0:c498d1d3e2de | 982 | } |
andJdmat | 0:c498d1d3e2de | 983 | while (l == 2){ |
andJdmat | 0:c498d1d3e2de | 984 | m=wheel.getPulses(); |
andJdmat | 0:c498d1d3e2de | 985 | if (m!=0){ |
andJdmat | 0:c498d1d3e2de | 986 | t.mon=t.mon+m; |
andJdmat | 0:c498d1d3e2de | 987 | if(t.mon>12){ |
andJdmat | 0:c498d1d3e2de | 988 | t.mon=12; |
andJdmat | 0:c498d1d3e2de | 989 | } |
andJdmat | 0:c498d1d3e2de | 990 | if(t.mon<1){ |
andJdmat | 0:c498d1d3e2de | 991 | t.mon=1; |
andJdmat | 0:c498d1d3e2de | 992 | } |
andJdmat | 0:c498d1d3e2de | 993 | wheel.reset(); |
andJdmat | 0:c498d1d3e2de | 994 | m=0; |
andJdmat | 0:c498d1d3e2de | 995 | lcd.locate(0,1); |
andJdmat | 0:c498d1d3e2de | 996 | lcd.printf("%02d",t.mon); |
andJdmat | 0:c498d1d3e2de | 997 | } |
andJdmat | 0:c498d1d3e2de | 998 | |
andJdmat | 0:c498d1d3e2de | 999 | if (b_en.falling()){ |
andJdmat | 0:c498d1d3e2de | 1000 | a++; |
andJdmat | 0:c498d1d3e2de | 1001 | m=0; |
andJdmat | 0:c498d1d3e2de | 1002 | lcd.cls(); |
andJdmat | 0:c498d1d3e2de | 1003 | lcd.locate(0,0); |
andJdmat | 0:c498d1d3e2de | 1004 | lcd.printf("Ano: "); |
andJdmat | 0:c498d1d3e2de | 1005 | t.year = 2016; |
andJdmat | 0:c498d1d3e2de | 1006 | l = 3; |
andJdmat | 0:c498d1d3e2de | 1007 | } |
andJdmat | 0:c498d1d3e2de | 1008 | } |
andJdmat | 0:c498d1d3e2de | 1009 | while (l == 3){ |
andJdmat | 0:c498d1d3e2de | 1010 | m=wheel.getPulses(); |
andJdmat | 0:c498d1d3e2de | 1011 | if (m!=0){ |
andJdmat | 0:c498d1d3e2de | 1012 | t.year=t.year+m; |
andJdmat | 0:c498d1d3e2de | 1013 | |
andJdmat | 0:c498d1d3e2de | 1014 | if(t.year<2016){ |
andJdmat | 0:c498d1d3e2de | 1015 | t.year=2016; |
andJdmat | 0:c498d1d3e2de | 1016 | } |
andJdmat | 0:c498d1d3e2de | 1017 | wheel.reset(); |
andJdmat | 0:c498d1d3e2de | 1018 | m=0; |
andJdmat | 0:c498d1d3e2de | 1019 | lcd.locate(0,1); |
andJdmat | 0:c498d1d3e2de | 1020 | lcd.printf("%02d",t.year); |
andJdmat | 0:c498d1d3e2de | 1021 | } |
andJdmat | 0:c498d1d3e2de | 1022 | |
andJdmat | 0:c498d1d3e2de | 1023 | if (b_en.falling()){ |
andJdmat | 0:c498d1d3e2de | 1024 | a++; |
andJdmat | 0:c498d1d3e2de | 1025 | m=0; |
andJdmat | 0:c498d1d3e2de | 1026 | lcd.cls(); |
andJdmat | 0:c498d1d3e2de | 1027 | lcd.locate(0,0); |
andJdmat | 0:c498d1d3e2de | 1028 | lcd.printf("Hora: "); |
andJdmat | 0:c498d1d3e2de | 1029 | t.hour = 0; |
andJdmat | 0:c498d1d3e2de | 1030 | l = 4; |
andJdmat | 0:c498d1d3e2de | 1031 | } |
andJdmat | 0:c498d1d3e2de | 1032 | } |
andJdmat | 0:c498d1d3e2de | 1033 | while (l == 4){ |
andJdmat | 0:c498d1d3e2de | 1034 | m=wheel.getPulses(); |
andJdmat | 0:c498d1d3e2de | 1035 | if (m!=0){ |
andJdmat | 0:c498d1d3e2de | 1036 | t.hour=t.hour+m; |
andJdmat | 0:c498d1d3e2de | 1037 | if(t.hour>23){ |
andJdmat | 0:c498d1d3e2de | 1038 | t.hour=23; |
andJdmat | 0:c498d1d3e2de | 1039 | } |
andJdmat | 0:c498d1d3e2de | 1040 | |
andJdmat | 0:c498d1d3e2de | 1041 | if(t.hour<0){ |
andJdmat | 0:c498d1d3e2de | 1042 | t.hour=0; |
andJdmat | 0:c498d1d3e2de | 1043 | } |
andJdmat | 0:c498d1d3e2de | 1044 | wheel.reset(); |
andJdmat | 0:c498d1d3e2de | 1045 | m=0; |
andJdmat | 0:c498d1d3e2de | 1046 | lcd.locate(0,1); |
andJdmat | 0:c498d1d3e2de | 1047 | lcd.printf("%02d",t.hour); |
andJdmat | 0:c498d1d3e2de | 1048 | } |
andJdmat | 0:c498d1d3e2de | 1049 | |
andJdmat | 0:c498d1d3e2de | 1050 | if (b_en.falling()){ |
andJdmat | 0:c498d1d3e2de | 1051 | a++; |
andJdmat | 0:c498d1d3e2de | 1052 | m=0; |
andJdmat | 0:c498d1d3e2de | 1053 | lcd.cls(); |
andJdmat | 0:c498d1d3e2de | 1054 | lcd.locate(0,0); |
andJdmat | 0:c498d1d3e2de | 1055 | lcd.printf("Minuto: "); |
andJdmat | 0:c498d1d3e2de | 1056 | t.min = 0; |
andJdmat | 0:c498d1d3e2de | 1057 | l = 5; |
andJdmat | 0:c498d1d3e2de | 1058 | } |
andJdmat | 0:c498d1d3e2de | 1059 | } |
andJdmat | 0:c498d1d3e2de | 1060 | while (l == 5){ |
andJdmat | 0:c498d1d3e2de | 1061 | m=wheel.getPulses(); |
andJdmat | 0:c498d1d3e2de | 1062 | if (m!=0){ |
andJdmat | 0:c498d1d3e2de | 1063 | t.min=t.min+m; |
andJdmat | 0:c498d1d3e2de | 1064 | if(t.min>59){ |
andJdmat | 0:c498d1d3e2de | 1065 | t.min=59; |
andJdmat | 0:c498d1d3e2de | 1066 | } |
andJdmat | 0:c498d1d3e2de | 1067 | |
andJdmat | 0:c498d1d3e2de | 1068 | if(t.min<0){ |
andJdmat | 0:c498d1d3e2de | 1069 | t.min=0; |
andJdmat | 0:c498d1d3e2de | 1070 | } |
andJdmat | 0:c498d1d3e2de | 1071 | wheel.reset(); |
andJdmat | 0:c498d1d3e2de | 1072 | m=0; |
andJdmat | 0:c498d1d3e2de | 1073 | lcd.locate(0,1); |
andJdmat | 0:c498d1d3e2de | 1074 | lcd.printf("%02d",t.min); |
andJdmat | 0:c498d1d3e2de | 1075 | } |
andJdmat | 0:c498d1d3e2de | 1076 | |
andJdmat | 0:c498d1d3e2de | 1077 | if (b_en.falling()){ |
andJdmat | 0:c498d1d3e2de | 1078 | a++; |
andJdmat | 0:c498d1d3e2de | 1079 | m=0; |
andJdmat | 0:c498d1d3e2de | 1080 | lcd.cls(); |
andJdmat | 0:c498d1d3e2de | 1081 | lcd.locate(0,0); |
andJdmat | 0:c498d1d3e2de | 1082 | lcd.printf("Segundo: "); |
andJdmat | 0:c498d1d3e2de | 1083 | t.sec = 0; |
andJdmat | 0:c498d1d3e2de | 1084 | l = 6; |
andJdmat | 0:c498d1d3e2de | 1085 | } |
andJdmat | 0:c498d1d3e2de | 1086 | |
andJdmat | 0:c498d1d3e2de | 1087 | } |
andJdmat | 0:c498d1d3e2de | 1088 | while (l == 6){ |
andJdmat | 0:c498d1d3e2de | 1089 | m=wheel.getPulses(); |
andJdmat | 0:c498d1d3e2de | 1090 | if (m!=0){ |
andJdmat | 0:c498d1d3e2de | 1091 | t.sec=t.sec+m; |
andJdmat | 0:c498d1d3e2de | 1092 | if(t.sec>59){ |
andJdmat | 0:c498d1d3e2de | 1093 | t.sec=59; |
andJdmat | 0:c498d1d3e2de | 1094 | } |
andJdmat | 0:c498d1d3e2de | 1095 | |
andJdmat | 0:c498d1d3e2de | 1096 | if(t.sec<0){ |
andJdmat | 0:c498d1d3e2de | 1097 | t.sec=0; |
andJdmat | 0:c498d1d3e2de | 1098 | } |
andJdmat | 0:c498d1d3e2de | 1099 | wheel.reset(); |
andJdmat | 0:c498d1d3e2de | 1100 | m=0; |
andJdmat | 0:c498d1d3e2de | 1101 | lcd.locate(0,1); |
andJdmat | 0:c498d1d3e2de | 1102 | lcd.printf("%02d",t.sec); |
andJdmat | 0:c498d1d3e2de | 1103 | } |
andJdmat | 0:c498d1d3e2de | 1104 | |
andJdmat | 0:c498d1d3e2de | 1105 | if (b_en.falling()){ |
andJdmat | 0:c498d1d3e2de | 1106 | |
andJdmat | 0:c498d1d3e2de | 1107 | if(pos ==1){ |
andJdmat | 0:c498d1d3e2de | 1108 | Alm_d=t; |
andJdmat | 0:c498d1d3e2de | 1109 | x1=1; |
andJdmat | 0:c498d1d3e2de | 1110 | } |
andJdmat | 0:c498d1d3e2de | 1111 | if(pos ==2){ |
andJdmat | 0:c498d1d3e2de | 1112 | Alm2_d=t; |
andJdmat | 0:c498d1d3e2de | 1113 | x2=1; |
andJdmat | 0:c498d1d3e2de | 1114 | } |
andJdmat | 0:c498d1d3e2de | 1115 | if(pos ==3){ |
andJdmat | 0:c498d1d3e2de | 1116 | Alm3_d=t; |
andJdmat | 0:c498d1d3e2de | 1117 | x3=1; |
andJdmat | 0:c498d1d3e2de | 1118 | |
andJdmat | 0:c498d1d3e2de | 1119 | } |
andJdmat | 0:c498d1d3e2de | 1120 | if(pos ==4){ |
andJdmat | 0:c498d1d3e2de | 1121 | Alm4_d=t; |
andJdmat | 0:c498d1d3e2de | 1122 | x4=1; |
andJdmat | 0:c498d1d3e2de | 1123 | } |
andJdmat | 0:c498d1d3e2de | 1124 | lcd.cls(); |
andJdmat | 0:c498d1d3e2de | 1125 | lcd.locate(0,1); |
andJdmat | 0:c498d1d3e2de | 1126 | lcd.printf("Alarma %02d Finalizo",pos); |
andJdmat | 0:c498d1d3e2de | 1127 | wait(1); |
andJdmat | 0:c498d1d3e2de | 1128 | m=0; |
andJdmat | 0:c498d1d3e2de | 1129 | lcd.cls(); |
andJdmat | 0:c498d1d3e2de | 1130 | l = 7; |
andJdmat | 0:c498d1d3e2de | 1131 | } |
andJdmat | 0:c498d1d3e2de | 1132 | } |
andJdmat | 0:c498d1d3e2de | 1133 | while (l == 7){ |
andJdmat | 0:c498d1d3e2de | 1134 | Lugar=3; |
andJdmat | 0:c498d1d3e2de | 1135 | goto menu; |
andJdmat | 0:c498d1d3e2de | 1136 | } |
andJdmat | 0:c498d1d3e2de | 1137 | } |