Tarea sobre el reloj con alarma.
Dependencies: Debounced RTC-DS1307 TextLCD mbed
Fork of Rtc_Ds1307_lcd_alarma by
main.cpp@3:cc43cc1af11a, 2014-05-02 (annotated)
- Committer:
- Gregorio
- Date:
- Fri May 02 18:19:57 2014 +0000
- Revision:
- 3:cc43cc1af11a
- Parent:
- 2:3be003301107
- Child:
- 4:242b6afb651e
Reloj de tiempo real con alarma aplazable
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); |
Gregorio | 3:cc43cc1af11a | 7 | TextLCD lcd(PTB10, PTB11, PTE2, PTE3, PTE4, PTE5); |
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 |
Gregorio | 3:cc43cc1af11a | 31 | int houral=0,minal=0,secal=0,dateal=1,monal=1,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) { |
Gregorio | 3:cc43cc1af11a | 53 | while(button1.falling() != 1) { |
Gregorio | 3:cc43cc1af11a | 54 | pw.period(Tdo); // aqui se indica la frecuencia para el sonido al pulsar el boton 1 |
Gregorio | 3:cc43cc1af11a | 55 | pw.pulsewidth(Pdo); |
Gregorio | 3:cc43cc1af11a | 56 | wait(0.5); |
Gregorio | 3:cc43cc1af11a | 57 | pw=0; |
Gregorio | 3:cc43cc1af11a | 58 | pw.period(Tre); // aqui se indica la frecuencia para el sonido al pulsar el boton 1 |
Gregorio | 3:cc43cc1af11a | 59 | pw.pulsewidth(Pre); |
Gregorio | 3:cc43cc1af11a | 60 | wait(0.5); |
Gregorio | 3:cc43cc1af11a | 61 | pw=0; |
Gregorio | 3:cc43cc1af11a | 62 | pw.period(Tmi); // aqui se indica la frecuencia para el sonido al pulsar el boton 1 |
Gregorio | 3:cc43cc1af11a | 63 | pw.pulsewidth(Pmi); |
Gregorio | 3:cc43cc1af11a | 64 | wait(0.5); |
Gregorio | 3:cc43cc1af11a | 65 | pw=0; |
Gregorio | 3:cc43cc1af11a | 66 | pw.period(Tfa); // aqui se indica la frecuencia para el sonido al pulsar el boton 1 |
Gregorio | 3:cc43cc1af11a | 67 | pw.pulsewidth(Pfa); |
Gregorio | 3:cc43cc1af11a | 68 | wait(0.5); |
Gregorio | 3:cc43cc1af11a | 69 | pw=0; |
Gregorio | 3:cc43cc1af11a | 70 | } |
Gregorio | 3:cc43cc1af11a | 71 | t.start();//comienza a contar el tiempo despues de apagar la alarma, para reiniciarla a los 30 seg |
Gregorio | 3:cc43cc1af11a | 72 | if(t>=30){ |
Gregorio | 3:cc43cc1af11a | 73 | t.stop(); |
Gregorio | 3:cc43cc1af11a | 74 | while(button1.falling() != 1) { |
Gregorio | 3:cc43cc1af11a | 75 | pw.period(Tdo); // aqui se indica la frecuencia para el sonido al pulsar el boton 1 |
Gregorio | 3:cc43cc1af11a | 76 | pw.pulsewidth(Pdo); |
Gregorio | 3:cc43cc1af11a | 77 | wait(0.5); |
Gregorio | 3:cc43cc1af11a | 78 | pw=0; |
Gregorio | 3:cc43cc1af11a | 79 | pw.period(Tre); // aqui se indica la frecuencia para el sonido al pulsar el boton 1 |
Gregorio | 3:cc43cc1af11a | 80 | pw.pulsewidth(Pre); |
Gregorio | 3:cc43cc1af11a | 81 | wait(0.5); |
Gregorio | 3:cc43cc1af11a | 82 | pw=0; |
Gregorio | 3:cc43cc1af11a | 83 | pw.period(Tmi); // aqui se indica la frecuencia para el sonido al pulsar el boton 1 |
Gregorio | 3:cc43cc1af11a | 84 | pw.pulsewidth(Pmi); |
Gregorio | 3:cc43cc1af11a | 85 | wait(0.5); |
Gregorio | 3:cc43cc1af11a | 86 | pw=0; |
Gregorio | 3:cc43cc1af11a | 87 | pw.period(Tfa); // aqui se indica la frecuencia para el sonido al pulsar el boton 1 |
Gregorio | 3:cc43cc1af11a | 88 | pw.pulsewidth(Pfa); |
Gregorio | 3:cc43cc1af11a | 89 | wait(0.5); |
Gregorio | 3:cc43cc1af11a | 90 | pw=0; |
Gregorio | 3:cc43cc1af11a | 91 | } |
Gregorio | 3:cc43cc1af11a | 92 | } |
Gregorio | 3:cc43cc1af11a | 93 | } |
Gregorio | 3:cc43cc1af11a | 94 | |
Gregorio | 3:cc43cc1af11a | 95 | if (button4.falling()) { |
Gregorio | 3:cc43cc1af11a | 96 | pw.period(Tfa); // aqui se indica la frecuencia para el sonido al pulsar el boton 1 |
Gregorio | 3:cc43cc1af11a | 97 | pw.pulsewidth(Pfa); |
Gregorio | 3:cc43cc1af11a | 98 | wait(0.1); |
Gregorio | 3:cc43cc1af11a | 99 | pw=0; |
Gregorio | 3:cc43cc1af11a | 100 | ++modo; |
Gregorio | 3:cc43cc1af11a | 101 | lcd.locate(0,0); |
Gregorio | 3:cc43cc1af11a | 102 | lcd.printf("Conf"); |
Gregorio | 3:cc43cc1af11a | 103 | } |
leihen | 0:431183c5b136 | 104 | } |
Gregorio | 3:cc43cc1af11a | 105 | }//fIN DEL MODO CERO |
Gregorio | 3:cc43cc1af11a | 106 | if (modo==1) { |
Gregorio | 3:cc43cc1af11a | 107 | rtc.getTime(tm); |
Gregorio | 3:cc43cc1af11a | 108 | while(modo==1){ |
Gregorio | 3:cc43cc1af11a | 109 | if (button4.falling()) { //CAMBIADOR DE MODO |
Gregorio | 3:cc43cc1af11a | 110 | pw.period(Tfa); // aqui se indica la frecuencia para el sonido al pulsar el boton 1 |
Gregorio | 3:cc43cc1af11a | 111 | pw.pulsewidth(Pfa); |
Gregorio | 3:cc43cc1af11a | 112 | wait(0.1); |
Gregorio | 3:cc43cc1af11a | 113 | pw=0; |
Gregorio | 3:cc43cc1af11a | 114 | ++modo; |
Gregorio | 3:cc43cc1af11a | 115 | 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 | 116 | 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 | 117 | lcd.locate(0,1); // el otro espacio que queda vacio debe llenarse con un cero (0) |
Gregorio | 3:cc43cc1af11a | 118 | lcd.printf("Fech:%02d/%02d/%04d", dateal, monal, yearal); |
Gregorio | 3:cc43cc1af11a | 119 | } |
Gregorio | 3:cc43cc1af11a | 120 | if (button1.falling()) { //INCREMENTAL |
Gregorio | 3:cc43cc1af11a | 121 | if (p==0) {pw=0;} //Condicion: incremental no suena si no estoy ubicado en una variable |
Gregorio | 3:cc43cc1af11a | 122 | else{ |
Gregorio | 3:cc43cc1af11a | 123 | pw.period(Tdo); // aqui se indica la frecuencia para el sonido al pulsar el boton 1 |
Gregorio | 3:cc43cc1af11a | 124 | pw.pulsewidth(Pdo); |
Gregorio | 3:cc43cc1af11a | 125 | wait(0.1); |
Gregorio | 3:cc43cc1af11a | 126 | pw=0; |
Gregorio | 3:cc43cc1af11a | 127 | } |
Gregorio | 3:cc43cc1af11a | 128 | if (p==1) { //posicion de variable hora |
Gregorio | 3:cc43cc1af11a | 129 | if (tm.hour==23) { |
Gregorio | 3:cc43cc1af11a | 130 | tm.hour=0; |
Gregorio | 3:cc43cc1af11a | 131 | lcd.locate(5,0); |
Gregorio | 3:cc43cc1af11a | 132 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 133 | lcd.locate(5,0); |
Gregorio | 3:cc43cc1af11a | 134 | lcd.printf("%02d", tm.hour); |
Gregorio | 3:cc43cc1af11a | 135 | } else { |
Gregorio | 3:cc43cc1af11a | 136 | ++tm.hour; |
Gregorio | 3:cc43cc1af11a | 137 | lcd.locate(5,0); |
Gregorio | 3:cc43cc1af11a | 138 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 139 | lcd.locate(5,0); |
Gregorio | 3:cc43cc1af11a | 140 | lcd.printf("%02d", tm.hour); |
Gregorio | 3:cc43cc1af11a | 141 | } |
Gregorio | 3:cc43cc1af11a | 142 | } |
Gregorio | 3:cc43cc1af11a | 143 | else if (p==2) { //p=2: posicion de variable minutos |
Gregorio | 3:cc43cc1af11a | 144 | if (tm.min==59) { |
Gregorio | 3:cc43cc1af11a | 145 | tm.min=0; |
Gregorio | 3:cc43cc1af11a | 146 | lcd.locate(8,0); |
Gregorio | 3:cc43cc1af11a | 147 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 148 | lcd.locate(8,0); |
Gregorio | 3:cc43cc1af11a | 149 | lcd.printf("%02d", tm.min); |
Gregorio | 3:cc43cc1af11a | 150 | } |
Gregorio | 3:cc43cc1af11a | 151 | else { |
Gregorio | 3:cc43cc1af11a | 152 | ++tm.min; |
Gregorio | 3:cc43cc1af11a | 153 | lcd.locate(8,0); |
Gregorio | 3:cc43cc1af11a | 154 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 155 | lcd.locate(8,0); |
Gregorio | 3:cc43cc1af11a | 156 | lcd.printf("%02d", tm.min); |
Gregorio | 3:cc43cc1af11a | 157 | } |
Gregorio | 3:cc43cc1af11a | 158 | } |
Gregorio | 3:cc43cc1af11a | 159 | else if (p==3) {//p=3: posicion de variable segundos |
Gregorio | 3:cc43cc1af11a | 160 | if (tm.sec==59) { |
Gregorio | 3:cc43cc1af11a | 161 | tm.sec=0; |
Gregorio | 3:cc43cc1af11a | 162 | lcd.locate(11,0); |
Gregorio | 3:cc43cc1af11a | 163 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 164 | lcd.locate(11,0); |
Gregorio | 3:cc43cc1af11a | 165 | lcd.printf("%02d", tm.sec); |
Gregorio | 3:cc43cc1af11a | 166 | } |
Gregorio | 3:cc43cc1af11a | 167 | else { |
Gregorio | 3:cc43cc1af11a | 168 | ++tm.sec; |
Gregorio | 3:cc43cc1af11a | 169 | lcd.locate(11,0); |
Gregorio | 3:cc43cc1af11a | 170 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 171 | lcd.locate(11,0); |
Gregorio | 3:cc43cc1af11a | 172 | lcd.printf("%02d", tm.sec); |
Gregorio | 3:cc43cc1af11a | 173 | } |
Gregorio | 3:cc43cc1af11a | 174 | } |
Gregorio | 3:cc43cc1af11a | 175 | else if (p==4) {//p=4: posicion de variable dia del mes |
Gregorio | 3:cc43cc1af11a | 176 | if (tm.date==31) { |
Gregorio | 3:cc43cc1af11a | 177 | tm.date=1; |
Gregorio | 3:cc43cc1af11a | 178 | lcd.locate(5,1); |
Gregorio | 3:cc43cc1af11a | 179 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 180 | lcd.locate(5,1); |
Gregorio | 3:cc43cc1af11a | 181 | lcd.printf("%02d", tm.date); |
Gregorio | 3:cc43cc1af11a | 182 | } |
Gregorio | 3:cc43cc1af11a | 183 | else { |
Gregorio | 3:cc43cc1af11a | 184 | ++tm.date; |
Gregorio | 3:cc43cc1af11a | 185 | lcd.locate(5,1); |
Gregorio | 3:cc43cc1af11a | 186 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 187 | lcd.locate(5,1); |
Gregorio | 3:cc43cc1af11a | 188 | lcd.printf("%02d", tm.date); |
Gregorio | 3:cc43cc1af11a | 189 | } |
Gregorio | 3:cc43cc1af11a | 190 | } |
Gregorio | 3:cc43cc1af11a | 191 | else if (p==5) {//p=5: posicion de variable mes |
Gregorio | 3:cc43cc1af11a | 192 | if (tm.mon==12) { |
Gregorio | 3:cc43cc1af11a | 193 | tm.mon=1; |
Gregorio | 3:cc43cc1af11a | 194 | lcd.locate(8,1); |
Gregorio | 3:cc43cc1af11a | 195 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 196 | lcd.locate(8,1); |
Gregorio | 3:cc43cc1af11a | 197 | lcd.printf("%02d", tm.mon); |
Gregorio | 3:cc43cc1af11a | 198 | } |
Gregorio | 3:cc43cc1af11a | 199 | else { |
Gregorio | 3:cc43cc1af11a | 200 | ++tm.mon; |
Gregorio | 3:cc43cc1af11a | 201 | lcd.locate(8,1); |
Gregorio | 3:cc43cc1af11a | 202 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 203 | lcd.locate(8,1); |
Gregorio | 3:cc43cc1af11a | 204 | lcd.printf("%02d", tm.mon); |
Gregorio | 3:cc43cc1af11a | 205 | } |
Gregorio | 3:cc43cc1af11a | 206 | } |
Gregorio | 3:cc43cc1af11a | 207 | else if (p==6) { //p=6: posicion de variable años |
Gregorio | 3:cc43cc1af11a | 208 | ++tm.year; |
Gregorio | 3:cc43cc1af11a | 209 | lcd.locate(11,1); |
Gregorio | 3:cc43cc1af11a | 210 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 211 | lcd.locate(11,1); |
Gregorio | 3:cc43cc1af11a | 212 | lcd.printf("%04d", tm.year); |
Gregorio | 3:cc43cc1af11a | 213 | } |
Gregorio | 3:cc43cc1af11a | 214 | } |
Gregorio | 3:cc43cc1af11a | 215 | if (button2.falling()) { //boton decremental |
Gregorio | 3:cc43cc1af11a | 216 | if (p==0) {pw=0;} |
Gregorio | 3:cc43cc1af11a | 217 | else{ |
Gregorio | 3:cc43cc1af11a | 218 | pw.period(Tre); |
Gregorio | 3:cc43cc1af11a | 219 | pw.pulsewidth(Pre); |
Gregorio | 3:cc43cc1af11a | 220 | wait(0.1); |
Gregorio | 3:cc43cc1af11a | 221 | pw=0; |
Gregorio | 3:cc43cc1af11a | 222 | } |
Gregorio | 3:cc43cc1af11a | 223 | if (p==1) { |
Gregorio | 3:cc43cc1af11a | 224 | if (tm.hour==0) { |
Gregorio | 3:cc43cc1af11a | 225 | tm.hour=24; |
Gregorio | 3:cc43cc1af11a | 226 | lcd.locate(5,0); |
Gregorio | 3:cc43cc1af11a | 227 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 228 | lcd.locate(5,0); |
Gregorio | 3:cc43cc1af11a | 229 | lcd.printf("%02d", tm.hour); |
Gregorio | 3:cc43cc1af11a | 230 | } |
Gregorio | 3:cc43cc1af11a | 231 | else { |
Gregorio | 3:cc43cc1af11a | 232 | --tm.hour; |
Gregorio | 3:cc43cc1af11a | 233 | lcd.locate(5,0); |
Gregorio | 3:cc43cc1af11a | 234 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 235 | lcd.locate(5,0); |
Gregorio | 3:cc43cc1af11a | 236 | lcd.printf("%02d", tm.hour); |
Gregorio | 3:cc43cc1af11a | 237 | } |
Gregorio | 3:cc43cc1af11a | 238 | } |
Gregorio | 3:cc43cc1af11a | 239 | else if (p==2) { |
Gregorio | 3:cc43cc1af11a | 240 | if (tm.min==0) { // no mostrar nada |
Gregorio | 3:cc43cc1af11a | 241 | tm.min=59; |
Gregorio | 3:cc43cc1af11a | 242 | lcd.locate(8,0); |
Gregorio | 3:cc43cc1af11a | 243 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 244 | lcd.locate(8,0); |
Gregorio | 3:cc43cc1af11a | 245 | lcd.printf("%02d", tm.min); |
Gregorio | 3:cc43cc1af11a | 246 | } |
Gregorio | 3:cc43cc1af11a | 247 | else { |
Gregorio | 3:cc43cc1af11a | 248 | --tm.min; |
Gregorio | 3:cc43cc1af11a | 249 | lcd.locate(8,0); |
Gregorio | 3:cc43cc1af11a | 250 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 251 | lcd.locate(8,0); |
Gregorio | 3:cc43cc1af11a | 252 | lcd.printf("%02d", tm.min); |
Gregorio | 3:cc43cc1af11a | 253 | } |
Gregorio | 3:cc43cc1af11a | 254 | } |
Gregorio | 3:cc43cc1af11a | 255 | else if (p==3) { |
Gregorio | 3:cc43cc1af11a | 256 | if (tm.sec==0) { // no mostrar nada |
Gregorio | 3:cc43cc1af11a | 257 | tm.sec=59; |
Gregorio | 3:cc43cc1af11a | 258 | lcd.locate(11,0); |
Gregorio | 3:cc43cc1af11a | 259 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 260 | lcd.locate(11,0); |
Gregorio | 3:cc43cc1af11a | 261 | lcd.printf("%02d", tm.sec); |
Gregorio | 3:cc43cc1af11a | 262 | } |
Gregorio | 3:cc43cc1af11a | 263 | else { |
Gregorio | 3:cc43cc1af11a | 264 | --tm.sec; |
Gregorio | 3:cc43cc1af11a | 265 | lcd.locate(11,0); |
Gregorio | 3:cc43cc1af11a | 266 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 267 | lcd.locate(11,0); |
Gregorio | 3:cc43cc1af11a | 268 | lcd.printf("%02d", tm.sec); |
Gregorio | 3:cc43cc1af11a | 269 | } |
Gregorio | 3:cc43cc1af11a | 270 | } |
Gregorio | 3:cc43cc1af11a | 271 | else if (p==4) { |
Gregorio | 3:cc43cc1af11a | 272 | if (tm.date==1) { // no mostrar nada |
Gregorio | 3:cc43cc1af11a | 273 | tm.date=31; |
Gregorio | 3:cc43cc1af11a | 274 | lcd.locate(5,1); |
Gregorio | 3:cc43cc1af11a | 275 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 276 | lcd.locate(5,1); |
Gregorio | 3:cc43cc1af11a | 277 | lcd.printf("%02d", tm.date); |
Gregorio | 3:cc43cc1af11a | 278 | } |
Gregorio | 3:cc43cc1af11a | 279 | else { |
Gregorio | 3:cc43cc1af11a | 280 | --tm.date; |
Gregorio | 3:cc43cc1af11a | 281 | lcd.locate(5,1); |
Gregorio | 3:cc43cc1af11a | 282 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 283 | lcd.locate(5,1); |
Gregorio | 3:cc43cc1af11a | 284 | lcd.printf("%02d", tm.date); |
Gregorio | 3:cc43cc1af11a | 285 | } |
Gregorio | 3:cc43cc1af11a | 286 | } |
Gregorio | 3:cc43cc1af11a | 287 | else if (p==5) { |
Gregorio | 3:cc43cc1af11a | 288 | if (tm.mon==1) { |
Gregorio | 3:cc43cc1af11a | 289 | tm.mon=12; |
Gregorio | 3:cc43cc1af11a | 290 | lcd.locate(8,1); |
Gregorio | 3:cc43cc1af11a | 291 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 292 | lcd.locate(8,1); |
Gregorio | 3:cc43cc1af11a | 293 | lcd.printf("%02d", tm.mon); |
Gregorio | 3:cc43cc1af11a | 294 | } |
Gregorio | 3:cc43cc1af11a | 295 | else { |
Gregorio | 3:cc43cc1af11a | 296 | --tm.mon; |
Gregorio | 3:cc43cc1af11a | 297 | lcd.locate(8,1); |
Gregorio | 3:cc43cc1af11a | 298 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 299 | lcd.locate(8,1); |
Gregorio | 3:cc43cc1af11a | 300 | lcd.printf("%02d", tm.mon); |
Gregorio | 3:cc43cc1af11a | 301 | } |
Gregorio | 3:cc43cc1af11a | 302 | } |
Gregorio | 3:cc43cc1af11a | 303 | else if (p==6) { |
Gregorio | 3:cc43cc1af11a | 304 | if (tm.year==2000) { |
Gregorio | 3:cc43cc1af11a | 305 | lcd.locate(11,1); |
Gregorio | 3:cc43cc1af11a | 306 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 307 | lcd.locate(11,1); |
Gregorio | 3:cc43cc1af11a | 308 | lcd.printf("%04d", tm.year); |
Gregorio | 3:cc43cc1af11a | 309 | } |
Gregorio | 3:cc43cc1af11a | 310 | else { |
Gregorio | 3:cc43cc1af11a | 311 | --tm.year; |
Gregorio | 3:cc43cc1af11a | 312 | lcd.locate(11,1); |
Gregorio | 3:cc43cc1af11a | 313 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 314 | lcd.locate(11,1); |
Gregorio | 3:cc43cc1af11a | 315 | lcd.printf("%04d", tm.year); |
Gregorio | 3:cc43cc1af11a | 316 | } |
Gregorio | 3:cc43cc1af11a | 317 | } |
Gregorio | 3:cc43cc1af11a | 318 | } |
Gregorio | 3:cc43cc1af11a | 319 | if (button3.falling()) { //boton 3: cambiador de variable |
Gregorio | 3:cc43cc1af11a | 320 | pw.period(Tmi); |
Gregorio | 3:cc43cc1af11a | 321 | pw.pulsewidth(Pmi); |
Gregorio | 3:cc43cc1af11a | 322 | wait(0.1); |
Gregorio | 3:cc43cc1af11a | 323 | pw=0; |
Gregorio | 3:cc43cc1af11a | 324 | |
Gregorio | 3:cc43cc1af11a | 325 | if (p==0) { //p=0: no esta parado en ninguna variable |
Gregorio | 3:cc43cc1af11a | 326 | ++p; |
Gregorio | 3:cc43cc1af11a | 327 | lcd.locate(5,0); |
Gregorio | 3:cc43cc1af11a | 328 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 329 | lcd.locate(5,0); |
Gregorio | 3:cc43cc1af11a | 330 | lcd.printf("%02d", tm.hour); |
Gregorio | 3:cc43cc1af11a | 331 | } else if (p==1) { //p=1: ubicacion de variable hora |
Gregorio | 3:cc43cc1af11a | 332 | ++p; |
Gregorio | 3:cc43cc1af11a | 333 | lcd.locate(8,0); |
Gregorio | 3:cc43cc1af11a | 334 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 335 | lcd.locate(8,0); |
Gregorio | 3:cc43cc1af11a | 336 | lcd.printf("%02d", tm.min); |
Gregorio | 3:cc43cc1af11a | 337 | } else if (p==2) { |
Gregorio | 3:cc43cc1af11a | 338 | ++p; |
Gregorio | 3:cc43cc1af11a | 339 | lcd.locate(11,0); |
Gregorio | 3:cc43cc1af11a | 340 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 341 | lcd.locate(11,0); |
Gregorio | 3:cc43cc1af11a | 342 | lcd.printf("%02d", tm.sec); |
Gregorio | 3:cc43cc1af11a | 343 | } else if (p==3) { |
Gregorio | 3:cc43cc1af11a | 344 | ++p; |
Gregorio | 3:cc43cc1af11a | 345 | lcd.locate(5,1); |
Gregorio | 3:cc43cc1af11a | 346 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 347 | lcd.locate(5,1); |
Gregorio | 3:cc43cc1af11a | 348 | lcd.printf("%02d", tm.date); |
Gregorio | 3:cc43cc1af11a | 349 | } else if (p==4) { |
Gregorio | 3:cc43cc1af11a | 350 | ++p; |
Gregorio | 3:cc43cc1af11a | 351 | lcd.locate(8,1); |
Gregorio | 3:cc43cc1af11a | 352 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 353 | lcd.locate(8,1); |
Gregorio | 3:cc43cc1af11a | 354 | lcd.printf("%02d", tm.mon); |
Gregorio | 3:cc43cc1af11a | 355 | } else if (p==5) { |
Gregorio | 3:cc43cc1af11a | 356 | ++p; |
Gregorio | 3:cc43cc1af11a | 357 | lcd.locate(11,1); |
Gregorio | 3:cc43cc1af11a | 358 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 359 | lcd.locate(11,1); |
Gregorio | 3:cc43cc1af11a | 360 | lcd.printf("%04d", tm.year); |
Gregorio | 3:cc43cc1af11a | 361 | } else if (p==6) { |
Gregorio | 3:cc43cc1af11a | 362 | p=0; |
Gregorio | 3:cc43cc1af11a | 363 | rtc.setTime(tm, true, false);//SOLO SI CONFIGURO TODAS LAS VARIOABLES Y RETORNO A P=0, LA HORA SE CONFIGURA |
Gregorio | 3:cc43cc1af11a | 364 | } |
Gregorio | 3:cc43cc1af11a | 365 | } |
Gregorio | 3:cc43cc1af11a | 366 | } |
Gregorio | 3:cc43cc1af11a | 367 | } |
Gregorio | 3:cc43cc1af11a | 368 | //MODO 2: PROGRAMACION DE LA ALARMA |
Gregorio | 3:cc43cc1af11a | 369 | if (modo==2) { |
Gregorio | 3:cc43cc1af11a | 370 | rtc.getTime(tm); |
Gregorio | 3:cc43cc1af11a | 371 | while(modo==2){ |
Gregorio | 3:cc43cc1af11a | 372 | if (button1.falling()) { |
Gregorio | 3:cc43cc1af11a | 373 | if (p==0) {pw=0;} |
Gregorio | 3:cc43cc1af11a | 374 | else{ |
Gregorio | 3:cc43cc1af11a | 375 | pw.period(Tdo); // aqui se indica la frecuencia para el sonido al pulsar el boton 1 |
Gregorio | 3:cc43cc1af11a | 376 | pw.pulsewidth(Pdo); |
Gregorio | 3:cc43cc1af11a | 377 | wait(0.1); |
Gregorio | 3:cc43cc1af11a | 378 | pw=0; |
Gregorio | 3:cc43cc1af11a | 379 | } |
Gregorio | 3:cc43cc1af11a | 380 | if (p==0) { |
Gregorio | 3:cc43cc1af11a | 381 | } else if (p==1) { |
Gregorio | 3:cc43cc1af11a | 382 | if (houral==23) { |
Gregorio | 3:cc43cc1af11a | 383 | houral=0; |
Gregorio | 3:cc43cc1af11a | 384 | lcd.locate(5,0); |
Gregorio | 3:cc43cc1af11a | 385 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 386 | lcd.locate(5,0); |
Gregorio | 3:cc43cc1af11a | 387 | lcd.printf("%02d", houral); |
Gregorio | 3:cc43cc1af11a | 388 | } else { |
Gregorio | 3:cc43cc1af11a | 389 | ++houral; |
Gregorio | 3:cc43cc1af11a | 390 | lcd.locate(5,0); |
Gregorio | 3:cc43cc1af11a | 391 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 392 | lcd.locate(5,0); |
Gregorio | 3:cc43cc1af11a | 393 | lcd.printf("%02d", houral); |
Gregorio | 3:cc43cc1af11a | 394 | } |
Gregorio | 3:cc43cc1af11a | 395 | } else if (p==2) { |
Gregorio | 3:cc43cc1af11a | 396 | if (minal==59) { |
Gregorio | 3:cc43cc1af11a | 397 | minal=0; |
Gregorio | 3:cc43cc1af11a | 398 | lcd.locate(8,0); |
Gregorio | 3:cc43cc1af11a | 399 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 400 | lcd.locate(8,0); |
Gregorio | 3:cc43cc1af11a | 401 | lcd.printf("%02d", minal); |
Gregorio | 3:cc43cc1af11a | 402 | } else { |
Gregorio | 3:cc43cc1af11a | 403 | ++minal; |
Gregorio | 3:cc43cc1af11a | 404 | lcd.locate(8,0); |
Gregorio | 3:cc43cc1af11a | 405 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 406 | lcd.locate(8,0); |
Gregorio | 3:cc43cc1af11a | 407 | lcd.printf("%02d", minal); |
Gregorio | 3:cc43cc1af11a | 408 | } |
Gregorio | 3:cc43cc1af11a | 409 | } else if (p==3) { |
Gregorio | 3:cc43cc1af11a | 410 | if (secal==59) { |
Gregorio | 3:cc43cc1af11a | 411 | secal=0; |
Gregorio | 3:cc43cc1af11a | 412 | lcd.locate(11,0); |
Gregorio | 3:cc43cc1af11a | 413 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 414 | lcd.locate(11,0); |
Gregorio | 3:cc43cc1af11a | 415 | lcd.printf("%02d", secal); |
Gregorio | 3:cc43cc1af11a | 416 | } else { |
Gregorio | 3:cc43cc1af11a | 417 | ++secal; |
Gregorio | 3:cc43cc1af11a | 418 | lcd.locate(11,0); |
Gregorio | 3:cc43cc1af11a | 419 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 420 | lcd.locate(11,0); |
Gregorio | 3:cc43cc1af11a | 421 | lcd.printf("%02d", secal); |
Gregorio | 3:cc43cc1af11a | 422 | } |
Gregorio | 3:cc43cc1af11a | 423 | } else if (p==4) { |
Gregorio | 3:cc43cc1af11a | 424 | if (dateal==31) { |
Gregorio | 3:cc43cc1af11a | 425 | dateal=1; |
Gregorio | 3:cc43cc1af11a | 426 | lcd.locate(5,1); |
Gregorio | 3:cc43cc1af11a | 427 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 428 | lcd.locate(5,1); |
Gregorio | 3:cc43cc1af11a | 429 | lcd.printf("%02d", dateal); |
Gregorio | 3:cc43cc1af11a | 430 | } else { |
Gregorio | 3:cc43cc1af11a | 431 | ++dateal; |
Gregorio | 3:cc43cc1af11a | 432 | lcd.locate(5,1); |
Gregorio | 3:cc43cc1af11a | 433 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 434 | lcd.locate(5,1); |
Gregorio | 3:cc43cc1af11a | 435 | lcd.printf("%02d", dateal); |
Gregorio | 3:cc43cc1af11a | 436 | } |
Gregorio | 3:cc43cc1af11a | 437 | } else if (p==5) { |
Gregorio | 3:cc43cc1af11a | 438 | if (monal==12) { |
Gregorio | 3:cc43cc1af11a | 439 | monal=1; |
Gregorio | 3:cc43cc1af11a | 440 | lcd.locate(8,1); |
Gregorio | 3:cc43cc1af11a | 441 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 442 | lcd.locate(8,1); |
Gregorio | 3:cc43cc1af11a | 443 | lcd.printf("%02d", monal); |
Gregorio | 3:cc43cc1af11a | 444 | } else { |
Gregorio | 3:cc43cc1af11a | 445 | ++monal; |
Gregorio | 3:cc43cc1af11a | 446 | lcd.locate(8,1); |
Gregorio | 3:cc43cc1af11a | 447 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 448 | lcd.locate(8,1); |
Gregorio | 3:cc43cc1af11a | 449 | lcd.printf("%02d", monal); |
Gregorio | 3:cc43cc1af11a | 450 | } |
Gregorio | 3:cc43cc1af11a | 451 | } else if (p==6) { |
Gregorio | 3:cc43cc1af11a | 452 | ++yearal; |
Gregorio | 3:cc43cc1af11a | 453 | lcd.locate(11,1); |
Gregorio | 3:cc43cc1af11a | 454 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 455 | lcd.locate(11,1); |
Gregorio | 3:cc43cc1af11a | 456 | lcd.printf("%04d", yearal); |
Gregorio | 3:cc43cc1af11a | 457 | } |
Gregorio | 3:cc43cc1af11a | 458 | } |
Gregorio | 3:cc43cc1af11a | 459 | if (button2.falling()) { |
Gregorio | 3:cc43cc1af11a | 460 | if (p==0) {pw=0;} |
Gregorio | 3:cc43cc1af11a | 461 | else{ |
Gregorio | 3:cc43cc1af11a | 462 | pw.period(Tre); |
Gregorio | 3:cc43cc1af11a | 463 | pw.pulsewidth(Pre); |
Gregorio | 3:cc43cc1af11a | 464 | wait(0.1); |
Gregorio | 3:cc43cc1af11a | 465 | pw=0; |
Gregorio | 3:cc43cc1af11a | 466 | } |
Gregorio | 3:cc43cc1af11a | 467 | if (p==1) { |
Gregorio | 3:cc43cc1af11a | 468 | if (houral==0) { // no mostrar nada |
Gregorio | 3:cc43cc1af11a | 469 | houral=24; |
Gregorio | 3:cc43cc1af11a | 470 | lcd.locate(5,0); |
Gregorio | 3:cc43cc1af11a | 471 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 472 | lcd.locate(5,0); |
Gregorio | 3:cc43cc1af11a | 473 | lcd.printf("%02d", houral); |
Gregorio | 3:cc43cc1af11a | 474 | } else { |
Gregorio | 3:cc43cc1af11a | 475 | --houral; |
Gregorio | 3:cc43cc1af11a | 476 | lcd.locate(5,0); |
Gregorio | 3:cc43cc1af11a | 477 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 478 | lcd.locate(5,0); |
Gregorio | 3:cc43cc1af11a | 479 | lcd.printf("%02d", houral); |
Gregorio | 3:cc43cc1af11a | 480 | } |
Gregorio | 3:cc43cc1af11a | 481 | } |
Gregorio | 3:cc43cc1af11a | 482 | if (p==2) { |
Gregorio | 3:cc43cc1af11a | 483 | if (minal==0) { // no mostrar nada |
Gregorio | 3:cc43cc1af11a | 484 | minal=59; |
Gregorio | 3:cc43cc1af11a | 485 | lcd.locate(8,0); |
Gregorio | 3:cc43cc1af11a | 486 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 487 | lcd.locate(8,0); |
Gregorio | 3:cc43cc1af11a | 488 | lcd.printf("%02d", minal); |
Gregorio | 3:cc43cc1af11a | 489 | } else { |
Gregorio | 3:cc43cc1af11a | 490 | --minal; |
Gregorio | 3:cc43cc1af11a | 491 | lcd.locate(8,0); |
Gregorio | 3:cc43cc1af11a | 492 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 493 | lcd.locate(8,0); |
Gregorio | 3:cc43cc1af11a | 494 | lcd.printf("%02d", minal); |
Gregorio | 3:cc43cc1af11a | 495 | } |
Gregorio | 3:cc43cc1af11a | 496 | } |
Gregorio | 3:cc43cc1af11a | 497 | if (p==3) { |
Gregorio | 3:cc43cc1af11a | 498 | if (secal==0) { // no mostrar nada |
Gregorio | 3:cc43cc1af11a | 499 | secal=59; |
Gregorio | 3:cc43cc1af11a | 500 | lcd.locate(11,0); |
Gregorio | 3:cc43cc1af11a | 501 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 502 | lcd.locate(11,0); |
Gregorio | 3:cc43cc1af11a | 503 | lcd.printf("%02d", secal); |
Gregorio | 3:cc43cc1af11a | 504 | } else { |
Gregorio | 3:cc43cc1af11a | 505 | --secal; |
Gregorio | 3:cc43cc1af11a | 506 | lcd.locate(11,0); |
Gregorio | 3:cc43cc1af11a | 507 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 508 | lcd.locate(11,0); |
Gregorio | 3:cc43cc1af11a | 509 | lcd.printf("%02d", secal); |
Gregorio | 3:cc43cc1af11a | 510 | } |
Gregorio | 3:cc43cc1af11a | 511 | } |
Gregorio | 3:cc43cc1af11a | 512 | if (p==4) { |
Gregorio | 3:cc43cc1af11a | 513 | if (dateal==1) { // no mostrar nada |
Gregorio | 3:cc43cc1af11a | 514 | dateal=31; |
Gregorio | 3:cc43cc1af11a | 515 | lcd.locate(5,1); |
Gregorio | 3:cc43cc1af11a | 516 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 517 | lcd.locate(5,1); |
Gregorio | 3:cc43cc1af11a | 518 | lcd.printf("%02d", dateal); |
Gregorio | 3:cc43cc1af11a | 519 | } else { |
Gregorio | 3:cc43cc1af11a | 520 | --dateal; |
Gregorio | 3:cc43cc1af11a | 521 | lcd.locate(5,1); |
Gregorio | 3:cc43cc1af11a | 522 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 523 | lcd.locate(5,1); |
Gregorio | 3:cc43cc1af11a | 524 | lcd.printf("%02d", dateal); |
Gregorio | 3:cc43cc1af11a | 525 | } |
Gregorio | 3:cc43cc1af11a | 526 | } |
Gregorio | 3:cc43cc1af11a | 527 | if (p==5) { |
Gregorio | 3:cc43cc1af11a | 528 | if (monal==1) { |
Gregorio | 3:cc43cc1af11a | 529 | monal=12; |
Gregorio | 3:cc43cc1af11a | 530 | lcd.locate(8,1); |
Gregorio | 3:cc43cc1af11a | 531 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 532 | lcd.locate(8,1); |
Gregorio | 3:cc43cc1af11a | 533 | lcd.printf("%02d", monal); |
Gregorio | 3:cc43cc1af11a | 534 | } else { |
Gregorio | 3:cc43cc1af11a | 535 | --monal; |
Gregorio | 3:cc43cc1af11a | 536 | lcd.locate(8,1); |
Gregorio | 3:cc43cc1af11a | 537 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 538 | lcd.locate(8,1); |
Gregorio | 3:cc43cc1af11a | 539 | lcd.printf("%02d", monal); |
Gregorio | 3:cc43cc1af11a | 540 | } |
Gregorio | 3:cc43cc1af11a | 541 | } |
Gregorio | 3:cc43cc1af11a | 542 | if (p==6) { |
Gregorio | 3:cc43cc1af11a | 543 | if (yearal==2000) { |
Gregorio | 3:cc43cc1af11a | 544 | lcd.locate(11,1); |
Gregorio | 3:cc43cc1af11a | 545 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 546 | lcd.locate(11,1); |
Gregorio | 3:cc43cc1af11a | 547 | lcd.printf("%04d", yearal); |
Gregorio | 3:cc43cc1af11a | 548 | } else { |
Gregorio | 3:cc43cc1af11a | 549 | --yearal; |
Gregorio | 3:cc43cc1af11a | 550 | lcd.locate(11,1); |
Gregorio | 3:cc43cc1af11a | 551 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 552 | lcd.locate(11,1); |
Gregorio | 3:cc43cc1af11a | 553 | lcd.printf("%04d", yearal); |
Gregorio | 3:cc43cc1af11a | 554 | } |
Gregorio | 3:cc43cc1af11a | 555 | } |
Gregorio | 3:cc43cc1af11a | 556 | } |
Gregorio | 3:cc43cc1af11a | 557 | if (button3.falling()) {//BOTON 3: CAMBIADOR DE VARIABLE (POSICION EN LA LCD) |
Gregorio | 3:cc43cc1af11a | 558 | pw.period(Tmi); |
Gregorio | 3:cc43cc1af11a | 559 | pw.pulsewidth(Pmi); |
Gregorio | 3:cc43cc1af11a | 560 | wait(0.1); |
Gregorio | 3:cc43cc1af11a | 561 | pw=0; |
Gregorio | 3:cc43cc1af11a | 562 | |
Gregorio | 3:cc43cc1af11a | 563 | if (p==0) { |
Gregorio | 3:cc43cc1af11a | 564 | ++p; |
Gregorio | 3:cc43cc1af11a | 565 | lcd.locate(5,0); |
Gregorio | 3:cc43cc1af11a | 566 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 567 | lcd.locate(5,0); |
Gregorio | 3:cc43cc1af11a | 568 | lcd.printf("%02d", houral); |
Gregorio | 3:cc43cc1af11a | 569 | } else if (p==1) { |
Gregorio | 3:cc43cc1af11a | 570 | ++p; |
Gregorio | 3:cc43cc1af11a | 571 | lcd.locate(8,0); |
Gregorio | 3:cc43cc1af11a | 572 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 573 | lcd.locate(8,0); |
Gregorio | 3:cc43cc1af11a | 574 | lcd.printf("%02d", minal); |
Gregorio | 3:cc43cc1af11a | 575 | } else if (p==2) { |
Gregorio | 3:cc43cc1af11a | 576 | ++p; |
Gregorio | 3:cc43cc1af11a | 577 | lcd.locate(11,0); |
Gregorio | 3:cc43cc1af11a | 578 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 579 | lcd.locate(11,0); |
Gregorio | 3:cc43cc1af11a | 580 | lcd.printf("%02d", secal); |
Gregorio | 3:cc43cc1af11a | 581 | } else if (p==3) { |
Gregorio | 3:cc43cc1af11a | 582 | ++p; |
Gregorio | 3:cc43cc1af11a | 583 | lcd.locate(5,1); |
Gregorio | 3:cc43cc1af11a | 584 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 585 | lcd.locate(5,1); |
Gregorio | 3:cc43cc1af11a | 586 | lcd.printf("%02d", dateal); |
Gregorio | 3:cc43cc1af11a | 587 | } else if (p==4) { |
Gregorio | 3:cc43cc1af11a | 588 | ++p; |
Gregorio | 3:cc43cc1af11a | 589 | lcd.locate(8,1); |
Gregorio | 3:cc43cc1af11a | 590 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 591 | lcd.locate(8,1); |
Gregorio | 3:cc43cc1af11a | 592 | lcd.printf("%02d", monal); |
Gregorio | 3:cc43cc1af11a | 593 | } else if (p==5) { |
Gregorio | 3:cc43cc1af11a | 594 | ++p; |
Gregorio | 3:cc43cc1af11a | 595 | lcd.locate(11,1); |
Gregorio | 3:cc43cc1af11a | 596 | lcd.printf(" "); |
Gregorio | 3:cc43cc1af11a | 597 | lcd.locate(11,1); |
Gregorio | 3:cc43cc1af11a | 598 | lcd.printf("%04d", yearal); |
Gregorio | 3:cc43cc1af11a | 599 | } else if (p==6) { |
Gregorio | 3:cc43cc1af11a | 600 | p=0; |
Gregorio | 3:cc43cc1af11a | 601 | } |
Gregorio | 3:cc43cc1af11a | 602 | } |
Gregorio | 3:cc43cc1af11a | 603 | if (button4.falling()) { //BOTON 4: CAMBIADOR DE MODO |
Gregorio | 3:cc43cc1af11a | 604 | pw.period(Tfa); // aqui se indica la frecuencia para el sonido al pulsar el boton 1 |
Gregorio | 3:cc43cc1af11a | 605 | pw.pulsewidth(Pfa); |
Gregorio | 3:cc43cc1af11a | 606 | wait(0.1); |
Gregorio | 3:cc43cc1af11a | 607 | pw=0; |
Gregorio | 3:cc43cc1af11a | 608 | modo=0; |
Gregorio | 3:cc43cc1af11a | 609 | lcd.locate(0,0); |
Gregorio | 3:cc43cc1af11a | 610 | lcd.printf("Hora"); |
Gregorio | 3:cc43cc1af11a | 611 | } |
Gregorio | 3:cc43cc1af11a | 612 | } |
Gregorio | 3:cc43cc1af11a | 613 | } |
Gregorio | 3:cc43cc1af11a | 614 | } |
Gregorio | 3:cc43cc1af11a | 615 | |
leihen | 0:431183c5b136 | 616 | } |