reloj de tiempo real con alarma aplazable
Dependencies: Debounced RTC-DS1307 TextLCD mbed
Fork of Rtc_Ds1307_Sample by
Revision 4:242b6afb651e, committed 2014-05-08
- Comitter:
- walterg
- Date:
- Thu May 08 05:08:26 2014 +0000
- Parent:
- 3:cc43cc1af11a
- Commit message:
- reloj con alarma y retraso
Changed in this revision
main.cpp | Show annotated file Show diff for this revision Revisions of this file |
diff -r cc43cc1af11a -r 242b6afb651e main.cpp --- a/main.cpp Fri May 02 18:19:57 2014 +0000 +++ b/main.cpp Thu May 08 05:08:26 2014 +0000 @@ -4,7 +4,7 @@ #include "DebouncedIn.h" Rtc_Ds1307 rtc(PTE0, PTE1); -TextLCD lcd(PTB10, PTB11, PTE2, PTE3, PTE4, PTE5); +TextLCD lcd(PTB10, PTB11, PTE2, PTE3, PTE4, PTE5);// rs, e, d4-d7 Serial pc(USBTX, USBRX, "pc"); DebouncedIn button1(PTC12); //Incremental DebouncedIn button2(PTC13); //Decremental @@ -28,7 +28,7 @@ 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. //*************************************** //Definicion de variables para la configuración de alarma -int houral=0,minal=0,secal=0,dateal=1,monal=1,yearal=2014; +int houral=2,minal=4,secal=0,dateal=8,monal=5,yearal=2014; Timer t; // se define la variable t, contabilizadora del tiempo desde el inicio de la alarma //************************************* int main(){ @@ -50,7 +50,9 @@ lcd.printf("Fech:%02d/%02d/%04d", tm.date, tm.mon, tm.year); //Verificación de hora alarma if (tm.hour==houral && tm.min==minal && tm.sec==secal && tm.date==dateal && tm.mon==monal && tm.year==yearal) { - while(button1.falling() != 1) { + + while( button2==1) { // si el boton 2 se deja presionado sale del while lo que implica que apaga la alarma + pw.period(Tdo); // aqui se indica la frecuencia para el sonido al pulsar el boton 1 pw.pulsewidth(Pdo); wait(0.5); @@ -66,32 +68,17 @@ pw.period(Tfa); // aqui se indica la frecuencia para el sonido al pulsar el boton 1 pw.pulsewidth(Pfa); wait(0.5); + pw=0; + if(button1.falling() ==1) { // si dentro del while se produce una interrupción en el boton 1 retrasa la alarma 1 min + minal=minal+1; pw=0; + } } - t.start();//comienza a contar el tiempo despues de apagar la alarma, para reiniciarla a los 30 seg - if(t>=30){ - t.stop(); - while(button1.falling() != 1) { - pw.period(Tdo); // aqui se indica la frecuencia para el sonido al pulsar el boton 1 - pw.pulsewidth(Pdo); - wait(0.5); - pw=0; - pw.period(Tre); // aqui se indica la frecuencia para el sonido al pulsar el boton 1 - pw.pulsewidth(Pre); - wait(0.5); - pw=0; - pw.period(Tmi); // aqui se indica la frecuencia para el sonido al pulsar el boton 1 - pw.pulsewidth(Pmi); - wait(0.5); - pw=0; - pw.period(Tfa); // aqui se indica la frecuencia para el sonido al pulsar el boton 1 - pw.pulsewidth(Pfa); - wait(0.5); - pw=0; - } - } - } - + + + } + + if (button4.falling()) { pw.period(Tfa); // aqui se indica la frecuencia para el sonido al pulsar el boton 1 pw.pulsewidth(Pfa);