Tarea Reloj Ds3231
Dependencies: mbed Debounced QEI ds3231 TextLCD Pulse1
main.cpp
- Committer:
- dsuranr15
- Date:
- 2019-08-30
- Revision:
- 0:6c5518885385
File content as of revision 0:6c5518885385:
//Programa para la activacion de 6 alarmas. #include "mbed.h" #include "TextLCD.h" #include "control.h" //libreria creada para el control #include "control1.h"//libreria control con una modificacion #include <Pulse1.h> // libreria pulsador #include "DebouncedIn.h" //libreria para encoder #include "QEI.h" //libreria para encoder #include "ds3231.h" //libreria reloj DigitalOut led1(LED1); DigitalOut led2(LED2); int p; int con=0; int m=0; int pos; int H=0; int s=0; int nu=0; int al=0; int m1=0; int y=0; int d=0; int ALM1[10]; int ALM2[10]; int ALM3[10]; int ALM4[10]; int ALM5[10]; int ALM6[10]; int ALM_1[4]; int ALM_2[4]; int ALM_3[4]; int ALM_4[4]; int ALM_5[4]; int ALM_6[4]; int FEC1[10]; int FEC2[10]; int FEC3[10]; int FEC4[10]; int FEC5[10]; int FEC6[10]; int FEC_1[8]; int FEC_2[8]; int FEC_3[8]; int FEC_4[8]; int FEC_5[8]; int FEC_6[8]; char alm_1[4]; char alm_2[4]; char alm_3[4]; char alm_4[4]; char alm_5[4]; char alm_6[4]; char fec_1[8]; char fec_2[8]; char fec_3[8]; char fec_4[8]; char fec_5[8]; char fec_6[8]; char buffer[32]; char buffer1[32]; char HORA[32]; char FECHA[32]; TextLCD LCD(PTB8,PTB9, PTB10, PTB11, PTE2, PTE3); //Pines LCD DebouncedIn button4(PTC12);// boton encoder Ds3231 rtc(D14, D15); //reloj QEI wheel (PTD7, PTD6, NC, 180); //encoder void hora() //funcion creada para leer la hora del reloj { time_t epoch_time; ds3231_cntl_stat_t rtc_control_status = {0,0}; rtc.set_cntl_stat_reg(rtc_control_status); epoch_time = rtc.get_epoch(); strftime(buffer, 32, "%H:%M:%S", localtime(&epoch_time)); // La hora se guarda en buffer y HORA para despues ser mostrada. strftime(HORA, 32, "%H%M", localtime(&epoch_time)); LCD.cls(); LCD.locate(4,0); LCD.printf("%s", buffer); strftime(buffer1, 32, "%a %Y-%m-%d", localtime(&epoch_time));// La fecha se guarda en buffer y FECHA para despues ser mostrada. strftime(FECHA, 32, "%Y%m%d", localtime(&epoch_time)); LCD.locate(1,1); LCD.printf("%s", buffer1); wait(1); } int main() { led1=0; // les iniciales de las alarmas led2=1; while(1) { hora(); // se toma la hora de la funcion. LCD.cls(); wheel.reset(); p=irda.read_high_us(4000); // se lee el irda if((strncmp(HORA,alm_1,4)==0) && (strncmp(FECHA,fec_1,4)==0)&&(y==0) ) { // si la alarma es igual en hora y fecha se activa LCD.cls(); LCD.printf("ALM_1_0N"); led2=0; wait(5); y=1; led2=1; } if((strncmp(HORA,alm_2,4)==0) && (strncmp(FECHA,fec_2,4)==0)&&(y==0)) { // si la alarma es igual en hora y fecha se activa LCD.cls(); LCD.printf("ALM_2_0N"); led2=0; wait(5); y=1; led2=1; } if((strncmp(HORA,alm_3,4)==0) && (strncmp(FECHA,fec_3,4)==0)&&(y==0)) {// si la alarma es igual en hora y fecha se activa LCD.cls(); LCD.printf("ALM_3_0N"); led2=0; wait(5); y=1; led2=1; } if((strncmp(HORA,alm_4,4)==0) && (strncmp(FECHA,fec_4,4)==0)&&(y==0)) {// si la alarma es igual en hora y fecha se activa LCD.cls(); LCD.printf("ALM_4_0FF"); led1=1; wait(5); y=1; led1=0; } if((strncmp(HORA,alm_5,4)==0) && (strncmp(FECHA,fec_5,4)==0)&&(y==0)) {// si la alarma es igual en hora y fecha se activa LCD.cls(); LCD.printf("ALM_5_0FF"); led1=1; wait(5); y=1; led1=0; } if((strncmp(HORA,alm_6,4)==0) && (strncmp(FECHA,fec_6,4)==0)&&(y==0)) {// si la alarma es igual en hora y fecha se activa LCD.cls(); LCD.printf("ALM_6_0FF"); led1=1; wait(5); y=1; led1=0; } /////////////////////////////////////////////////////////////////////////////// //ENCODER ////////////////////////////////////////////////////////////////////////////// // esta parte del codigo se utiliza para realizar la lectura inicial del enconder, una vez se presiona el boton entra en modo encoder. if(button4.falling()) { con++; while(con==1) { if(button4.falling()) { con++; wheel.reset(); } m=wheel.getPulses();// se lee la posicion del encoder if(m>3) { wheel.reset(); m=3; } if(m<0) { wheel.reset(); m=0; } LCD.cls(); LCD.locate(0,0); LCD.printf("1-H0RA"); LCD.locate(8,0); LCD.printf("2-FECHA"); LCD.locate(0,1); LCD.printf("3-ALARMA"); LCD.locate(13,1); LCD.printf("%i",m); wait(0.5); if(button4.falling()) { // al pulsar el encoder se entra en el siguiente menu pos=m; con++; } } con=0; } /////////////////////////////////////////////////////////////////////////////// //CONTROL ////////////////////////////////////////////////////////////////////////////// // Esta parte del codigo permite seleccionar el modo control. if(p!=-1) { // al inicio se declara un p= irda, cuando se oprime el boton por un tiempo se vuelve -1 y nos permite entrar en modo control fflush( stdin ); LCD.cls(); LCD.locate(0,0); LCD.printf("1-H0RA"); LCD.locate(8,0); LCD.printf("2-FECHA"); LCD.locate(0,1); LCD.printf("3-ALARMA"); wait(1); control(); if(num==1) { // se realiza una conversion de los datos enviados por el control pos=1; } else if(num==2) { pos=2; } else if (num==3) { pos=3; } p=-1; } /////////////////////////////////////////////////////////////////////////////// //CASOS MENU ////////////////////////////////////////////////////////////////////////////// nu=0; switch (pos) { case 1: // el caso 1 configura la hora, ya sea con control o con encoder LCD.cls(); LCD.printf("1-H0RA"); wait(2); ds3231_time_t rtc_time; //while(H==0) { LCD.cls(); LCD.printf("C0NFIGURACI0N H0RA"); wait(2); wheel.reset(); H=1; m=0; while(H==1) { //configuracion de hora //hasta que no se de ok con encoder o se de la hora con reloj no sale del ciclo LCD.cls(); LCD.printf("H0RA"); LCD.locate(13,0); LCD.printf("%i",m ); p=irda.read_high_us(4000); // leer el irda m=wheel.getPulses(); wait(0.5); if(button4.falling()) { wheel.reset(); H=H++; } if(p!=-1) { m=0; LCD.cls(); LCD.printf("M0D0 C0NTR0L"); wait(2); LCD.cls(); LCD.printf("H0RA"); m=control1(2); H++; } rtc_time.hours = m; } m=0; while(H==2) { //configuracion de minutos LCD.cls(); LCD.printf("MINUT0S"); LCD.locate(13,0); LCD.printf("%i",m ); p=irda.read_high_us(4000); m=wheel.getPulses(); wait(0.5); if(button4.falling()) {//configuracion de minutos con encoder wheel.reset(); H=H++; } if(p!=-1) { //configuracion de minutos con control m=0; LCD.cls(); LCD.printf("M0D0 C0NTR0L"); wait(2); LCD.cls(); LCD.printf("MINUTOS"); m=control1(2); H++; } rtc_time.minutes = m; // se graba en la memoria del reloj los minutos } m=0; while(H==3) { //configuracion de segundos LCD.cls(); LCD.printf("SEGUND0S"); LCD.locate(13,0); LCD.printf("%i",m ); p=irda.read_high_us(4000); m=wheel.getPulses(); wait(0.5); if(button4.falling()) { wheel.reset(); H=H++; } if(p!=-1) { // modo control m=0; LCD.cls(); LCD.printf("M0D0 C0NTR0L"); wait(2); LCD.cls(); LCD.printf("SEGUND0S"); m=control1(2); H++; //variable para avanzar al otro modo } rtc_time.seconds = m; // se graba en la memoria del reloj los segundos } //} rtc_time.mode = false; //formato 24 horas del reloj rtc.set_time(rtc_time); // se guarda la hora break; case 2: ds3231_calendar_t rtc_calendar; // variable para configurar el calendario LCD.cls(); LCD.printf("2-FECHA"); wait(2); //while(H==0) { LCD.cls(); LCD.printf("C0NFIGURACI0N FECHA"); wait(2); wheel.reset(); H=1; m=0; while(H==1) { // configuracion del dia de la semana LCD.cls(); LCD.printf("DIA 1-7"); LCD.locate(13,0); LCD.printf("%i",m ); p=irda.read_high_us(4000); m=wheel.getPulses(); // lectura del encoder wait(0.5); if(button4.falling()) { wheel.reset(); H=H++; } if(p!=-1) { // modo control m=0; LCD.cls(); LCD.printf("M0D0 C0NTR0L"); wait(2); LCD.cls(); LCD.printf("DIA 1-7"); m=control1(1); H++; wait(2); } rtc_calendar.day = m; // se guarda el dia en el reloj } m=0; wheel.reset(); while(H==2) { // configuracion del dia igual que en los casos anteriores, se define por control o por encoder LCD.cls(); LCD.printf("DIA"); LCD.locate(13,0); LCD.printf("%i",m ); p=irda.read_high_us(4000); m=wheel.getPulses(); wait(0.5); if(button4.falling()) { wheel.reset(); H=H++; } if(p!=-1) { // configuracion del dia por control m=0; LCD.cls(); LCD.printf("M0D0 C0NTR0L"); wait(2); LCD.cls(); LCD.printf("DIA"); m=control1(2); H++; wait(2); } rtc_calendar.date = m; // se guarda la variable dia } m=0; wheel.reset(); while(H==3) { // configuracion del dia igual que en los casos anteriores, se define por control o por encoder LCD.cls(); LCD.printf("MES"); LCD.locate(13,0); LCD.printf("%i",m ); p=irda.read_high_us(4000); m=wheel.getPulses(); wait(0.5); if(button4.falling()) { // modo encoder wheel.reset(); H=H++; } if(p!=-1) { // configuracion del dia por control m=0; LCD.cls(); LCD.printf("M0D0 C0NTR0L"); wait(2); LCD.cls(); LCD.printf("MES"); m=control1(2); H++; wait(2); } rtc_calendar.month = m; // se guarda la variable dia } m=0; wheel.reset(); while(H==4) { // se configura igual que el dia y el mes LCD.cls(); LCD.printf("YEAR"); LCD.locate(13,0); LCD.printf("%i",m ); m=wheel.getPulses(); // datos del encoder wait(0.5); if(button4.falling()) { wheel.reset(); H=H++; } p=irda.read_high_us(4000); if(p!=-1) { m=0; LCD.cls(); LCD.printf("M0D0 C0NTR0L"); wait(2); LCD.cls(); LCD.printf("YEAR"); m=control1(2); H++; wait(1); } rtc_calendar.year = m; // variable para guardar el año } //} //write calendar registers rtc.set_calendar(rtc_calendar); break; case 3: // casos de alarmas LCD.cls(); LCD.locate(0,0); LCD.printf(" 0N 1 2 3 "); LCD.locate(0,1); LCD.printf("0FF 4 5 6 "); m=0; LCD.locate(13,1); LCD.printf("%i",m); s=0; while(s!=1) { p=irda.read_high_us(4000); if(p!=-1) { // modo control fflush( stdin ); LCD.locate(16,0); LCD.printf("C"); wait(1); nu=control(); p=-1; s=1; } if(button4.falling()) { // modo encoder con++; wheel.reset(); while(con==1) { if(button4.falling()) { con++; } m=wheel.getPulses(); if(m>9) { m=9; } if(m<0) { m=1; } LCD.locate(13,1); LCD.printf("%i",m); wait(0.5); if(button4.falling()) { nu=m; con++; s=1; } } con=0; } } switch (nu) { case 1: // configuracion alarma 1 LCD.cls(); LCD.printf(" ALM 1"); al=0; con=0; wait(1); int x=0; while(x==0) { if(button4.falling()) { con++; while(con==1) { // entra al modo encoder if(button4.falling()) { con++; } m=wheel.getPulses(); LCD.cls(); LCD.locate(0,1); LCD.printf("M0D0 ENC0DER"); wait(2); int j=0; LCD.cls(); LCD.locate(0,1); LCD.printf("H0RA"); for(j=0; j<2; ++j) { //ciclo para crear el vector alarma, ALM1[2]=0; // como ALM es un entero en la posicion donde va a ir los : se pone un cero para que no ponga problema d=0; wheel.reset(); while(d==0) { num=wheel.getPulses(); if(num>9) { num=9; } if(num<0) { num=0; } ALM1[j]=num; // correspondiente al ciclo for se ubica el numero en la posicion LCD.locate(j,0); LCD.printf("%i",ALM1[j]); if(button4.falling()) { d=1; } } wait(1); } wheel.reset(); // borra los datos del encoder LCD.cls(); LCD.locate(0,1); LCD.printf("MIN"); for(j=3; j<5; ++j) { // en el mismo vector se configura los minutos, nuevamente el ciclo for es para recorrer el vector d=0; wheel.reset(); while(d==0) { num=wheel.getPulses(); if(num>9) { num=9; } if(num<0) { num=0; } ALM1[j]=num; // se recorre el vector LCD.locate(j-3,0); LCD.printf("%i",ALM1[j]); if(button4.falling()) { d=1; } } wait(1); } /////////////////////////////// j=0; LCD.cls(); LCD.locate(0,1); LCD.printf("YEAR"); for(j=0; j<4; ++j) {// se configura el vector FEC, primeramente va el año FEC1[4]=0; // estas dos posiciones es donde se van a poner "-" para no tener problemas despues se ponen en cero FEC1[7]=0; d=0; wheel.reset(); while(d==0) { num=wheel.getPulses(); if(num>9) { num=9; } if(num<0) { num=0; } FEC1[j]=num; LCD.locate(j,0); LCD.printf("%i",FEC1[j]); if(button4.falling()) { d=1; } } wait(1); } j=0; LCD.cls(); LCD.locate(0,1); LCD.printf("MES"); for(j=5; j<7; ++j) { // se configura de la misma manera que los dos anteriores //ALM1[2]=0; d=0; wheel.reset(); while(d==0) { num=wheel.getPulses(); if(num>9) { num=9; } if(num<0) { num=0; } FEC1[j]=num; LCD.locate(j-5,0); LCD.printf("%i",FEC1[j]); if(button4.falling()) { d=1; } } wait(1); } j=0; LCD.cls(); LCD.locate(0,1); LCD.printf("DIA"); for(j=8; j<10; ++j) {// se configura de la misma manera que los anteriores //ALM1[2]=0; d=0; wheel.reset(); while(d==0) { num=wheel.getPulses(); if(num>9) { num=9; } if(num<0) { num=0; } FEC1[j]=num; LCD.locate(j-8,0); LCD.printf("%i",FEC1[j]); if(button4.falling()) { d=1; } } wait(1); } ////////////////////////////////// LCD.cls(); LCD.locate(14,0); LCD.printf("A1"); for(j=0; j<5; ++j) { // con este ciclo se muestra en pantalla la hora configurada // LCD.locate(2,0); LCD.printf(":"); // el cero se dejo para poner en pantalla este simbolo LCD.locate(j,0); LCD.printf("%i",ALM1[j]); } for(j=0; j<10; ++j) { //con el ciclo for se imprime la fecha // LCD.locate(4,1); LCD.printf("-"); // los dos ceros se pusieron para poner este simbolo LCD.locate(7,1); LCD.printf("-"); LCD.locate(j,1); LCD.printf("%i",FEC1[j]); } wait(5); ALM_1[0]=ALM1[0]; // lo que se hace con esto es quitar el cero que se añadio ALM_1[1]=ALM1[1]; ALM_1[2]=ALM1[3]; ALM_1[3]=ALM1[4]; FEC_1[0]=FEC1[0]; // se quitan los dos ceros que se añadieron para mostrar FEC_1[1]=FEC1[1]; FEC_1[2]=FEC1[2]; FEC_1[3]=FEC1[3]; FEC_1[4]=FEC1[5]; FEC_1[5]=FEC1[6]; FEC_1[6]=FEC1[8]; FEC_1[7]=FEC1[9]; // para la comparacion de la hora con la alarma se hace con dos vectores tipo chart es por eso que // realizamos la transformacion de los vectores enteros a tipo char. sprintf(alm_1,"%d%d%d%d",ALM_1[0],ALM_1[1],ALM_1[2],ALM_1[3]); sprintf(fec_1,"%d%d%d%d%d%d%d%d",FEC_1[0],FEC_1[1],FEC_1[2],FEC_1[3],FEC_1[4],FEC_1[5],FEC_1[6],FEC_1[7]); x=1; wait(1); al=1; con=2; // variables para entrar en los while o salir de ellos } wait(1); } al=0; wait(1); p=irda.read_high_us(4000); if(p!=-1) { // este modo trabaja con el control, lo unico que cambia es la manera de obtener los datos, lo otro es lo mismo para las // 6 alarmas. while (al!=1) { LCD.cls(); LCD.locate(0,1); LCD.printf("M0D0 C0NTR0L"); wait(2); int j=0; LCD.cls(); LCD.locate(0,1); LCD.printf("H0RA"); for(j=0; j<2; ++j) { ALM1[2]=0; fflush( stdin ); //wait(1); control(); ALM1[j]=num; LCD.locate(j,0); LCD.printf("%i",ALM1[j]); wait(1); } LCD.cls(); LCD.locate(0,1); LCD.printf("MIN"); for(j=3; j<5; ++j) { fflush( stdin ); //wait(1); control(); ALM1[j]=num; LCD.locate(j-3,0); LCD.printf("%i",ALM1[j]); wait(1); } //////////////////////// j=0; LCD.cls(); LCD.locate(0,1); LCD.printf("YEAR"); for(j=0; j<4; ++j) { FEC1[4]=0; FEC1[7]=0; fflush( stdin ); //wait(1); control(); FEC1[j]=num; LCD.locate(j,0); LCD.printf("%i",FEC1[j]); wait(1); } j=0; LCD.cls(); LCD.locate(0,1); LCD.printf("MES"); for(j=5; j<7; ++j) { //ALM1[2]=0; fflush( stdin ); //wait(1); control(); FEC1[j]=num; LCD.locate(j-5,0); LCD.printf("%i",FEC1[j]); wait(1); } j=0; LCD.cls(); LCD.locate(0,1); LCD.printf("DIA"); for(j=8; j<10; ++j) { //ALM1[2]=0; fflush( stdin ); //wait(1); control(); FEC1[j]=num; LCD.locate(j-8,0); LCD.printf("%i",FEC1[j]); wait(1); } //////////////////////// LCD.cls(); LCD.locate(14,0); LCD.printf("A1"); for(j=0; j<5; ++j) { // LCD.locate(2,0); LCD.printf(":"); LCD.locate(j,0); LCD.printf("%i",ALM1[j]); } for(j=0; j<10; ++j) { // LCD.locate(4,1); LCD.printf("-"); LCD.locate(7,1); LCD.printf("-"); LCD.locate(j,1); LCD.printf("%i",FEC1[j]); } wait(5); ALM_1[0]=ALM1[0]; ALM_1[1]=ALM1[1]; ALM_1[2]=ALM1[3]; ALM_1[3]=ALM1[4]; FEC_1[0]=FEC1[0]; FEC_1[1]=FEC1[1]; FEC_1[2]=FEC1[2]; FEC_1[3]=FEC1[3]; FEC_1[4]=FEC1[5]; FEC_1[5]=FEC1[6]; FEC_1[6]=FEC1[8]; FEC_1[7]=FEC1[9]; sprintf(alm_1,"%d%d%d%d",ALM_1[0],ALM_1[1],ALM_1[2],ALM_1[3]); sprintf(fec_1,"%d%d%d%d%d%d%d%d",FEC_1[0],FEC_1[1],FEC_1[2],FEC_1[3],FEC_1[4],FEC_1[5],FEC_1[6],FEC_1[7]); x=1; wait(1); al=1; con=2; x=1; wait(1); al=1; p=-1; } wait(1); } } wait(1); nu=0; y=0; con=0; LCD.cls(); LCD.printf("ALM1 PR0GRAMADA"); wait(5); con=2; //todas las alarmas se configuran igual, solo cambia el nombre de los vectores. break; ///////////////////////////////////////////////////////////////////////////////7777 case 2: ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////// LCD.cls(); LCD.printf(" ALM 2"); al=0; con=0; wait(1); x=0; while(x==0) { if(button4.falling()) { con++; while(con==1) { if(button4.falling()) { con++; } m=wheel.getPulses(); LCD.cls(); LCD.locate(0,1); LCD.printf("M0D0 ENC0DER"); wait(2); int j=0; LCD.cls(); LCD.locate(0,1); LCD.printf("H0RA"); for(j=0; j<2; ++j) { ALM2[2]=0; d=0; wheel.reset(); while(d==0) { num=wheel.getPulses(); if(num>9) { num=9; } if(num<0) { num=0; } ALM2[j]=num; LCD.locate(j,0); LCD.printf("%i",ALM2[j]); if(button4.falling()) { d=1; } } wait(1); } wheel.reset(); LCD.cls(); LCD.locate(0,1); LCD.printf("MIN"); for(j=3; j<5; ++j) { d=0; wheel.reset(); while(d==0) { num=wheel.getPulses(); if(num>9) { num=9; } if(num<0) { num=0; } ALM2[j]=num; LCD.locate(j-3,0); LCD.printf("%i",ALM2[j]); if(button4.falling()) { d=1; } } wait(1); } /////////////////////////////// j=0; LCD.cls(); LCD.locate(0,1); LCD.printf("YEAR"); for(j=0; j<4; ++j) { FEC2[4]=0; FEC2[7]=0; d=0; wheel.reset(); while(d==0) { num=wheel.getPulses(); if(num>9) { num=9; } if(num<0) { num=0; } FEC2[j]=num; LCD.locate(j,0); LCD.printf("%i",FEC2[j]); if(button4.falling()) { d=1; } } wait(1); } j=0; LCD.cls(); LCD.locate(0,1); LCD.printf("MES"); for(j=5; j<7; ++j) { //ALM1[2]=0; d=0; wheel.reset(); while(d==0) { num=wheel.getPulses(); if(num>9) { num=9; } if(num<0) { num=0; } FEC2[j]=num; LCD.locate(j-5,0); LCD.printf("%i",FEC2[j]); if(button4.falling()) { d=1; } } wait(1); } j=0; LCD.cls(); LCD.locate(0,1); LCD.printf("DIA"); for(j=8; j<10; ++j) { //ALM1[2]=0; d=0; wheel.reset(); while(d==0) { num=wheel.getPulses(); if(num>9) { num=9; } if(num<0) { num=0; } FEC2[j]=num; LCD.locate(j-8,0); LCD.printf("%i",FEC2[j]); if(button4.falling()) { d=1; } } wait(1); } ////////////////////////////////// LCD.cls(); LCD.locate(14,0); LCD.printf("A2"); for(j=0; j<5; ++j) { // LCD.locate(2,0); LCD.printf(":"); LCD.locate(j,0); LCD.printf("%i",ALM2[j]); } for(j=0; j<10; ++j) { // LCD.locate(4,1); LCD.printf("-"); LCD.locate(7,1); LCD.printf("-"); LCD.locate(j,1); LCD.printf("%i",FEC2[j]); } wait(5); ALM_2[0]=ALM2[0]; ALM_2[1]=ALM2[1]; ALM_2[2]=ALM2[3]; ALM_2[3]=ALM2[4]; FEC_2[0]=FEC2[0]; FEC_2[1]=FEC2[1]; FEC_2[2]=FEC2[2]; FEC_2[3]=FEC2[3]; FEC_2[4]=FEC2[5]; FEC_2[5]=FEC2[6]; FEC_2[6]=FEC2[8]; FEC_2[7]=FEC2[9]; sprintf(alm_2,"%d%d%d%d",ALM_2[0],ALM_2[1],ALM_2[2],ALM_2[3]); sprintf(fec_2,"%d%d%d%d%d%d%d%d",FEC_2[0],FEC_2[1],FEC_2[2],FEC_2[3],FEC_2[4],FEC_2[5],FEC_2[6],FEC_2[7]); x=1; wait(1); al=1; con=2; } wait(1); } al=0; wait(1); p=irda.read_high_us(4000); if(p!=-1) { while (al!=1) { LCD.cls(); LCD.locate(0,1); LCD.printf("M0D0 C0NTR0L"); wait(2); int j=0; LCD.cls(); LCD.locate(0,1); LCD.printf("H0RA"); for(j=0; j<2; ++j) { ALM2[2]=0; fflush( stdin ); //wait(1); control(); ALM2[j]=num; LCD.locate(j,0); LCD.printf("%i",ALM2[j]); wait(1); } LCD.cls(); LCD.locate(0,1); LCD.printf("MIN"); for(j=3; j<5; ++j) { fflush( stdin ); //wait(1); control(); ALM2[j]=num; LCD.locate(j-3,0); LCD.printf("%i",ALM2[j]); wait(1); } //////////////////////// j=0; LCD.cls(); LCD.locate(0,1); LCD.printf("YEAR"); for(j=0; j<4; ++j) { FEC2[4]=0; FEC2[7]=0; fflush( stdin ); //wait(1); control(); FEC2[j]=num; LCD.locate(j,0); LCD.printf("%i",FEC2[j]); wait(1); } j=0; LCD.cls(); LCD.locate(0,1); LCD.printf("MES"); for(j=5; j<7; ++j) { //ALM1[2]=0; fflush( stdin ); //wait(1); control(); FEC2[j]=num; LCD.locate(j-5,0); LCD.printf("%i",FEC2[j]); wait(1); } j=0; LCD.cls(); LCD.locate(0,1); LCD.printf("DIA"); for(j=8; j<10; ++j) { //ALM1[2]=0; fflush( stdin ); //wait(1); control(); FEC2[j]=num; LCD.locate(j-8,0); LCD.printf("%i",FEC2[j]); wait(1); } //////////////////////// LCD.cls(); LCD.locate(14,0); LCD.printf("A2"); for(j=0; j<5; ++j) { // LCD.locate(2,0); LCD.printf(":"); LCD.locate(j,0); LCD.printf("%i",ALM2[j]); } for(j=0; j<10; ++j) { // LCD.locate(4,1); LCD.printf("-"); LCD.locate(7,1); LCD.printf("-"); LCD.locate(j,1); LCD.printf("%i",FEC2[j]); } wait(5); ALM_2[0]=ALM2[0]; ALM_2[1]=ALM2[1]; ALM_2[2]=ALM2[3]; ALM_2[3]=ALM2[4]; FEC_2[0]=FEC2[0]; FEC_2[1]=FEC2[1]; FEC_2[2]=FEC2[2]; FEC_2[3]=FEC2[3]; FEC_2[4]=FEC2[5]; FEC_2[5]=FEC2[6]; FEC_2[6]=FEC2[8]; FEC_2[7]=FEC2[9]; sprintf(alm_2,"%d%d%d%d",ALM_2[0],ALM_2[1],ALM_2[2],ALM_2[3]); sprintf(fec_2,"%d%d%d%d%d%d%d%d",FEC_2[0],FEC_2[1],FEC_2[2],FEC_2[3],FEC_2[4],FEC_2[5],FEC_2[6],FEC_2[7]); x=1; wait(1); al=1; con=2; x=1; wait(1); al=1; p=-1; } wait(1); } } wait(1); nu=0; y=0; con=0; LCD.cls(); LCD.printf("ALM2 PR0GRAMADA"); wait(5); con=2; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// break; case 3: ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////// LCD.cls(); LCD.printf(" ALM 3"); al=0; con=0; wait(1); x=0; while(x==0) { if(button4.falling()) { con++; while(con==1) { if(button4.falling()) { con++; } m=wheel.getPulses(); LCD.cls(); LCD.locate(0,1); LCD.printf("M0D0 ENC0DER"); wait(2); int j=0; LCD.cls(); LCD.locate(0,1); LCD.printf("H0RA"); for(j=0; j<2; ++j) { ALM3[2]=0; d=0; wheel.reset(); while(d==0) { num=wheel.getPulses(); if(num>9) { num=9; } if(num<0) { num=0; } ALM3[j]=num; LCD.locate(j,0); LCD.printf("%i",ALM3[j]); if(button4.falling()) { d=1; } } wait(1); } wheel.reset(); LCD.cls(); LCD.locate(0,1); LCD.printf("MIN"); for(j=3; j<5; ++j) { d=0; wheel.reset(); while(d==0) { num=wheel.getPulses(); if(num>9) { num=9; } if(num<0) { num=0; } ALM3[j]=num; LCD.locate(j-3,0); LCD.printf("%i",ALM3[j]); if(button4.falling()) { d=1; } } wait(1); } /////////////////////////////// j=0; LCD.cls(); LCD.locate(0,1); LCD.printf("YEAR"); for(j=0; j<4; ++j) { FEC3[4]=0; FEC3[7]=0; d=0; wheel.reset(); while(d==0) { num=wheel.getPulses(); if(num>9) { num=9; } if(num<0) { num=0; } FEC3[j]=num; LCD.locate(j,0); LCD.printf("%i",FEC3[j]); if(button4.falling()) { d=1; } } wait(1); } j=0; LCD.cls(); LCD.locate(0,1); LCD.printf("MES"); for(j=5; j<7; ++j) { //ALM1[2]=0; d=0; wheel.reset(); while(d==0) { num=wheel.getPulses(); if(num>9) { num=9; } if(num<0) { num=0; } FEC3[j]=num; LCD.locate(j-5,0); LCD.printf("%i",FEC3[j]); if(button4.falling()) { d=1; } } wait(1); } j=0; LCD.cls(); LCD.locate(0,1); LCD.printf("DIA"); for(j=8; j<10; ++j) { //ALM1[2]=0; d=0; wheel.reset(); while(d==0) { num=wheel.getPulses(); if(num>9) { num=9; } if(num<0) { num=0; } FEC3[j]=num; LCD.locate(j-8,0); LCD.printf("%i",FEC3[j]); if(button4.falling()) { d=1; } } wait(1); } ////////////////////////////////// LCD.cls(); LCD.locate(14,0); LCD.printf("A3"); for(j=0; j<5; ++j) { // LCD.locate(2,0); LCD.printf(":"); LCD.locate(j,0); LCD.printf("%i",ALM3[j]); } for(j=0; j<10; ++j) { // LCD.locate(4,1); LCD.printf("-"); LCD.locate(7,1); LCD.printf("-"); LCD.locate(j,1); LCD.printf("%i",FEC3[j]); } wait(5); ALM_3[0]=ALM3[0]; ALM_3[1]=ALM3[1]; ALM_3[2]=ALM3[3]; ALM_3[3]=ALM3[4]; FEC_3[0]=FEC3[0]; FEC_3[1]=FEC3[1]; FEC_3[2]=FEC3[2]; FEC_3[3]=FEC3[3]; FEC_3[4]=FEC3[5]; FEC_3[5]=FEC3[6]; FEC_3[6]=FEC3[8]; FEC_3[7]=FEC3[9]; sprintf(alm_3,"%d%d%d%d",ALM_3[0],ALM_3[1],ALM_3[2],ALM_3[3]); sprintf(fec_3,"%d%d%d%d%d%d%d%d",FEC_3[0],FEC_3[1],FEC_3[2],FEC_3[3],FEC_3[4],FEC_3[5],FEC_3[6],FEC_3[7]); x=1; wait(1); al=1; con=2; } wait(1); } al=0; wait(1); p=irda.read_high_us(4000); if(p!=-1) { while (al!=1) { LCD.cls(); LCD.locate(0,1); LCD.printf("M0D0 C0NTR0L"); wait(2); int j=0; LCD.cls(); LCD.locate(0,1); LCD.printf("H0RA"); for(j=0; j<2; ++j) { ALM3[2]=0; fflush( stdin ); //wait(1); control(); ALM3[j]=num; LCD.locate(j,0); LCD.printf("%i",ALM3[j]); wait(1); } LCD.cls(); LCD.locate(0,1); LCD.printf("MIN"); for(j=3; j<5; ++j) { fflush( stdin ); //wait(1); control(); ALM3[j]=num; LCD.locate(j-3,0); LCD.printf("%i",ALM3[j]); wait(1); } //////////////////////// j=0; LCD.cls(); LCD.locate(0,1); LCD.printf("YEAR"); for(j=0; j<4; ++j) { FEC3[4]=0; FEC3[7]=0; fflush( stdin ); //wait(1); control(); FEC3[j]=num; LCD.locate(j,0); LCD.printf("%i",FEC3[j]); wait(1); } j=0; LCD.cls(); LCD.locate(0,1); LCD.printf("MES"); for(j=5; j<7; ++j) { //ALM1[2]=0; fflush( stdin ); //wait(1); control(); FEC3[j]=num; LCD.locate(j-5,0); LCD.printf("%i",FEC3[j]); wait(1); } j=0; LCD.cls(); LCD.locate(0,1); LCD.printf("DIA"); for(j=8; j<10; ++j) { //ALM1[2]=0; fflush( stdin ); //wait(1); control(); FEC3[j]=num; LCD.locate(j-8,0); LCD.printf("%i",FEC3[j]); wait(1); } //////////////////////// LCD.cls(); LCD.locate(14,0); LCD.printf("A3"); for(j=0; j<5; ++j) { // LCD.locate(2,0); LCD.printf(":"); LCD.locate(j,0); LCD.printf("%i",ALM3[j]); } for(j=0; j<10; ++j) { // LCD.locate(4,1); LCD.printf("-"); LCD.locate(7,1); LCD.printf("-"); LCD.locate(j,1); LCD.printf("%i",FEC3[j]); } wait(5); ALM_3[0]=ALM3[0]; ALM_3[1]=ALM3[1]; ALM_3[2]=ALM3[3]; ALM_3[3]=ALM3[4]; FEC_3[0]=FEC3[0]; FEC_3[1]=FEC3[1]; FEC_3[2]=FEC3[2]; FEC_3[3]=FEC3[3]; FEC_3[4]=FEC3[5]; FEC_3[5]=FEC3[6]; FEC_3[6]=FEC3[8]; FEC_3[7]=FEC3[9]; sprintf(alm_3,"%d%d%d%d",ALM_3[0],ALM_3[1],ALM_3[2],ALM_3[3]); sprintf(fec_3,"%d%d%d%d%d%d%d%d",FEC_3[0],FEC_3[1],FEC_3[2],FEC_3[3],FEC_3[4],FEC_3[5],FEC_3[6],FEC_3[7]); x=1; wait(1); al=1; con=2; x=1; wait(1); al=1; p=-1; } wait(1); } } wait(1); nu=0; y=0; con=0; LCD.cls(); LCD.printf("ALM3 PR0GRAMADA"); wait(5); con=2; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// break; case 4: ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////// LCD.cls(); LCD.printf(" ALM 4"); al=0; con=0; wait(1); x=0; while(x==0) { if(button4.falling()) { con++; while(con==1) { if(button4.falling()) { con++; } m=wheel.getPulses(); LCD.cls(); LCD.locate(0,1); LCD.printf("M0D0 ENC0DER"); wait(2); int j=0; LCD.cls(); LCD.locate(0,1); LCD.printf("H0RA"); for(j=0; j<2; ++j) { ALM4[2]=0; d=0; wheel.reset(); while(d==0) { num=wheel.getPulses(); if(num>9) { num=9; } if(num<0) { num=0; } ALM4[j]=num; LCD.locate(j,0); LCD.printf("%i",ALM4[j]); if(button4.falling()) { d=1; } } wait(1); } wheel.reset(); LCD.cls(); LCD.locate(0,1); LCD.printf("MIN"); for(j=3; j<5; ++j) { d=0; wheel.reset(); while(d==0) { num=wheel.getPulses(); if(num>9) { num=9; } if(num<0) { num=0; } ALM4[j]=num; LCD.locate(j-3,0); LCD.printf("%i",ALM4[j]); if(button4.falling()) { d=1; } } wait(1); } /////////////////////////////// j=0; LCD.cls(); LCD.locate(0,1); LCD.printf("YEAR"); for(j=0; j<4; ++j) { FEC4[4]=0; FEC4[7]=0; d=0; wheel.reset(); while(d==0) { num=wheel.getPulses(); if(num>9) { num=9; } if(num<0) { num=0; } FEC4[j]=num; LCD.locate(j,0); LCD.printf("%i",FEC4[j]); if(button4.falling()) { d=1; } } wait(1); } j=0; LCD.cls(); LCD.locate(0,1); LCD.printf("MES"); for(j=5; j<7; ++j) { //ALM1[2]=0; d=0; wheel.reset(); while(d==0) { num=wheel.getPulses(); if(num>9) { num=9; } if(num<0) { num=0; } FEC4[j]=num; LCD.locate(j-5,0); LCD.printf("%i",FEC4[j]); if(button4.falling()) { d=1; } } wait(1); } j=0; LCD.cls(); LCD.locate(0,1); LCD.printf("DIA"); for(j=8; j<10; ++j) { //ALM1[2]=0; d=0; wheel.reset(); while(d==0) { num=wheel.getPulses(); if(num>9) { num=9; } if(num<0) { num=0; } FEC4[j]=num; LCD.locate(j-8,0); LCD.printf("%i",FEC4[j]); if(button4.falling()) { d=1; } } wait(1); } ////////////////////////////////// LCD.cls(); LCD.locate(14,0); LCD.printf("A4"); for(j=0; j<5; ++j) { // LCD.locate(2,0); LCD.printf(":"); LCD.locate(j,0); LCD.printf("%i",ALM4[j]); } for(j=0; j<10; ++j) { // LCD.locate(4,1); LCD.printf("-"); LCD.locate(7,1); LCD.printf("-"); LCD.locate(j,1); LCD.printf("%i",FEC4[j]); } wait(5); ALM_4[0]=ALM4[0]; ALM_4[1]=ALM4[1]; ALM_4[2]=ALM4[3]; ALM_4[3]=ALM4[4]; FEC_4[0]=FEC4[0]; FEC_4[1]=FEC4[1]; FEC_4[2]=FEC4[2]; FEC_4[3]=FEC4[3]; FEC_4[4]=FEC4[5]; FEC_4[5]=FEC4[6]; FEC_4[6]=FEC4[8]; FEC_4[7]=FEC4[9]; sprintf(alm_4,"%d%d%d%d",ALM_4[0],ALM_4[1],ALM_4[2],ALM_4[3]); sprintf(fec_4,"%d%d%d%d%d%d%d%d",FEC_4[0],FEC_4[1],FEC_4[2],FEC_4[3],FEC_4[4],FEC_4[5],FEC_4[6],FEC_4[7]); x=1; wait(1); al=1; con=2; } wait(1); } al=0; wait(1); p=irda.read_high_us(4000); if(p!=-1) { while (al!=1) { LCD.cls(); LCD.locate(0,1); LCD.printf("M0D0 C0NTR0L"); wait(2); int j=0; LCD.cls(); LCD.locate(0,1); LCD.printf("H0RA"); for(j=0; j<2; ++j) { ALM4[2]=0; fflush( stdin ); //wait(1); control(); ALM4[j]=num; LCD.locate(j,0); LCD.printf("%i",ALM4[j]); wait(1); } LCD.cls(); LCD.locate(0,1); LCD.printf("MIN"); for(j=3; j<5; ++j) { fflush( stdin ); //wait(1); control(); ALM4[j]=num; LCD.locate(j-3,0); LCD.printf("%i",ALM4[j]); wait(1); } //////////////////////// j=0; LCD.cls(); LCD.locate(0,1); LCD.printf("YEAR"); for(j=0; j<4; ++j) { FEC4[4]=0; FEC4[7]=0; fflush( stdin ); //wait(1); control(); FEC4[j]=num; LCD.locate(j,0); LCD.printf("%i",FEC4[j]); wait(1); } j=0; LCD.cls(); LCD.locate(0,1); LCD.printf("MES"); for(j=5; j<7; ++j) { //ALM1[2]=0; fflush( stdin ); //wait(1); control(); FEC4[j]=num; LCD.locate(j-5,0); LCD.printf("%i",FEC4[j]); wait(1); } j=0; LCD.cls(); LCD.locate(0,1); LCD.printf("DIA"); for(j=8; j<10; ++j) { //ALM1[2]=0; fflush( stdin ); //wait(1); control(); FEC4[j]=num; LCD.locate(j-8,0); LCD.printf("%i",FEC4[j]); wait(1); } //////////////////////// LCD.cls(); LCD.locate(14,0); LCD.printf("A4"); for(j=0; j<5; ++j) { // LCD.locate(2,0); LCD.printf(":"); LCD.locate(j,0); LCD.printf("%i",ALM4[j]); } for(j=0; j<10; ++j) { // LCD.locate(4,1); LCD.printf("-"); LCD.locate(7,1); LCD.printf("-"); LCD.locate(j,1); LCD.printf("%i",FEC4[j]); } wait(5); ALM_4[0]=ALM4[0]; ALM_4[1]=ALM4[1]; ALM_4[2]=ALM4[3]; ALM_4[3]=ALM4[4]; FEC_4[0]=FEC4[0]; FEC_4[1]=FEC4[1]; FEC_4[2]=FEC4[2]; FEC_4[3]=FEC4[3]; FEC_4[4]=FEC4[5]; FEC_4[5]=FEC4[6]; FEC_4[6]=FEC4[8]; FEC_4[7]=FEC4[9]; sprintf(alm_4,"%d%d%d%d",ALM_4[0],ALM_4[1],ALM_4[2],ALM_4[3]); sprintf(fec_4,"%d%d%d%d%d%d%d%d",FEC_4[0],FEC_4[1],FEC_4[2],FEC_4[3],FEC_4[4],FEC_4[5],FEC_4[6],FEC_4[7]); x=1; wait(1); al=1; con=2; x=1; wait(1); al=1; p=-1; } wait(1); } } wait(1); nu=0; y=0; con=0; LCD.cls(); LCD.printf("ALM4 PR0GRAMADA"); wait(5); con=2; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// break; case 5: LCD.cls(); LCD.printf(" ALM 5"); al=0; con=0; wait(1); x=0; while(x==0) { if(button4.falling()) { con++; while(con==1) { if(button4.falling()) { con++; } m=wheel.getPulses(); LCD.cls(); LCD.locate(0,1); LCD.printf("M0D0 ENC0DER"); wait(2); int j=0; LCD.cls(); LCD.locate(0,1); LCD.printf("H0RA"); for(j=0; j<2; ++j) { ALM5[2]=0; d=0; wheel.reset(); while(d==0) { num=wheel.getPulses(); if(num>9) { num=9; } if(num<0) { num=0; } ALM5[j]=num; LCD.locate(j,0); LCD.printf("%i",ALM5[j]); if(button4.falling()) { d=1; } } wait(1); } wheel.reset(); LCD.cls(); LCD.locate(0,1); LCD.printf("MIN"); for(j=3; j<5; ++j) { d=0; wheel.reset(); while(d==0) { num=wheel.getPulses(); if(num>9) { num=9; } if(num<0) { num=0; } ALM5[j]=num; LCD.locate(j-3,0); LCD.printf("%i",ALM5[j]); if(button4.falling()) { d=1; } } wait(1); } /////////////////////////////// j=0; LCD.cls(); LCD.locate(0,1); LCD.printf("YEAR"); for(j=0; j<4; ++j) { FEC5[4]=0; FEC5[7]=0; d=0; wheel.reset(); while(d==0) { num=wheel.getPulses(); if(num>9) { num=9; } if(num<0) { num=0; } FEC5[j]=num; LCD.locate(j,0); LCD.printf("%i",FEC5[j]); if(button4.falling()) { d=1; } } wait(1); } j=0; LCD.cls(); LCD.locate(0,1); LCD.printf("MES"); for(j=5; j<7; ++j) { //ALM1[2]=0; d=0; wheel.reset(); while(d==0) { num=wheel.getPulses(); if(num>9) { num=9; } if(num<0) { num=0; } FEC5[j]=num; LCD.locate(j-5,0); LCD.printf("%i",FEC5[j]); if(button4.falling()) { d=1; } } wait(1); } j=0; LCD.cls(); LCD.locate(0,1); LCD.printf("DIA"); for(j=8; j<10; ++j) { //ALM1[2]=0; d=0; wheel.reset(); while(d==0) { num=wheel.getPulses(); if(num>9) { num=9; } if(num<0) { num=0; } FEC5[j]=num; LCD.locate(j-8,0); LCD.printf("%i",FEC5[j]); if(button4.falling()) { d=1; } } wait(1); } ////////////////////////////////// LCD.cls(); LCD.locate(14,0); LCD.printf("A5"); for(j=0; j<5; ++j) { // LCD.locate(2,0); LCD.printf(":"); LCD.locate(j,0); LCD.printf("%i",ALM5[j]); } for(j=0; j<10; ++j) { // LCD.locate(4,1); LCD.printf("-"); LCD.locate(7,1); LCD.printf("-"); LCD.locate(j,1); LCD.printf("%i",FEC5[j]); } wait(5); ALM_5[0]=ALM5[0]; ALM_5[1]=ALM5[1]; ALM_5[2]=ALM5[3]; ALM_5[3]=ALM5[4]; FEC_5[0]=FEC5[0]; FEC_5[1]=FEC5[1]; FEC_5[2]=FEC5[2]; FEC_5[3]=FEC5[3]; FEC_5[4]=FEC5[5]; FEC_5[5]=FEC5[6]; FEC_5[6]=FEC5[8]; FEC_5[7]=FEC5[9]; sprintf(alm_5,"%d%d%d%d",ALM_5[0],ALM_5[1],ALM_5[2],ALM_5[3]); sprintf(fec_5,"%d%d%d%d%d%d%d%d",FEC_5[0],FEC_5[1],FEC_5[2],FEC_5[3],FEC_5[4],FEC_5[5],FEC_5[6],FEC_5[7]); x=1; wait(1); al=1; con=2; } wait(1); } al=0; wait(1); p=irda.read_high_us(4000); if(p!=-1) { while (al!=1) { LCD.cls(); LCD.locate(0,1); LCD.printf("M0D0 C0NTR0L"); wait(2); int j=0; LCD.cls(); LCD.locate(0,1); LCD.printf("H0RA"); for(j=0; j<2; ++j) { ALM5[2]=0; fflush( stdin ); //wait(1); control(); ALM5[j]=num; LCD.locate(j,0); LCD.printf("%i",ALM5[j]); wait(1); } LCD.cls(); LCD.locate(0,1); LCD.printf("MIN"); for(j=3; j<5; ++j) { fflush( stdin ); //wait(1); control(); ALM5[j]=num; LCD.locate(j-3,0); LCD.printf("%i",ALM5[j]); wait(1); } //////////////////////// j=0; LCD.cls(); LCD.locate(0,1); LCD.printf("YEAR"); for(j=0; j<4; ++j) { FEC5[4]=0; FEC5[7]=0; fflush( stdin ); //wait(1); control(); FEC5[j]=num; LCD.locate(j,0); LCD.printf("%i",FEC5[j]); wait(1); } j=0; LCD.cls(); LCD.locate(0,1); LCD.printf("MES"); for(j=5; j<7; ++j) { //ALM1[2]=0; fflush( stdin ); //wait(1); control(); FEC5[j]=num; LCD.locate(j-5,0); LCD.printf("%i",FEC5[j]); wait(1); } j=0; LCD.cls(); LCD.locate(0,1); LCD.printf("DIA"); for(j=8; j<10; ++j) { //ALM1[2]=0; fflush( stdin ); //wait(1); control(); FEC5[j]=num; LCD.locate(j-8,0); LCD.printf("%i",FEC5[j]); wait(1); } //////////////////////// LCD.cls(); LCD.locate(14,0); LCD.printf("A5"); for(j=0; j<5; ++j) { // LCD.locate(2,0); LCD.printf(":"); LCD.locate(j,0); LCD.printf("%i",ALM5[j]); } for(j=0; j<10; ++j) { // LCD.locate(4,1); LCD.printf("-"); LCD.locate(7,1); LCD.printf("-"); LCD.locate(j,1); LCD.printf("%i",FEC5[j]); } wait(5); ALM_5[0]=ALM5[0]; ALM_5[1]=ALM5[1]; ALM_5[2]=ALM5[3]; ALM_5[3]=ALM5[4]; FEC_5[0]=FEC5[0]; FEC_5[1]=FEC5[1]; FEC_5[2]=FEC5[2]; FEC_5[3]=FEC5[3]; FEC_5[4]=FEC5[5]; FEC_5[5]=FEC5[6]; FEC_5[6]=FEC5[8]; FEC_5[7]=FEC5[9]; sprintf(alm_5,"%d%d%d%d",ALM_5[0],ALM_5[1],ALM_5[2],ALM_5[3]); sprintf(fec_5,"%d%d%d%d%d%d%d%d",FEC_5[0],FEC_5[1],FEC_5[2],FEC_5[3],FEC_5[4],FEC_5[5],FEC_5[6],FEC_5[7]); x=1; wait(1); al=1; con=2; x=1; wait(1); al=1; p=-1; } wait(1); } } wait(1); nu=0; y=0; con=0; LCD.cls(); LCD.printf("ALM5 PR0GRAMADA"); wait(5); con=2; break; case 6: LCD.cls(); LCD.printf(" ALM 6"); al=0; con=0; wait(1); x=0; while(x==0) { if(button4.falling()) { con++; while(con==1) { if(button4.falling()) { con++; } m=wheel.getPulses(); LCD.cls(); LCD.locate(0,1); LCD.printf("M0D0 ENC0DER"); wait(2); int j=0; LCD.cls(); LCD.locate(0,1); LCD.printf("H0RA"); for(j=0; j<2; ++j) { ALM6[2]=0; d=0; wheel.reset(); while(d==0) { num=wheel.getPulses(); if(num>9) { num=9; } if(num<0) { num=0; } ALM6[j]=num; LCD.locate(j,0); LCD.printf("%i",ALM6[j]); if(button4.falling()) { d=1; } } wait(1); } wheel.reset(); LCD.cls(); LCD.locate(0,1); LCD.printf("MIN"); for(j=3; j<5; ++j) { d=0; wheel.reset(); while(d==0) { num=wheel.getPulses(); if(num>9) { num=9; } if(num<0) { num=0; } ALM6[j]=num; LCD.locate(j-3,0); LCD.printf("%i",ALM6[j]); if(button4.falling()) { d=1; } } wait(1); } /////////////////////////////// j=0; LCD.cls(); LCD.locate(0,1); LCD.printf("YEAR"); for(j=0; j<4; ++j) { FEC6[4]=0; FEC6[7]=0; d=0; wheel.reset(); while(d==0) { num=wheel.getPulses(); if(num>9) { num=9; } if(num<0) { num=0; } FEC6[j]=num; LCD.locate(j,0); LCD.printf("%i",FEC6[j]); if(button4.falling()) { d=1; } } wait(1); } j=0; LCD.cls(); LCD.locate(0,1); LCD.printf("MES"); for(j=5; j<7; ++j) { //ALM1[2]=0; d=0; wheel.reset(); while(d==0) { num=wheel.getPulses(); if(num>9) { num=9; } if(num<0) { num=0; } FEC6[j]=num; LCD.locate(j-5,0); LCD.printf("%i",FEC6[j]); if(button4.falling()) { d=1; } } wait(1); } j=0; LCD.cls(); LCD.locate(0,1); LCD.printf("DIA"); for(j=8; j<10; ++j) { //ALM1[2]=0; d=0; wheel.reset(); while(d==0) { num=wheel.getPulses(); if(num>9) { num=9; } if(num<0) { num=0; } FEC6[j]=num; LCD.locate(j-8,0); LCD.printf("%i",FEC6[j]); if(button4.falling()) { d=1; } } wait(1); } ////////////////////////////////// LCD.cls(); LCD.locate(14,0); LCD.printf("A6"); for(j=0; j<5; ++j) { // LCD.locate(2,0); LCD.printf(":"); LCD.locate(j,0); LCD.printf("%i",ALM6[j]); } for(j=0; j<10; ++j) { // LCD.locate(4,1); LCD.printf("-"); LCD.locate(7,1); LCD.printf("-"); LCD.locate(j,1); LCD.printf("%i",FEC6[j]); } wait(5); // como se dijo anteriormente solo cambian las variables ALM_6[0]=ALM6[0]; ALM_6[1]=ALM6[1]; ALM_6[2]=ALM6[3]; ALM_6[3]=ALM6[4]; FEC_6[0]=FEC6[0]; FEC_6[1]=FEC6[1]; FEC_6[2]=FEC6[2]; FEC_6[3]=FEC6[3]; FEC_6[4]=FEC6[5]; FEC_6[5]=FEC6[6]; FEC_6[6]=FEC6[8]; FEC_6[7]=FEC6[9]; sprintf(alm_6,"%d%d%d%d",ALM_6[0],ALM_6[1],ALM_6[2],ALM_6[3]); sprintf(fec_6,"%d%d%d%d%d%d%d%d",FEC_6[0],FEC_6[1],FEC_6[2],FEC_6[3],FEC_6[4],FEC_6[5],FEC_6[6],FEC_6[7]); x=1; wait(1); al=1; con=2; } wait(1); } al=0; wait(1); p=irda.read_high_us(4000); if(p!=-1) { while (al!=1) { LCD.cls(); LCD.locate(0,1); LCD.printf("M0D0 C0NTR0L"); wait(2); int j=0; LCD.cls(); LCD.locate(0,1); LCD.printf("H0RA"); for(j=0; j<2; ++j) { ALM6[2]=0; fflush( stdin ); //wait(1); control(); ALM6[j]=num; LCD.locate(j,0); LCD.printf("%i",ALM6[j]); wait(1); } LCD.cls(); LCD.locate(0,1); LCD.printf("MIN"); for(j=3; j<5; ++j) { fflush( stdin ); //wait(1); control(); ALM6[j]=num; LCD.locate(j-3,0); LCD.printf("%i",ALM6[j]); wait(1); } //////////////////////// j=0; LCD.cls(); LCD.locate(0,1); LCD.printf("YEAR"); for(j=0; j<4; ++j) { FEC6[4]=0; FEC6[7]=0; fflush( stdin ); //wait(1); control(); FEC6[j]=num; LCD.locate(j,0); LCD.printf("%i",FEC6[j]); wait(1); } j=0; LCD.cls(); LCD.locate(0,1); LCD.printf("MES"); for(j=5; j<7; ++j) { //ALM1[2]=0; fflush( stdin ); //wait(1); control(); FEC6[j]=num; LCD.locate(j-5,0); LCD.printf("%i",FEC6[j]); wait(1); } j=0; LCD.cls(); LCD.locate(0,1); LCD.printf("DIA"); for(j=8; j<10; ++j) { //ALM1[2]=0; fflush( stdin ); //wait(1); control(); FEC6[j]=num; LCD.locate(j-8,0); LCD.printf("%i",FEC6[j]); wait(1); } //////////////////////// LCD.cls(); LCD.locate(14,0); LCD.printf("A6"); for(j=0; j<5; ++j) { // LCD.locate(2,0); LCD.printf(":"); LCD.locate(j,0); LCD.printf("%i",ALM6[j]); } for(j=0; j<10; ++j) { // LCD.locate(4,1); LCD.printf("-"); LCD.locate(7,1); LCD.printf("-"); LCD.locate(j,1); LCD.printf("%i",FEC6[j]); } wait(5); ALM_6[0]=ALM6[0]; ALM_6[1]=ALM6[1]; ALM_6[2]=ALM6[3]; ALM_6[3]=ALM6[4]; FEC_6[0]=FEC6[0]; FEC_6[1]=FEC6[1]; FEC_6[2]=FEC6[2]; FEC_6[3]=FEC6[3]; FEC_6[4]=FEC6[5]; FEC_6[5]=FEC6[6]; FEC_6[6]=FEC6[8]; FEC_6[7]=FEC6[9]; sprintf(alm_6,"%d%d%d%d",ALM_6[0],ALM_6[1],ALM_6[2],ALM_6[3]); sprintf(fec_6,"%d%d%d%d%d%d%d%d",FEC_6[0],FEC_6[1],FEC_6[2],FEC_6[3],FEC_6[4],FEC_6[5],FEC_6[6],FEC_6[7]); x=1; wait(1); al=1; con=2; x=1; wait(1); al=1; p=-1; } wait(1); } } wait(1); nu=0; y=0; con=0; LCD.cls(); LCD.printf("ALM6 PR0GRAMADA"); wait(5); con=2; break; } break; // todas las anteriores alarmas fueron programadas de la misma manera que la 1, solo se cambiaron las variables dependiendo de que alarma estaba. } //del switch pos=0;// variable de control } }