reloj de tiempo real con alarma aplazable
Dependencies: Debounced RTC-DS1307 TextLCD mbed
Fork of Rtc_Ds1307_Sample by
main.cpp@4:242b6afb651e, 2014-05-08 (annotated)
- Committer:
- walterg
- Date:
- Thu May 08 05:08:26 2014 +0000
- Revision:
- 4:242b6afb651e
- Parent:
- 3:cc43cc1af11a
reloj con alarma y retraso
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
leihen | 0:431183c5b136 | 1 | #include "mbed.h" |
leihen | 0:431183c5b136 | 2 | #include "Rtc_Ds1307.h" |
Gregorio | 3:cc43cc1af11a | 3 | #include "TextLCD.h" |
Gregorio | 3:cc43cc1af11a | 4 | #include "DebouncedIn.h" |
leihen | 0:431183c5b136 | 5 | |
Gregorio | 3:cc43cc1af11a | 6 | Rtc_Ds1307 rtc(PTE0, PTE1); |
walterg | 4:242b6afb651e | 7 | TextLCD lcd(PTB10, PTB11, PTE2, PTE3, PTE4, PTE5);// rs, e, d4-d7 |
leihen | 0:431183c5b136 | 8 | Serial pc(USBTX, USBRX, "pc"); |
Gregorio | 3:cc43cc1af11a | 9 | DebouncedIn button1(PTC12); //Incremental |
Gregorio | 3:cc43cc1af11a | 10 | DebouncedIn button2(PTC13); //Decremental |
Gregorio | 3:cc43cc1af11a | 11 | DebouncedIn button3(PTC16); //Cambiador de variable |
Gregorio | 3:cc43cc1af11a | 12 | DebouncedIn button4(PTC17); //Configurador de modo |
Gregorio | 3:cc43cc1af11a | 13 | PwmOut pw(PTA12); //se define la salida del pwm para hacer sonar la bocina |
leihen | 0:431183c5b136 | 14 | |
Gregorio | 3:cc43cc1af11a | 15 | //esta parte es para definir la frecuencia a la que suenan los botones |
Gregorio | 3:cc43cc1af11a | 16 | float Tdo=1/2093.005; |
Gregorio | 3:cc43cc1af11a | 17 | float Pdo=Tdo/2; |
Gregorio | 3:cc43cc1af11a | 18 | float Tre=1/2637.02; |
Gregorio | 3:cc43cc1af11a | 19 | float Pre=Tre/2; |
Gregorio | 3:cc43cc1af11a | 20 | float Tmi=1/3135.963; |
Gregorio | 3:cc43cc1af11a | 21 | float Pmi=Tmi/2; |
Gregorio | 3:cc43cc1af11a | 22 | float Tfa=1/4186.009; |
Gregorio | 3:cc43cc1af11a | 23 | float Pfa=Tfa/2; |
Gregorio | 3:cc43cc1af11a | 24 | //********************************** |
Gregorio | 3:cc43cc1af11a | 25 | int C1=0x0F; // comando para el lcd |
Gregorio | 3:cc43cc1af11a | 26 | //************************************* |
Gregorio | 3:cc43cc1af11a | 27 | int modo=0; //modo es para el boton 4. Indica: 0-mostrar datos, 1-configurar datos, 2-config alarma |
Gregorio | 3:cc43cc1af11a | 28 | int p=0; //p es el valor del boton 3 para la ubicación del modificador de variables 0-no aparece, 1-h, 2-m, 3-s, 4-D, 5-M, 6-Y. |
Gregorio | 3:cc43cc1af11a | 29 | //*************************************** |
Gregorio | 3:cc43cc1af11a | 30 | //Definicion de variables para la configuración de alarma |
walterg | 4:242b6afb651e | 31 | int houral=2,minal=4,secal=0,dateal=8,monal=5,yearal=2014; |
Gregorio | 3:cc43cc1af11a | 32 | Timer t; // se define la variable t, contabilizadora del tiempo desde el inicio de la alarma |
Gregorio | 3:cc43cc1af11a | 33 | //************************************* |
Gregorio | 3:cc43cc1af11a | 34 | int main(){ |
Gregorio | 3:cc43cc1af11a | 35 | //Definiciones del ds1307 |
leihen | 2:3be003301107 | 36 | Rtc_Ds1307::Time_rtc tm = {}; |
Gregorio | 3:cc43cc1af11a | 37 | rtc.startClock(); |
Gregorio | 3:cc43cc1af11a | 38 | //Comandos para la LCD |
Gregorio | 3:cc43cc1af11a | 39 | lcd.cls(); //borrar pantalla |
Gregorio | 3:cc43cc1af11a | 40 | lcd.writeCommand(C1); |
Gregorio | 3:cc43cc1af11a | 41 | //************************************** |
Gregorio | 3:cc43cc1af11a | 42 | while(1) { //Comienza el ciclo principal |
Gregorio | 3:cc43cc1af11a | 43 | //PARTE PARA EL MODO 0: MUESTRA DE HORA Y FECHA |
Gregorio | 3:cc43cc1af11a | 44 | if (modo==0) { |
Gregorio | 3:cc43cc1af11a | 45 | while(modo==0) { |
Gregorio | 3:cc43cc1af11a | 46 | rtc.getTime(tm); |
Gregorio | 3:cc43cc1af11a | 47 | lcd.locate(0,0); //las coordenadas van del 0 al 15 en la primera entrada, y de 0 a 1 en la segunda casilla |
Gregorio | 3:cc43cc1af11a | 48 | lcd.printf("Hora:%02d:%02d:%02d",tm.hour, tm.min, tm.sec); //%02d indica que la variable tiene maximo dos (2) digitos y si en algun caso solo tiene 1 digito, |
Gregorio | 3:cc43cc1af11a | 49 | lcd.locate(0,1); // el otro espacio que queda vacio debe llenarse con un cero (0) |
Gregorio | 3:cc43cc1af11a | 50 | lcd.printf("Fech:%02d/%02d/%04d", tm.date, tm.mon, tm.year); |
Gregorio | 3:cc43cc1af11a | 51 | //Verificación de hora alarma |
Gregorio | 3:cc43cc1af11a | 52 | if (tm.hour==houral && tm.min==minal && tm.sec==secal && tm.date==dateal && tm.mon==monal && tm.year==yearal) { |
walterg | 4:242b6afb651e | 53 | |
walterg | 4:242b6afb651e | 54 | while( button2==1) { // si el boton 2 se deja presionado sale del while lo que implica que apaga la alarma |
walterg | 4:242b6afb651e | 55 | |
Gregorio | 3:cc43cc1af11a | 56 | pw.period(Tdo); // aqui se indica la frecuencia para el sonido al pulsar el boton 1 |
Gregorio | 3:cc43cc1af11a | 57 | pw.pulsewidth(Pdo); |
Gregorio | 3:cc43cc1af11a | 58 | wait(0.5); |
Gregorio | 3:cc43cc1af11a | 59 | pw=0; |
Gregorio | 3:cc43cc1af11a | 60 | pw.period(Tre); // aqui se indica la frecuencia para el sonido al pulsar el boton 1 |
Gregorio | 3:cc43cc1af11a | 61 | pw.pulsewidth(Pre); |
Gregorio | 3:cc43cc1af11a | 62 | wait(0.5); |
Gregorio | 3:cc43cc1af11a | 63 | pw=0; |
Gregorio | 3:cc43cc1af11a | 64 | pw.period(Tmi); // aqui se indica la frecuencia para el sonido al pulsar el boton 1 |
Gregorio | 3:cc43cc1af11a | 65 | pw.pulsewidth(Pmi); |
Gregorio | 3:cc43cc1af11a | 66 | wait(0.5); |
Gregorio | 3:cc43cc1af11a | 67 | pw=0; |
Gregorio | 3:cc43cc1af11a | 68 | pw.period(Tfa); // aqui se indica la frecuencia para el sonido al pulsar el boton 1 |
Gregorio | 3:cc43cc1af11a | 69 | pw.pulsewidth(Pfa); |
Gregorio | 3:cc43cc1af11a | 70 | wait(0.5); |
walterg | 4:242b6afb651e | 71 | pw=0; |
walterg | 4:242b6afb651e | 72 | if(button1.falling() ==1) { // si dentro del while se produce una interrupción en el boton 1 retrasa la alarma 1 min |
walterg | 4:242b6afb651e | 73 | minal=minal+1; |
Gregorio | 3:cc43cc1af11a | 74 | pw=0; |
walterg | 4:242b6afb651e | 75 | } |
Gregorio | 3:cc43cc1af11a | 76 | } |
walterg | 4:242b6afb651e | 77 | |
walterg | 4:242b6afb651e | 78 | |
walterg | 4:242b6afb651e | 79 | } |
walterg | 4:242b6afb651e | 80 | |
walterg | 4:242b6afb651e | 81 | |
Gregorio | 3:cc43cc1af11a | 82 | if (button4.falling()) { |
Gregorio | 3:cc43cc1af11a | 83 | pw.period(Tfa); // aqui se indica la frecuencia para el sonido al pulsar el boton 1 |
Gregorio | 3:cc43cc1af11a | 84 | pw.pulsewidth(Pfa); |
Gregorio | 3:cc43cc1af11a | 85 | wait(0.1); |
Gregorio | 3:cc43cc1af11a | 86 | pw=0; |
Gregorio | 3:cc43cc1af11a | 87 | ++modo; |
Gregorio | 3:cc43cc1af11a | 88 | lcd.locate(0,0); |
Gregorio | 3:cc43cc1af11a | 89 | lcd.printf("Conf"); |
Gregorio | 3:cc43cc1af11a | 90 | } |
leihen | 0:431183c5b136 | 91 | } |
Gregorio | 3:cc43cc1af11a | 92 | }//fIN DEL MODO CERO |
Gregorio | 3:cc43cc1af11a | 93 | if (modo==1) { |
Gregorio | 3:cc43cc1af11a | 94 | rtc.getTime(tm); |
Gregorio | 3:cc43cc1af11a | 95 | while(modo==1){ |
Gregorio | 3:cc43cc1af11a | 96 | if (button4.falling()) { //CAMBIADOR DE MODO |
Gregorio | 3:cc43cc1af11a | 97 | pw.period(Tfa); // aqui se indica la frecuencia para el sonido al pulsar el boton 1 |
Gregorio | 3:cc43cc1af11a | 98 | pw.pulsewidth(Pfa); |
Gregorio | 3:cc43cc1af11a | 99 | wait(0.1); |
Gregorio | 3:cc43cc1af11a | 100 | pw=0; |
Gregorio | 3:cc43cc1af11a | 101 | ++modo; |
Gregorio | 3:cc43cc1af11a | 102 | lcd.locate(0,0); //las coordenadas van del 0 al 15 en la primera entrada, y de 0 a 1 en la segunda casilla |
Gregorio | 3:cc43cc1af11a | 103 | lcd.printf("Alrm:%02d:%02d:%02d",houral, minal, secal); //%02d indica que la variable tiene maximo dos (2) digitos y si en algun caso solo tiene 1 digito, |
Gregorio | 3:cc43cc1af11a | 104 | lcd.locate(0,1); // el otro espacio que queda vacio debe llenarse con un cero (0) |
Gregorio | 3:cc43cc1af11a | 105 | lcd.printf("Fech:%02d/%02d/%04d", dateal, monal, yearal); |
Gregorio | 3:cc43cc1af11a | 106 | } |
Gregorio | 3:cc43cc1af11a | 107 | if (button1.falling()) { //INCREMENTAL |
Gregorio | 3:cc43cc1af11a | 108 | if (p==0) {pw=0;} //Condicion: incremental no suena si no estoy ubicado en una variable |
Gregorio | 3:cc43cc1af11a | 109 | else{ |
Gregorio | 3:cc43cc1af11a | 110 | pw.period(Tdo); // aqui se indica la frecuencia para el sonido al pulsar el boton 1 |
Gregorio | 3:cc43cc1af11a | 111 | pw.pulsewidth(Pdo); |
Gregorio | 3:cc43cc1af11a | 112 | wait(0.1); |
Gregorio | 3:cc43cc1af11a | 113 | pw=0; |
Gregorio | 3:cc43cc1af11a | 114 | } |
Gregorio | 3:cc43cc1af11a | 115 | if (p==1) { //posicion de variable hora |
Gregorio | 3:cc43cc1af11a | 116 | if (tm.hour==23) { |
Gregorio | 3:cc43cc1af11a | 117 | tm.hour=0; |
Gregorio | 3:cc43cc1af11a | 118 | lcd.locate(5,0); |
Gregorio | 3:cc43cc1af11a | 119 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 120 | lcd.locate(5,0); |
Gregorio | 3:cc43cc1af11a | 121 | lcd.printf("%02d", tm.hour); |
Gregorio | 3:cc43cc1af11a | 122 | } else { |
Gregorio | 3:cc43cc1af11a | 123 | ++tm.hour; |
Gregorio | 3:cc43cc1af11a | 124 | lcd.locate(5,0); |
Gregorio | 3:cc43cc1af11a | 125 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 126 | lcd.locate(5,0); |
Gregorio | 3:cc43cc1af11a | 127 | lcd.printf("%02d", tm.hour); |
Gregorio | 3:cc43cc1af11a | 128 | } |
Gregorio | 3:cc43cc1af11a | 129 | } |
Gregorio | 3:cc43cc1af11a | 130 | else if (p==2) { //p=2: posicion de variable minutos |
Gregorio | 3:cc43cc1af11a | 131 | if (tm.min==59) { |
Gregorio | 3:cc43cc1af11a | 132 | tm.min=0; |
Gregorio | 3:cc43cc1af11a | 133 | lcd.locate(8,0); |
Gregorio | 3:cc43cc1af11a | 134 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 135 | lcd.locate(8,0); |
Gregorio | 3:cc43cc1af11a | 136 | lcd.printf("%02d", tm.min); |
Gregorio | 3:cc43cc1af11a | 137 | } |
Gregorio | 3:cc43cc1af11a | 138 | else { |
Gregorio | 3:cc43cc1af11a | 139 | ++tm.min; |
Gregorio | 3:cc43cc1af11a | 140 | lcd.locate(8,0); |
Gregorio | 3:cc43cc1af11a | 141 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 142 | lcd.locate(8,0); |
Gregorio | 3:cc43cc1af11a | 143 | lcd.printf("%02d", tm.min); |
Gregorio | 3:cc43cc1af11a | 144 | } |
Gregorio | 3:cc43cc1af11a | 145 | } |
Gregorio | 3:cc43cc1af11a | 146 | else if (p==3) {//p=3: posicion de variable segundos |
Gregorio | 3:cc43cc1af11a | 147 | if (tm.sec==59) { |
Gregorio | 3:cc43cc1af11a | 148 | tm.sec=0; |
Gregorio | 3:cc43cc1af11a | 149 | lcd.locate(11,0); |
Gregorio | 3:cc43cc1af11a | 150 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 151 | lcd.locate(11,0); |
Gregorio | 3:cc43cc1af11a | 152 | lcd.printf("%02d", tm.sec); |
Gregorio | 3:cc43cc1af11a | 153 | } |
Gregorio | 3:cc43cc1af11a | 154 | else { |
Gregorio | 3:cc43cc1af11a | 155 | ++tm.sec; |
Gregorio | 3:cc43cc1af11a | 156 | lcd.locate(11,0); |
Gregorio | 3:cc43cc1af11a | 157 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 158 | lcd.locate(11,0); |
Gregorio | 3:cc43cc1af11a | 159 | lcd.printf("%02d", tm.sec); |
Gregorio | 3:cc43cc1af11a | 160 | } |
Gregorio | 3:cc43cc1af11a | 161 | } |
Gregorio | 3:cc43cc1af11a | 162 | else if (p==4) {//p=4: posicion de variable dia del mes |
Gregorio | 3:cc43cc1af11a | 163 | if (tm.date==31) { |
Gregorio | 3:cc43cc1af11a | 164 | tm.date=1; |
Gregorio | 3:cc43cc1af11a | 165 | lcd.locate(5,1); |
Gregorio | 3:cc43cc1af11a | 166 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 167 | lcd.locate(5,1); |
Gregorio | 3:cc43cc1af11a | 168 | lcd.printf("%02d", tm.date); |
Gregorio | 3:cc43cc1af11a | 169 | } |
Gregorio | 3:cc43cc1af11a | 170 | else { |
Gregorio | 3:cc43cc1af11a | 171 | ++tm.date; |
Gregorio | 3:cc43cc1af11a | 172 | lcd.locate(5,1); |
Gregorio | 3:cc43cc1af11a | 173 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 174 | lcd.locate(5,1); |
Gregorio | 3:cc43cc1af11a | 175 | lcd.printf("%02d", tm.date); |
Gregorio | 3:cc43cc1af11a | 176 | } |
Gregorio | 3:cc43cc1af11a | 177 | } |
Gregorio | 3:cc43cc1af11a | 178 | else if (p==5) {//p=5: posicion de variable mes |
Gregorio | 3:cc43cc1af11a | 179 | if (tm.mon==12) { |
Gregorio | 3:cc43cc1af11a | 180 | tm.mon=1; |
Gregorio | 3:cc43cc1af11a | 181 | lcd.locate(8,1); |
Gregorio | 3:cc43cc1af11a | 182 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 183 | lcd.locate(8,1); |
Gregorio | 3:cc43cc1af11a | 184 | lcd.printf("%02d", tm.mon); |
Gregorio | 3:cc43cc1af11a | 185 | } |
Gregorio | 3:cc43cc1af11a | 186 | else { |
Gregorio | 3:cc43cc1af11a | 187 | ++tm.mon; |
Gregorio | 3:cc43cc1af11a | 188 | lcd.locate(8,1); |
Gregorio | 3:cc43cc1af11a | 189 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 190 | lcd.locate(8,1); |
Gregorio | 3:cc43cc1af11a | 191 | lcd.printf("%02d", tm.mon); |
Gregorio | 3:cc43cc1af11a | 192 | } |
Gregorio | 3:cc43cc1af11a | 193 | } |
Gregorio | 3:cc43cc1af11a | 194 | else if (p==6) { //p=6: posicion de variable años |
Gregorio | 3:cc43cc1af11a | 195 | ++tm.year; |
Gregorio | 3:cc43cc1af11a | 196 | lcd.locate(11,1); |
Gregorio | 3:cc43cc1af11a | 197 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 198 | lcd.locate(11,1); |
Gregorio | 3:cc43cc1af11a | 199 | lcd.printf("%04d", tm.year); |
Gregorio | 3:cc43cc1af11a | 200 | } |
Gregorio | 3:cc43cc1af11a | 201 | } |
Gregorio | 3:cc43cc1af11a | 202 | if (button2.falling()) { //boton decremental |
Gregorio | 3:cc43cc1af11a | 203 | if (p==0) {pw=0;} |
Gregorio | 3:cc43cc1af11a | 204 | else{ |
Gregorio | 3:cc43cc1af11a | 205 | pw.period(Tre); |
Gregorio | 3:cc43cc1af11a | 206 | pw.pulsewidth(Pre); |
Gregorio | 3:cc43cc1af11a | 207 | wait(0.1); |
Gregorio | 3:cc43cc1af11a | 208 | pw=0; |
Gregorio | 3:cc43cc1af11a | 209 | } |
Gregorio | 3:cc43cc1af11a | 210 | if (p==1) { |
Gregorio | 3:cc43cc1af11a | 211 | if (tm.hour==0) { |
Gregorio | 3:cc43cc1af11a | 212 | tm.hour=24; |
Gregorio | 3:cc43cc1af11a | 213 | lcd.locate(5,0); |
Gregorio | 3:cc43cc1af11a | 214 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 215 | lcd.locate(5,0); |
Gregorio | 3:cc43cc1af11a | 216 | lcd.printf("%02d", tm.hour); |
Gregorio | 3:cc43cc1af11a | 217 | } |
Gregorio | 3:cc43cc1af11a | 218 | else { |
Gregorio | 3:cc43cc1af11a | 219 | --tm.hour; |
Gregorio | 3:cc43cc1af11a | 220 | lcd.locate(5,0); |
Gregorio | 3:cc43cc1af11a | 221 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 222 | lcd.locate(5,0); |
Gregorio | 3:cc43cc1af11a | 223 | lcd.printf("%02d", tm.hour); |
Gregorio | 3:cc43cc1af11a | 224 | } |
Gregorio | 3:cc43cc1af11a | 225 | } |
Gregorio | 3:cc43cc1af11a | 226 | else if (p==2) { |
Gregorio | 3:cc43cc1af11a | 227 | if (tm.min==0) { // no mostrar nada |
Gregorio | 3:cc43cc1af11a | 228 | tm.min=59; |
Gregorio | 3:cc43cc1af11a | 229 | lcd.locate(8,0); |
Gregorio | 3:cc43cc1af11a | 230 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 231 | lcd.locate(8,0); |
Gregorio | 3:cc43cc1af11a | 232 | lcd.printf("%02d", tm.min); |
Gregorio | 3:cc43cc1af11a | 233 | } |
Gregorio | 3:cc43cc1af11a | 234 | else { |
Gregorio | 3:cc43cc1af11a | 235 | --tm.min; |
Gregorio | 3:cc43cc1af11a | 236 | lcd.locate(8,0); |
Gregorio | 3:cc43cc1af11a | 237 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 238 | lcd.locate(8,0); |
Gregorio | 3:cc43cc1af11a | 239 | lcd.printf("%02d", tm.min); |
Gregorio | 3:cc43cc1af11a | 240 | } |
Gregorio | 3:cc43cc1af11a | 241 | } |
Gregorio | 3:cc43cc1af11a | 242 | else if (p==3) { |
Gregorio | 3:cc43cc1af11a | 243 | if (tm.sec==0) { // no mostrar nada |
Gregorio | 3:cc43cc1af11a | 244 | tm.sec=59; |
Gregorio | 3:cc43cc1af11a | 245 | lcd.locate(11,0); |
Gregorio | 3:cc43cc1af11a | 246 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 247 | lcd.locate(11,0); |
Gregorio | 3:cc43cc1af11a | 248 | lcd.printf("%02d", tm.sec); |
Gregorio | 3:cc43cc1af11a | 249 | } |
Gregorio | 3:cc43cc1af11a | 250 | else { |
Gregorio | 3:cc43cc1af11a | 251 | --tm.sec; |
Gregorio | 3:cc43cc1af11a | 252 | lcd.locate(11,0); |
Gregorio | 3:cc43cc1af11a | 253 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 254 | lcd.locate(11,0); |
Gregorio | 3:cc43cc1af11a | 255 | lcd.printf("%02d", tm.sec); |
Gregorio | 3:cc43cc1af11a | 256 | } |
Gregorio | 3:cc43cc1af11a | 257 | } |
Gregorio | 3:cc43cc1af11a | 258 | else if (p==4) { |
Gregorio | 3:cc43cc1af11a | 259 | if (tm.date==1) { // no mostrar nada |
Gregorio | 3:cc43cc1af11a | 260 | tm.date=31; |
Gregorio | 3:cc43cc1af11a | 261 | lcd.locate(5,1); |
Gregorio | 3:cc43cc1af11a | 262 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 263 | lcd.locate(5,1); |
Gregorio | 3:cc43cc1af11a | 264 | lcd.printf("%02d", tm.date); |
Gregorio | 3:cc43cc1af11a | 265 | } |
Gregorio | 3:cc43cc1af11a | 266 | else { |
Gregorio | 3:cc43cc1af11a | 267 | --tm.date; |
Gregorio | 3:cc43cc1af11a | 268 | lcd.locate(5,1); |
Gregorio | 3:cc43cc1af11a | 269 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 270 | lcd.locate(5,1); |
Gregorio | 3:cc43cc1af11a | 271 | lcd.printf("%02d", tm.date); |
Gregorio | 3:cc43cc1af11a | 272 | } |
Gregorio | 3:cc43cc1af11a | 273 | } |
Gregorio | 3:cc43cc1af11a | 274 | else if (p==5) { |
Gregorio | 3:cc43cc1af11a | 275 | if (tm.mon==1) { |
Gregorio | 3:cc43cc1af11a | 276 | tm.mon=12; |
Gregorio | 3:cc43cc1af11a | 277 | lcd.locate(8,1); |
Gregorio | 3:cc43cc1af11a | 278 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 279 | lcd.locate(8,1); |
Gregorio | 3:cc43cc1af11a | 280 | lcd.printf("%02d", tm.mon); |
Gregorio | 3:cc43cc1af11a | 281 | } |
Gregorio | 3:cc43cc1af11a | 282 | else { |
Gregorio | 3:cc43cc1af11a | 283 | --tm.mon; |
Gregorio | 3:cc43cc1af11a | 284 | lcd.locate(8,1); |
Gregorio | 3:cc43cc1af11a | 285 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 286 | lcd.locate(8,1); |
Gregorio | 3:cc43cc1af11a | 287 | lcd.printf("%02d", tm.mon); |
Gregorio | 3:cc43cc1af11a | 288 | } |
Gregorio | 3:cc43cc1af11a | 289 | } |
Gregorio | 3:cc43cc1af11a | 290 | else if (p==6) { |
Gregorio | 3:cc43cc1af11a | 291 | if (tm.year==2000) { |
Gregorio | 3:cc43cc1af11a | 292 | lcd.locate(11,1); |
Gregorio | 3:cc43cc1af11a | 293 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 294 | lcd.locate(11,1); |
Gregorio | 3:cc43cc1af11a | 295 | lcd.printf("%04d", tm.year); |
Gregorio | 3:cc43cc1af11a | 296 | } |
Gregorio | 3:cc43cc1af11a | 297 | else { |
Gregorio | 3:cc43cc1af11a | 298 | --tm.year; |
Gregorio | 3:cc43cc1af11a | 299 | lcd.locate(11,1); |
Gregorio | 3:cc43cc1af11a | 300 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 301 | lcd.locate(11,1); |
Gregorio | 3:cc43cc1af11a | 302 | lcd.printf("%04d", tm.year); |
Gregorio | 3:cc43cc1af11a | 303 | } |
Gregorio | 3:cc43cc1af11a | 304 | } |
Gregorio | 3:cc43cc1af11a | 305 | } |
Gregorio | 3:cc43cc1af11a | 306 | if (button3.falling()) { //boton 3: cambiador de variable |
Gregorio | 3:cc43cc1af11a | 307 | pw.period(Tmi); |
Gregorio | 3:cc43cc1af11a | 308 | pw.pulsewidth(Pmi); |
Gregorio | 3:cc43cc1af11a | 309 | wait(0.1); |
Gregorio | 3:cc43cc1af11a | 310 | pw=0; |
Gregorio | 3:cc43cc1af11a | 311 | |
Gregorio | 3:cc43cc1af11a | 312 | if (p==0) { //p=0: no esta parado en ninguna variable |
Gregorio | 3:cc43cc1af11a | 313 | ++p; |
Gregorio | 3:cc43cc1af11a | 314 | lcd.locate(5,0); |
Gregorio | 3:cc43cc1af11a | 315 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 316 | lcd.locate(5,0); |
Gregorio | 3:cc43cc1af11a | 317 | lcd.printf("%02d", tm.hour); |
Gregorio | 3:cc43cc1af11a | 318 | } else if (p==1) { //p=1: ubicacion de variable hora |
Gregorio | 3:cc43cc1af11a | 319 | ++p; |
Gregorio | 3:cc43cc1af11a | 320 | lcd.locate(8,0); |
Gregorio | 3:cc43cc1af11a | 321 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 322 | lcd.locate(8,0); |
Gregorio | 3:cc43cc1af11a | 323 | lcd.printf("%02d", tm.min); |
Gregorio | 3:cc43cc1af11a | 324 | } else if (p==2) { |
Gregorio | 3:cc43cc1af11a | 325 | ++p; |
Gregorio | 3:cc43cc1af11a | 326 | lcd.locate(11,0); |
Gregorio | 3:cc43cc1af11a | 327 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 328 | lcd.locate(11,0); |
Gregorio | 3:cc43cc1af11a | 329 | lcd.printf("%02d", tm.sec); |
Gregorio | 3:cc43cc1af11a | 330 | } else if (p==3) { |
Gregorio | 3:cc43cc1af11a | 331 | ++p; |
Gregorio | 3:cc43cc1af11a | 332 | lcd.locate(5,1); |
Gregorio | 3:cc43cc1af11a | 333 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 334 | lcd.locate(5,1); |
Gregorio | 3:cc43cc1af11a | 335 | lcd.printf("%02d", tm.date); |
Gregorio | 3:cc43cc1af11a | 336 | } else if (p==4) { |
Gregorio | 3:cc43cc1af11a | 337 | ++p; |
Gregorio | 3:cc43cc1af11a | 338 | lcd.locate(8,1); |
Gregorio | 3:cc43cc1af11a | 339 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 340 | lcd.locate(8,1); |
Gregorio | 3:cc43cc1af11a | 341 | lcd.printf("%02d", tm.mon); |
Gregorio | 3:cc43cc1af11a | 342 | } else if (p==5) { |
Gregorio | 3:cc43cc1af11a | 343 | ++p; |
Gregorio | 3:cc43cc1af11a | 344 | lcd.locate(11,1); |
Gregorio | 3:cc43cc1af11a | 345 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 346 | lcd.locate(11,1); |
Gregorio | 3:cc43cc1af11a | 347 | lcd.printf("%04d", tm.year); |
Gregorio | 3:cc43cc1af11a | 348 | } else if (p==6) { |
Gregorio | 3:cc43cc1af11a | 349 | p=0; |
Gregorio | 3:cc43cc1af11a | 350 | rtc.setTime(tm, true, false);//SOLO SI CONFIGURO TODAS LAS VARIOABLES Y RETORNO A P=0, LA HORA SE CONFIGURA |
Gregorio | 3:cc43cc1af11a | 351 | } |
Gregorio | 3:cc43cc1af11a | 352 | } |
Gregorio | 3:cc43cc1af11a | 353 | } |
Gregorio | 3:cc43cc1af11a | 354 | } |
Gregorio | 3:cc43cc1af11a | 355 | //MODO 2: PROGRAMACION DE LA ALARMA |
Gregorio | 3:cc43cc1af11a | 356 | if (modo==2) { |
Gregorio | 3:cc43cc1af11a | 357 | rtc.getTime(tm); |
Gregorio | 3:cc43cc1af11a | 358 | while(modo==2){ |
Gregorio | 3:cc43cc1af11a | 359 | if (button1.falling()) { |
Gregorio | 3:cc43cc1af11a | 360 | if (p==0) {pw=0;} |
Gregorio | 3:cc43cc1af11a | 361 | else{ |
Gregorio | 3:cc43cc1af11a | 362 | pw.period(Tdo); // aqui se indica la frecuencia para el sonido al pulsar el boton 1 |
Gregorio | 3:cc43cc1af11a | 363 | pw.pulsewidth(Pdo); |
Gregorio | 3:cc43cc1af11a | 364 | wait(0.1); |
Gregorio | 3:cc43cc1af11a | 365 | pw=0; |
Gregorio | 3:cc43cc1af11a | 366 | } |
Gregorio | 3:cc43cc1af11a | 367 | if (p==0) { |
Gregorio | 3:cc43cc1af11a | 368 | } else if (p==1) { |
Gregorio | 3:cc43cc1af11a | 369 | if (houral==23) { |
Gregorio | 3:cc43cc1af11a | 370 | houral=0; |
Gregorio | 3:cc43cc1af11a | 371 | lcd.locate(5,0); |
Gregorio | 3:cc43cc1af11a | 372 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 373 | lcd.locate(5,0); |
Gregorio | 3:cc43cc1af11a | 374 | lcd.printf("%02d", houral); |
Gregorio | 3:cc43cc1af11a | 375 | } else { |
Gregorio | 3:cc43cc1af11a | 376 | ++houral; |
Gregorio | 3:cc43cc1af11a | 377 | lcd.locate(5,0); |
Gregorio | 3:cc43cc1af11a | 378 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 379 | lcd.locate(5,0); |
Gregorio | 3:cc43cc1af11a | 380 | lcd.printf("%02d", houral); |
Gregorio | 3:cc43cc1af11a | 381 | } |
Gregorio | 3:cc43cc1af11a | 382 | } else if (p==2) { |
Gregorio | 3:cc43cc1af11a | 383 | if (minal==59) { |
Gregorio | 3:cc43cc1af11a | 384 | minal=0; |
Gregorio | 3:cc43cc1af11a | 385 | lcd.locate(8,0); |
Gregorio | 3:cc43cc1af11a | 386 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 387 | lcd.locate(8,0); |
Gregorio | 3:cc43cc1af11a | 388 | lcd.printf("%02d", minal); |
Gregorio | 3:cc43cc1af11a | 389 | } else { |
Gregorio | 3:cc43cc1af11a | 390 | ++minal; |
Gregorio | 3:cc43cc1af11a | 391 | lcd.locate(8,0); |
Gregorio | 3:cc43cc1af11a | 392 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 393 | lcd.locate(8,0); |
Gregorio | 3:cc43cc1af11a | 394 | lcd.printf("%02d", minal); |
Gregorio | 3:cc43cc1af11a | 395 | } |
Gregorio | 3:cc43cc1af11a | 396 | } else if (p==3) { |
Gregorio | 3:cc43cc1af11a | 397 | if (secal==59) { |
Gregorio | 3:cc43cc1af11a | 398 | secal=0; |
Gregorio | 3:cc43cc1af11a | 399 | lcd.locate(11,0); |
Gregorio | 3:cc43cc1af11a | 400 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 401 | lcd.locate(11,0); |
Gregorio | 3:cc43cc1af11a | 402 | lcd.printf("%02d", secal); |
Gregorio | 3:cc43cc1af11a | 403 | } else { |
Gregorio | 3:cc43cc1af11a | 404 | ++secal; |
Gregorio | 3:cc43cc1af11a | 405 | lcd.locate(11,0); |
Gregorio | 3:cc43cc1af11a | 406 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 407 | lcd.locate(11,0); |
Gregorio | 3:cc43cc1af11a | 408 | lcd.printf("%02d", secal); |
Gregorio | 3:cc43cc1af11a | 409 | } |
Gregorio | 3:cc43cc1af11a | 410 | } else if (p==4) { |
Gregorio | 3:cc43cc1af11a | 411 | if (dateal==31) { |
Gregorio | 3:cc43cc1af11a | 412 | dateal=1; |
Gregorio | 3:cc43cc1af11a | 413 | lcd.locate(5,1); |
Gregorio | 3:cc43cc1af11a | 414 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 415 | lcd.locate(5,1); |
Gregorio | 3:cc43cc1af11a | 416 | lcd.printf("%02d", dateal); |
Gregorio | 3:cc43cc1af11a | 417 | } else { |
Gregorio | 3:cc43cc1af11a | 418 | ++dateal; |
Gregorio | 3:cc43cc1af11a | 419 | lcd.locate(5,1); |
Gregorio | 3:cc43cc1af11a | 420 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 421 | lcd.locate(5,1); |
Gregorio | 3:cc43cc1af11a | 422 | lcd.printf("%02d", dateal); |
Gregorio | 3:cc43cc1af11a | 423 | } |
Gregorio | 3:cc43cc1af11a | 424 | } else if (p==5) { |
Gregorio | 3:cc43cc1af11a | 425 | if (monal==12) { |
Gregorio | 3:cc43cc1af11a | 426 | monal=1; |
Gregorio | 3:cc43cc1af11a | 427 | lcd.locate(8,1); |
Gregorio | 3:cc43cc1af11a | 428 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 429 | lcd.locate(8,1); |
Gregorio | 3:cc43cc1af11a | 430 | lcd.printf("%02d", monal); |
Gregorio | 3:cc43cc1af11a | 431 | } else { |
Gregorio | 3:cc43cc1af11a | 432 | ++monal; |
Gregorio | 3:cc43cc1af11a | 433 | lcd.locate(8,1); |
Gregorio | 3:cc43cc1af11a | 434 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 435 | lcd.locate(8,1); |
Gregorio | 3:cc43cc1af11a | 436 | lcd.printf("%02d", monal); |
Gregorio | 3:cc43cc1af11a | 437 | } |
Gregorio | 3:cc43cc1af11a | 438 | } else if (p==6) { |
Gregorio | 3:cc43cc1af11a | 439 | ++yearal; |
Gregorio | 3:cc43cc1af11a | 440 | lcd.locate(11,1); |
Gregorio | 3:cc43cc1af11a | 441 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 442 | lcd.locate(11,1); |
Gregorio | 3:cc43cc1af11a | 443 | lcd.printf("%04d", yearal); |
Gregorio | 3:cc43cc1af11a | 444 | } |
Gregorio | 3:cc43cc1af11a | 445 | } |
Gregorio | 3:cc43cc1af11a | 446 | if (button2.falling()) { |
Gregorio | 3:cc43cc1af11a | 447 | if (p==0) {pw=0;} |
Gregorio | 3:cc43cc1af11a | 448 | else{ |
Gregorio | 3:cc43cc1af11a | 449 | pw.period(Tre); |
Gregorio | 3:cc43cc1af11a | 450 | pw.pulsewidth(Pre); |
Gregorio | 3:cc43cc1af11a | 451 | wait(0.1); |
Gregorio | 3:cc43cc1af11a | 452 | pw=0; |
Gregorio | 3:cc43cc1af11a | 453 | } |
Gregorio | 3:cc43cc1af11a | 454 | if (p==1) { |
Gregorio | 3:cc43cc1af11a | 455 | if (houral==0) { // no mostrar nada |
Gregorio | 3:cc43cc1af11a | 456 | houral=24; |
Gregorio | 3:cc43cc1af11a | 457 | lcd.locate(5,0); |
Gregorio | 3:cc43cc1af11a | 458 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 459 | lcd.locate(5,0); |
Gregorio | 3:cc43cc1af11a | 460 | lcd.printf("%02d", houral); |
Gregorio | 3:cc43cc1af11a | 461 | } else { |
Gregorio | 3:cc43cc1af11a | 462 | --houral; |
Gregorio | 3:cc43cc1af11a | 463 | lcd.locate(5,0); |
Gregorio | 3:cc43cc1af11a | 464 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 465 | lcd.locate(5,0); |
Gregorio | 3:cc43cc1af11a | 466 | lcd.printf("%02d", houral); |
Gregorio | 3:cc43cc1af11a | 467 | } |
Gregorio | 3:cc43cc1af11a | 468 | } |
Gregorio | 3:cc43cc1af11a | 469 | if (p==2) { |
Gregorio | 3:cc43cc1af11a | 470 | if (minal==0) { // no mostrar nada |
Gregorio | 3:cc43cc1af11a | 471 | minal=59; |
Gregorio | 3:cc43cc1af11a | 472 | lcd.locate(8,0); |
Gregorio | 3:cc43cc1af11a | 473 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 474 | lcd.locate(8,0); |
Gregorio | 3:cc43cc1af11a | 475 | lcd.printf("%02d", minal); |
Gregorio | 3:cc43cc1af11a | 476 | } else { |
Gregorio | 3:cc43cc1af11a | 477 | --minal; |
Gregorio | 3:cc43cc1af11a | 478 | lcd.locate(8,0); |
Gregorio | 3:cc43cc1af11a | 479 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 480 | lcd.locate(8,0); |
Gregorio | 3:cc43cc1af11a | 481 | lcd.printf("%02d", minal); |
Gregorio | 3:cc43cc1af11a | 482 | } |
Gregorio | 3:cc43cc1af11a | 483 | } |
Gregorio | 3:cc43cc1af11a | 484 | if (p==3) { |
Gregorio | 3:cc43cc1af11a | 485 | if (secal==0) { // no mostrar nada |
Gregorio | 3:cc43cc1af11a | 486 | secal=59; |
Gregorio | 3:cc43cc1af11a | 487 | lcd.locate(11,0); |
Gregorio | 3:cc43cc1af11a | 488 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 489 | lcd.locate(11,0); |
Gregorio | 3:cc43cc1af11a | 490 | lcd.printf("%02d", secal); |
Gregorio | 3:cc43cc1af11a | 491 | } else { |
Gregorio | 3:cc43cc1af11a | 492 | --secal; |
Gregorio | 3:cc43cc1af11a | 493 | lcd.locate(11,0); |
Gregorio | 3:cc43cc1af11a | 494 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 495 | lcd.locate(11,0); |
Gregorio | 3:cc43cc1af11a | 496 | lcd.printf("%02d", secal); |
Gregorio | 3:cc43cc1af11a | 497 | } |
Gregorio | 3:cc43cc1af11a | 498 | } |
Gregorio | 3:cc43cc1af11a | 499 | if (p==4) { |
Gregorio | 3:cc43cc1af11a | 500 | if (dateal==1) { // no mostrar nada |
Gregorio | 3:cc43cc1af11a | 501 | dateal=31; |
Gregorio | 3:cc43cc1af11a | 502 | lcd.locate(5,1); |
Gregorio | 3:cc43cc1af11a | 503 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 504 | lcd.locate(5,1); |
Gregorio | 3:cc43cc1af11a | 505 | lcd.printf("%02d", dateal); |
Gregorio | 3:cc43cc1af11a | 506 | } else { |
Gregorio | 3:cc43cc1af11a | 507 | --dateal; |
Gregorio | 3:cc43cc1af11a | 508 | lcd.locate(5,1); |
Gregorio | 3:cc43cc1af11a | 509 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 510 | lcd.locate(5,1); |
Gregorio | 3:cc43cc1af11a | 511 | lcd.printf("%02d", dateal); |
Gregorio | 3:cc43cc1af11a | 512 | } |
Gregorio | 3:cc43cc1af11a | 513 | } |
Gregorio | 3:cc43cc1af11a | 514 | if (p==5) { |
Gregorio | 3:cc43cc1af11a | 515 | if (monal==1) { |
Gregorio | 3:cc43cc1af11a | 516 | monal=12; |
Gregorio | 3:cc43cc1af11a | 517 | lcd.locate(8,1); |
Gregorio | 3:cc43cc1af11a | 518 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 519 | lcd.locate(8,1); |
Gregorio | 3:cc43cc1af11a | 520 | lcd.printf("%02d", monal); |
Gregorio | 3:cc43cc1af11a | 521 | } else { |
Gregorio | 3:cc43cc1af11a | 522 | --monal; |
Gregorio | 3:cc43cc1af11a | 523 | lcd.locate(8,1); |
Gregorio | 3:cc43cc1af11a | 524 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 525 | lcd.locate(8,1); |
Gregorio | 3:cc43cc1af11a | 526 | lcd.printf("%02d", monal); |
Gregorio | 3:cc43cc1af11a | 527 | } |
Gregorio | 3:cc43cc1af11a | 528 | } |
Gregorio | 3:cc43cc1af11a | 529 | if (p==6) { |
Gregorio | 3:cc43cc1af11a | 530 | if (yearal==2000) { |
Gregorio | 3:cc43cc1af11a | 531 | lcd.locate(11,1); |
Gregorio | 3:cc43cc1af11a | 532 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 533 | lcd.locate(11,1); |
Gregorio | 3:cc43cc1af11a | 534 | lcd.printf("%04d", yearal); |
Gregorio | 3:cc43cc1af11a | 535 | } else { |
Gregorio | 3:cc43cc1af11a | 536 | --yearal; |
Gregorio | 3:cc43cc1af11a | 537 | lcd.locate(11,1); |
Gregorio | 3:cc43cc1af11a | 538 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 539 | lcd.locate(11,1); |
Gregorio | 3:cc43cc1af11a | 540 | lcd.printf("%04d", yearal); |
Gregorio | 3:cc43cc1af11a | 541 | } |
Gregorio | 3:cc43cc1af11a | 542 | } |
Gregorio | 3:cc43cc1af11a | 543 | } |
Gregorio | 3:cc43cc1af11a | 544 | if (button3.falling()) {//BOTON 3: CAMBIADOR DE VARIABLE (POSICION EN LA LCD) |
Gregorio | 3:cc43cc1af11a | 545 | pw.period(Tmi); |
Gregorio | 3:cc43cc1af11a | 546 | pw.pulsewidth(Pmi); |
Gregorio | 3:cc43cc1af11a | 547 | wait(0.1); |
Gregorio | 3:cc43cc1af11a | 548 | pw=0; |
Gregorio | 3:cc43cc1af11a | 549 | |
Gregorio | 3:cc43cc1af11a | 550 | if (p==0) { |
Gregorio | 3:cc43cc1af11a | 551 | ++p; |
Gregorio | 3:cc43cc1af11a | 552 | lcd.locate(5,0); |
Gregorio | 3:cc43cc1af11a | 553 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 554 | lcd.locate(5,0); |
Gregorio | 3:cc43cc1af11a | 555 | lcd.printf("%02d", houral); |
Gregorio | 3:cc43cc1af11a | 556 | } else if (p==1) { |
Gregorio | 3:cc43cc1af11a | 557 | ++p; |
Gregorio | 3:cc43cc1af11a | 558 | lcd.locate(8,0); |
Gregorio | 3:cc43cc1af11a | 559 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 560 | lcd.locate(8,0); |
Gregorio | 3:cc43cc1af11a | 561 | lcd.printf("%02d", minal); |
Gregorio | 3:cc43cc1af11a | 562 | } else if (p==2) { |
Gregorio | 3:cc43cc1af11a | 563 | ++p; |
Gregorio | 3:cc43cc1af11a | 564 | lcd.locate(11,0); |
Gregorio | 3:cc43cc1af11a | 565 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 566 | lcd.locate(11,0); |
Gregorio | 3:cc43cc1af11a | 567 | lcd.printf("%02d", secal); |
Gregorio | 3:cc43cc1af11a | 568 | } else if (p==3) { |
Gregorio | 3:cc43cc1af11a | 569 | ++p; |
Gregorio | 3:cc43cc1af11a | 570 | lcd.locate(5,1); |
Gregorio | 3:cc43cc1af11a | 571 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 572 | lcd.locate(5,1); |
Gregorio | 3:cc43cc1af11a | 573 | lcd.printf("%02d", dateal); |
Gregorio | 3:cc43cc1af11a | 574 | } else if (p==4) { |
Gregorio | 3:cc43cc1af11a | 575 | ++p; |
Gregorio | 3:cc43cc1af11a | 576 | lcd.locate(8,1); |
Gregorio | 3:cc43cc1af11a | 577 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 578 | lcd.locate(8,1); |
Gregorio | 3:cc43cc1af11a | 579 | lcd.printf("%02d", monal); |
Gregorio | 3:cc43cc1af11a | 580 | } else if (p==5) { |
Gregorio | 3:cc43cc1af11a | 581 | ++p; |
Gregorio | 3:cc43cc1af11a | 582 | lcd.locate(11,1); |
Gregorio | 3:cc43cc1af11a | 583 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 584 | lcd.locate(11,1); |
Gregorio | 3:cc43cc1af11a | 585 | lcd.printf("%04d", yearal); |
Gregorio | 3:cc43cc1af11a | 586 | } else if (p==6) { |
Gregorio | 3:cc43cc1af11a | 587 | p=0; |
Gregorio | 3:cc43cc1af11a | 588 | } |
Gregorio | 3:cc43cc1af11a | 589 | } |
Gregorio | 3:cc43cc1af11a | 590 | if (button4.falling()) { //BOTON 4: CAMBIADOR DE MODO |
Gregorio | 3:cc43cc1af11a | 591 | pw.period(Tfa); // aqui se indica la frecuencia para el sonido al pulsar el boton 1 |
Gregorio | 3:cc43cc1af11a | 592 | pw.pulsewidth(Pfa); |
Gregorio | 3:cc43cc1af11a | 593 | wait(0.1); |
Gregorio | 3:cc43cc1af11a | 594 | pw=0; |
Gregorio | 3:cc43cc1af11a | 595 | modo=0; |
Gregorio | 3:cc43cc1af11a | 596 | lcd.locate(0,0); |
Gregorio | 3:cc43cc1af11a | 597 | lcd.printf("Hora"); |
Gregorio | 3:cc43cc1af11a | 598 | } |
Gregorio | 3:cc43cc1af11a | 599 | } |
Gregorio | 3:cc43cc1af11a | 600 | } |
Gregorio | 3:cc43cc1af11a | 601 | } |
Gregorio | 3:cc43cc1af11a | 602 | |
leihen | 0:431183c5b136 | 603 | } |