alarma configurable y se prende y apaga con control remoto
Dependencies: Debounced Pulse1 QEI RTC-DS1307 TextLCD mbed
Revision 0:31bb391d0545, committed 2018-06-01
- Comitter:
- slorm
- Date:
- Fri Jun 01 20:55:03 2018 +0000
- Commit message:
- alarma con control remoto
Changed in this revision
diff -r 000000000000 -r 31bb391d0545 Debounced.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Debounced.lib Fri Jun 01 20:55:03 2018 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/WarwickRacing/code/Debounced/#8992c13bbb9b
diff -r 000000000000 -r 31bb391d0545 Pulse1.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Pulse1.lib Fri Jun 01 20:55:03 2018 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/tony63/code/Pulse1/#48651f86a80c
diff -r 000000000000 -r 31bb391d0545 QEI.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/QEI.lib Fri Jun 01 20:55:03 2018 +0000 @@ -0,0 +1,1 @@ +https://mbed.org/users/aberk/code/QEI/#5c2ad81551aa
diff -r 000000000000 -r 31bb391d0545 RTC-DS1307.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/RTC-DS1307.lib Fri Jun 01 20:55:03 2018 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/leihen/code/RTC-DS1307/#5627b407e097
diff -r 000000000000 -r 31bb391d0545 TextLCD.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/TextLCD.lib Fri Jun 01 20:55:03 2018 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/amarincan/code/TextLCD/#d692719a4c59
diff -r 000000000000 -r 31bb391d0545 debug.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/debug.h Fri Jun 01 20:55:03 2018 +0000 @@ -0,0 +1,16 @@ +#ifndef __DEBUG_H__ +#define __DEBUG_H__ + + +#ifdef DEBUG +#define INFO(x, ...) std::printf("[INFO: %s:%d]"x"\r\n", __FILE__, __LINE__, ##__VA_ARGS__); +#define WARN(x, ...) std::printf("[WARN: %s:%d]"x"\r\n", __FILE__, __LINE__, ##__VA_ARGS__); +#define ERR(x, ...) std::printf("[ERR: %s:%d]"x"\r\n", __FILE__, __LINE__, ##__VA_ARGS__); +#else +#define INFO(x, ...) +#define WARN(x, ...) +#define ERR(x, ...) +#endif + + +#endif \ No newline at end of file
diff -r 000000000000 -r 31bb391d0545 main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Fri Jun 01 20:55:03 2018 +0000 @@ -0,0 +1,1308 @@ +#include "mbed.h" +#include "DebouncedIn.h" +#include "TextLCD.h" +#include "QEI.h" +#include "Rtc_Ds1307.h" +#include <Pulse1.h> +Serial pc(USBTX, USBRX); +PulseInOut irda(PTD5); +TextLCD lcd(PTB10, PTB11, PTE2, PTE3, PTE4, PTE5); // rs, e, d4-d7 +Rtc_Ds1307 rtc(PTE0, PTE1); +QEI wheel (PTD7, PTD6, NC, 100); + +DebouncedIn button_enco(PTC5); + +DigitalOut led(LED1); + +int C1=0x0C; +int m=0; +int Conf=0; // 0: Alarma y 1:Reloj +int Lugar=0; // Definen el punto en el cual va el programa +int i; +int visual=1; +int ac=1; +int activ1=0; +int ac2=0; +int ac3=0; +int ac4=0; +int ac5=0; +int ac6=0; +int ac7=0; +int alarma1=0; +int alarma2=0; +int alarma3=0; +int alarma4=0; +int alarma5=0; +int alarma6=0; +int alarma7=0; +int selec=1; +int n=0; +int comp1=0; +int comp2=0; +int comp3=0; +int comp4=0; +int comp5=0; +int comp6=0; +int comp7=0; +int comp8=0; +int header=0; +int mode=1; +int j=0; +int k=0; +int numP[35]; +int numP_nor[35]; +int numb=32; +int boton1[32]= {0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,1,1,0,0,0,0,0,1,0,0,1,1,1,1,1}; //1 +int boton2[32]= {0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1}; //2 +int boton3[32]= {0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,1,0,0,0,0,0,1,1,0,1,1,1,1}; //3 +int boton4[32]= {0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,1,0,1,0,0,0,0,1,0,1,0,1,1,1,1}; //4 +int boton5[32]= {0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,1,0,0,0,0,0,0,1,0,1,1,1,1}; //5 +int boton6[32]= {0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,0,1,1,1,1,1,1,0,1}; //6 +int boton7[32]= {0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,0,0,1,1,1,1,1,0,1}; //7 +int boton8[32]= {0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,1,0,0,0,0,0,1,1,0,1,1,1,1,1}; + +int main() +{ + Rtc_Ds1307::Time_rtc tm = {}; + Rtc_Ds1307::Time_rtc Alarm = {}; + Rtc_Ds1307::Time_rtc Alarm1 = {}; + Rtc_Ds1307::Time_rtc Alarm2 = {}; + Rtc_Ds1307::Time_rtc Alarm3 = {}; + Rtc_Ds1307::Time_rtc Alarm4 = {}; + Rtc_Ds1307::Time_rtc Alarm5 = {}; + Rtc_Ds1307::Time_rtc Alarm6 = {}; + lcd.cls(); + lcd.writeCommand(C1);//escribimos un comando segun el manual del modulo LCD + + lcd.locate(0,0); + lcd.printf("--Alarma --Hora"); + + rtc.getTime(tm); //lee el tiempo del DS1307 + + while(1) + { + switch (Lugar) + { + case 0: + led= 1; + m=wheel.getPulses(); // m son los datos del encoder + if(m!=0 && Conf==0){ + Conf=1; + wheel.reset(); + m=0; + } + + if(m!=0 && Conf==1){ + Conf=0; + wheel.reset(); + m=0; + } + + if(Conf==0){ + + lcd.locate(11,0); + lcd.printf("-"); + lcd.locate(1,0); + lcd.printf(">"); + lcd.locate(0,1); + wait(0.1); + + } + + if(Conf==1){ + + lcd.locate(1,0); + lcd.printf("-"); + lcd.locate(11,0); + lcd.printf(">"); + lcd.locate(0,1); + wait(0.1); + } + + if (button_enco.falling()){ //si se pulsa boton encoder + Lugar=1; + m=0; + } + + break; + + case 1: + switch(i) + { + case 0: + + + if(Conf==0) + { + lcd.cls(); + lcd.locate(0,0); + lcd.printf("Config. Alarma "); + wait(1); + i++; + m=0; + lcd.cls(); + lcd.locate(0,0); + lcd.printf("Dia: "); + tm.date=1; + } + + if(Conf==1) + { + lcd.cls(); + lcd.locate(0,0); + lcd.printf("Config. hora "); + wait(1); + i++; + m=0; + lcd.cls(); + lcd.locate(0,0); + lcd.printf("Dia: "); + + } + + break; + + case 1: + m=wheel.getPulses(); + if (m!=0) + { + tm.date=tm.date+m; + if(tm.date>31) + { + tm.date=31; + } + if(tm.date<1) + { + tm.date=1; + } + + wheel.reset(); + m=0; + } + lcd.locate(5,0); + lcd.printf("%02d",tm.date); + + if (button_enco.falling()) + { + i++; + m=0; + lcd.cls(); + lcd.locate(0,0); + lcd.printf("Mes: "); + //tm.mon=1; + } + + break; + + case 2: + m=wheel.getPulses(); + if (m!=0) + { + tm.mon=tm.mon+m; + if(tm.mon>12) + { + tm.mon=12; + } + if(tm.mon<1) + { + tm.mon=1; + } + + wheel.reset(); + m=0; + } + lcd.locate(5,0); + lcd.printf("%02d",tm.mon); + + if (button_enco.falling()) + { + i++; + m=0; + lcd.cls(); + lcd.locate(0,0); + lcd.printf("Year: "); + + } + + break; + + case 3: + m=wheel.getPulses(); + if (m!=0) + { + tm.year=tm.year+m; + + if(tm.year<2000) + { + tm.year=2000; + } + + wheel.reset(); + m=0; + } + lcd.locate(6,0); + lcd.printf("%02d",tm.year); + + if (button_enco.falling()) + { + i++; + m=0; + lcd.cls(); + lcd.locate(0,0); + lcd.printf("Hora: "); + + } + + break; + + case 4: + m=wheel.getPulses(); + + if (m!=0) + { + tm.hour=tm.hour + m; + if(tm.hour>23) + { + tm.hour=23; + } + if(tm.hour<0) + { + tm.hour=0; + } + + wheel.reset(); + m=0; + } + lcd.locate(6,0); + lcd.printf("%02d",tm.hour); + + if (button_enco.falling()) + { + i++; + m=0; + lcd.cls(); + lcd.locate(0,0); + lcd.printf("Minuto: "); + //tm.min=0; + } + + break; + + case 5: + m=wheel.getPulses(); + if (m!=0) + { + tm.min=tm.min+m; + if(tm.min>59) + { + tm.min=59; + } + if(tm.min<0) + { + tm.min=0; + } + + wheel.reset(); + m=0; + } + lcd.locate(8,0); + lcd.printf("%02d",tm.min); + + if (button_enco.falling()) + { + i++; + m=0; + lcd.cls(); + lcd.locate(0,0); + lcd.printf("Segundo: "); + //tm.sec=0; + } + + break; + + + case 6: + m=wheel.getPulses(); + if (m!=0) + { + tm.sec=tm.sec+m; + if(tm.sec>59) + { + tm.sec=59; + } + if(tm.sec<0) + { + tm.sec=0; + } + + wheel.reset(); + m=0; + } + lcd.locate(9,0); + lcd.printf("%02d",tm.sec); + + if (button_enco.falling()) + { + /////////////////// + if(Conf==0) + { + + lcd.cls(); + lcd.locate(0,0); + lcd.printf("Alarma:"); + i++; + m=0; + + } + + if(Conf==1) + { + rtc.setTime(tm, false, false); + rtc.startClock(); + lcd.cls(); + lcd.locate(0,0); + lcd.printf("Hora Config. "); + wait(1); + i=0; + m=0; + Lugar=0; + lcd.locate(0,0); + lcd.printf("--Alarma --Hora"); + } + + /////////////////// + } + + break; + case 7: + m=wheel.getPulses(); + if (m!=0) + { + selec=selec+m; + if(selec>7) + { + selec=7; + } + if(selec<1) + { + selec=1; + } + + wheel.reset(); + m=0; + } + lcd.locate(9,0); + lcd.printf("%02d",selec); + + if (button_enco.falling()) + { + i++; + m=0; + lcd.cls(); + lcd.locate(0,0); + lcd.printf("%02d seleccionada",selec); + //tm.sec=0; + } + break; + + case 8: + if (selec==1) + { + Alarm=tm; + lcd.cls(); + lcd.locate(0,0); + i=0; + m=0; + Lugar++; + } + if (selec==2) + { + Alarm1=tm; + lcd.cls(); + lcd.locate(0,0); + i=0; + m=0; + Lugar++; + } + if (selec==3) + { + Alarm2=tm; + lcd.cls(); + lcd.locate(0,0); + i=0; + m=0; + Lugar++; + } + if (selec==4) + { + Alarm3=tm; + lcd.cls(); + lcd.locate(0,0); + i=0; + m=0; + Lugar++; + } + if (selec==5) + { + Alarm4=tm; + lcd.cls(); + lcd.locate(0,0); + i=0; + m=0; + Lugar++; + } + if (selec==6) + { + Alarm5=tm; + lcd.cls(); + lcd.locate(0,0); + i=0; + m=0; + Lugar++; + } + if (selec==7) + { + Alarm6=tm; + lcd.cls(); + lcd.locate(0,0); + i=0; + m=0; + Lugar++; + } + + break; + + } + break; + + case 2: + led=1; + rtc.getTime(tm); + m=wheel.getPulses(); + if (m!=0) + { + visual=visual+m; + if(visual>10) + { + visual=1; + } + if(visual<1) + { + visual=10; + } + + wheel.reset(); + m=0; + } + if(visual==1) + { + + lcd.locate(0,0); + lcd.printf("Hora: "); + lcd.locate(8,0); + lcd.printf("%02d:",tm.hour); + lcd.printf("%02d:",tm.min); + lcd.printf("%02d",tm.sec); + + lcd.locate(0,1); + lcd.printf("%02d/",tm.mon); + lcd.printf("%02d/",tm.date); + lcd.printf("%02d",tm.year); + lcd.printf(","); + if(activ1==1) + { + lcd.printf("1"); + } + + if(ac2==1) + { + lcd.printf("2"); + } + if(ac3==1) + { + lcd.printf("3"); + } + if(ac4==1) + { + lcd.printf("4"); + } + if(ac5==1) + { + lcd.printf("5"); + } + if(ac6==1) + { + lcd.printf("6"); + } + if(ac7==1) + { + lcd.printf("7"); + } + wait(0.1); + + ////// + + } + + if(visual==2) + { + lcd.locate(0,0); + lcd.printf("Alarma1 "); + lcd.locate(8,0); + lcd.printf("%02d:",Alarm.hour); + lcd.printf("%02d:",Alarm.min); + lcd.printf("%02d",Alarm.sec); + + + lcd.locate(0,1); + lcd.printf("%02d/",Alarm.mon); + lcd.printf("%02d/",Alarm.date); + lcd.printf("%02d",Alarm.year); + + if (activ1==0) + { + lcd.printf(" off"); + } + if (activ1==1) + { + lcd.printf(" on"); + } + wait(0.1); + lcd.cls(); + + } + if(visual==3) + { + lcd.locate(0,0); + lcd.printf("Alarma2 "); + lcd.locate(8,0); + lcd.printf("%02d:",Alarm1.hour); + lcd.printf("%02d:",Alarm1.min); + lcd.printf("%02d",Alarm1.sec); + + + lcd.locate(0,1); + lcd.printf("%02d/",Alarm1.mon); + lcd.printf("%02d/",Alarm1.date); + lcd.printf("%02d",Alarm1.year); + + if (ac2==0) + { + lcd.printf(" off"); + } + if (ac2==1) + { + lcd.printf(" on"); + } + wait(0.1); + lcd.cls(); + + } + if(visual==4) + { + lcd.locate(0,0); + lcd.printf("Alarma3 "); + lcd.locate(8,0); + lcd.printf("%02d:",Alarm2.hour); + lcd.printf("%02d:",Alarm2.min); + lcd.printf("%02d",Alarm2.sec); + + + lcd.locate(0,1); + lcd.printf("%02d/",Alarm2.mon); + lcd.printf("%02d/",Alarm2.date); + lcd.printf("%02d",Alarm2.year); + + if (ac3==0) + { + lcd.printf(" off"); + } + if (ac3==1) + { + lcd.printf(" on"); + } + wait(0.1); + lcd.cls(); + + } + if(visual==5) + { + lcd.locate(0,0); + lcd.printf("Alarma4 "); + lcd.locate(8,0); + lcd.printf("%02d:",Alarm3.hour); + lcd.printf("%02d:",Alarm3.min); + lcd.printf("%02d",Alarm3.sec); + + + lcd.locate(0,1); + lcd.printf("%02d/",Alarm3.mon); + lcd.printf("%02d/",Alarm3.date); + lcd.printf("%02d",Alarm3.year); + + if (ac4==0) + { + lcd.printf(" off"); + } + if (ac4==1) + { + lcd.printf(" on"); + } + wait(0.1); + lcd.cls(); + + } + if(visual==6) + { + lcd.locate(0,0); + lcd.printf("Alarma5 "); + lcd.locate(8,0); + lcd.printf("%02d:",Alarm4.hour); + lcd.printf("%02d:",Alarm4.min); + lcd.printf("%02d",Alarm4.sec); + + + lcd.locate(0,1); + lcd.printf("%02d/",Alarm4.mon); + lcd.printf("%02d/",Alarm4.date); + lcd.printf("%02d",Alarm4.year); + + if (ac5==0) + { + lcd.printf(" off"); + } + if (ac5==1) + { + lcd.printf(" on"); + } + wait(0.1); + lcd.cls(); + + } + if(visual==7) + { + lcd.locate(0,0); + lcd.printf("Alarma6 "); + lcd.locate(8,0); + lcd.printf("%02d:",Alarm5.hour); + lcd.printf("%02d:",Alarm5.min); + lcd.printf("%02d",Alarm5.sec); + + + lcd.locate(0,1); + lcd.printf("%02d/",Alarm5.mon); + lcd.printf("%02d/",Alarm5.date); + lcd.printf("%02d",Alarm5.year); + if (ac6==0) + { + lcd.printf(" off"); + } + if (ac6==1) + { + lcd.printf(" on"); + } + wait(0.1); + lcd.cls(); + + } + if(visual==8) + { + lcd.locate(0,0); + lcd.printf("Alarma7 "); + lcd.locate(8,0); + lcd.printf("%02d:",Alarm6.hour); + lcd.printf("%02d:",Alarm6.min); + lcd.printf("%02d",Alarm6.sec); + + + lcd.locate(0,1); + lcd.printf("%02d/",Alarm6.mon); + lcd.printf("%02d/",Alarm6.date); + lcd.printf("%02d",Alarm6.year); + + if (ac7==0) + { + lcd.printf(" off"); + } + if (ac7==1) + { + lcd.printf(" on"); + } + wait(0.1); + lcd.cls(); + + } + if (visual==9) + { + lcd.locate(0,0); + lcd.printf("Nueva alarma"); + wait(0.1); + lcd.cls(); + if (button_enco.falling()) + { + Conf=0; + Lugar=1; + i=0; + } + } + if(visual==10) + { + lcd.locate(0,0); + lcd.printf("guardar"); + wait(0.1); + lcd.cls(); + if (button_enco.falling()) + { + lcd.cls(); + Lugar=3; + } + } + if( (tm.date==Alarm.date)&&(tm.mon==Alarm.mon)&&(tm.year==Alarm.year)&&(tm.hour==Alarm.hour)&&(tm.min==Alarm.min)&&(tm.sec==Alarm.sec)&&(activ1==1) ) + { + Lugar=4; + alarma1=1; + lcd.cls(); + lcd.locate(0,0); + lcd.printf("Alarma 1 Activa"); + m=0; + } + if( (tm.date==Alarm1.date)&&(tm.mon==Alarm1.mon)&&(tm.year==Alarm1.year)&&(tm.hour==Alarm1.hour)&&(tm.min==Alarm1.min)&&(tm.sec==Alarm1.sec)&&(ac2==1) ) + { + Lugar=4; + alarma2=1; + lcd.cls(); + lcd.locate(0,0); + lcd.printf("Alarma 2 Activa"); + m=0; + } + if( (tm.date==Alarm2.date)&&(tm.mon==Alarm2.mon)&&(tm.year==Alarm2.year)&&(tm.hour==Alarm2.hour)&&(tm.min==Alarm2.min)&&(tm.sec==Alarm2.sec)&&(ac3==1) ) + { + Lugar=4; + alarma3=1; + lcd.cls(); + lcd.locate(0,0); + lcd.printf("Alarma 3 Activa"); + m=0; + } + if( (tm.date==Alarm3.date)&&(tm.mon==Alarm3.mon)&&(tm.year==Alarm3.year)&&(tm.hour==Alarm3.hour)&&(tm.min==Alarm3.min)&&(tm.sec==Alarm3.sec)&&(ac4==1)) + { + Lugar=4; + alarma4=1; + lcd.cls(); + lcd.locate(0,0); + lcd.printf("Alarma 4 Activa"); + m=0; + } + if( (tm.date==Alarm4.date)&&(tm.mon==Alarm4.mon)&&(tm.year==Alarm4.year)&&(tm.hour==Alarm4.hour)&&(tm.min==Alarm4.min)&&(tm.sec==Alarm4.sec)&&(ac5==1) ) + { + Lugar=4; + alarma5=1; + lcd.cls(); + lcd.locate(0,0); + lcd.printf("Alarma 5 Activa"); + m=0; + } + if( (tm.date==Alarm5.date)&&(tm.mon==Alarm5.mon)&&(tm.year==Alarm5.year)&&(tm.hour==Alarm5.hour)&&(tm.min==Alarm5.min)&&(tm.sec==Alarm5.sec)&&(ac6==1) ) + { + Lugar=4; + alarma6=1; + lcd.cls(); + lcd.locate(0,0); + lcd.printf("Alarma 6 Activa"); + m=0; + } + if( (tm.date==Alarm6.date)&&(tm.mon==Alarm6.mon)&&(tm.year==Alarm6.year)&&(tm.hour==Alarm6.hour)&&(tm.min==Alarm6.min)&&(tm.sec==Alarm6.sec)&&(ac7==1) ) + { + Lugar=4; + alarma7=1; + lcd.cls(); + lcd.locate(0,0); + lcd.printf("Alarma 7 Activa"); + m=0; + } + + + break; + case 3: + switch (ac){ + case 1: + header = irda.read_high_us(); + if(header>3500) + { + ac=2; + } + break; + case 2: + + for(j=0;j<numb;++j) + { + numP[j] = irda.read_high_us(); //funcion para leer un pulso alto + } + header=0; + for(j=0;j<numb;++j) + { + if(numP[j]<1000) + { + numP_nor[j]=0; + } + if(numP[j]>1000) + { + numP_nor[j]=1; + } + pc.printf("%d,",numP_nor[j]); + } + pc.printf("\n"); + for (j=0;j<numb;++j) + { + if(numP_nor[j]==boton1[j]) + { + n=0; + } + else + { + n=1; + } + comp1=comp1+n; + n=0; + } + + for (j=0;j<numb;++j) + { + if(numP_nor[j]==boton2[j]) + { + n=0; + } + else + { + n=1; + } + comp2=comp2+n; + n=0; + } + for (j=0;j<numb;++j) + { + if(numP_nor[j]==boton3[j]) + { + n=0; + } + else + { + n=1; + } + comp3=comp3+n; + n=0; + } + for (j=0;j<numb;++j) + { + if(numP_nor[j]==boton4[j]) + { + n=0; + } + else + { + n=1; + } + comp4=comp4+n; + n=0; + } + for (j=0;j<numb;++j) + { + if(numP_nor[j]==boton5[j]) + { + n=0; + } + else + { + n=1; + } + comp5=comp5+n; + n=0; + } + for (j=0;j<numb;++j) + { + if(numP_nor[j]==boton6[j]) + { + n=0; + } + else + { + n=1; + } + comp6=comp6+n; + n=0; + } + for (j=0;j<numb;++j) + { + if(numP_nor[j]==boton7[j]) + { + n=0; + } + else + { + n=1; + } + comp7=comp7+n; + n=0; + } + for (j=0;j<numb;++j) + { + if(numP_nor[j]==boton8[j]) + { + n=0; + } + else + { + n=1; + } + comp8=comp8+n; + n=0; + } + if ((comp1==0)) + { + pc.printf("Oprimio 1\n"); + if(activ1==0) + { + activ1=1; + lcd.cls(); + lcd.printf("Alarma 1: on"); + } + else if(activ1==1) + { + activ1=0; + lcd.cls(); + lcd.printf("Alarma 1: off"); + } + + } + if ((comp2==0)) + { + pc.printf("Oprimio 2\n"); + if(ac2==0) + { + ac2=1; + lcd.cls(); + lcd.printf("Alarma 2: on"); + } + else if(ac2==1) + { + ac2=0; + lcd.cls(); + lcd.printf("Alarma 2: off"); + } + + } + if ((comp3==0)) + { + + pc.printf("Oprimio 3\n"); + if(ac3==0) + { + ac3=1; + lcd.cls(); + lcd.printf("Alarma 3: on"); + } + else if(ac3==1) + { + ac3=0; + lcd.cls(); + lcd.printf("Alarma 3: off"); + } + + } + if ((comp4==0)) + { + + pc.printf("Oprimio 4\n"); + if(ac4==0) + { + ac4=1; + lcd.cls(); + lcd.printf("Alarma 4: on"); + } + else if(ac4==1) + { + ac4=0; + lcd.cls(); + lcd.printf("Alarma 4: off"); + } + + } + if ((comp5==0)) + { + + pc.printf("Oprimio 5\n"); + if(ac5==0) + { + ac5=1; + lcd.cls(); + lcd.printf("Alarma 5: on"); + } + else if(ac5==1) + { + ac5=0; + lcd.cls(); + lcd.printf("Alarma 5: off"); + } + + } + if ((comp6==0)) + { + + pc.printf("Oprimio 6\n"); + if(ac6==0) + { + ac6=1; + lcd.cls(); + lcd.printf("Alarma 6: on"); + } + else if(ac6==1) + { + ac6=0; + lcd.cls(); + lcd.printf("Alarma 6: off"); + } + + } + if ((comp7==0)) + { + + pc.printf("Oprimio 7\n"); + if(ac7==0) + { + ac7=1; + lcd.cls(); + lcd.printf("Alarma 7: on"); + } + else if(ac7==1) + { + ac7=0; + lcd.cls(); + lcd.printf("Alarma 7: off"); + } + + } + if ((comp8==0)) + { + Lugar=2; + visual=1; + } + comp1=0; + comp2=0; + comp3=0; + comp4=0; + comp5=0; + comp6=0; + comp7=0; + comp8=0; + n=0; + ac=1; + } + break; + + case 4: + led=0; + switch (mode){ + case 1: + header = irda.read_high_us(); + if(header>3500) + { + mode=2; + } + break; + case 2: + + for(j=0;j<numb;++j) + { + numP[j] = irda.read_high_us(); //funcion para leer un pulso alto + } + header=0; + for(j=0;j<numb;++j) + { + if(numP[j]<1000) + { + numP_nor[j]=0; + } + if(numP[j]>1000) + { + numP_nor[j]=1; + } + pc.printf("%d,",numP_nor[j]); + } + pc.printf("\n"); + for (j=0;j<numb;++j) + { + if(numP_nor[j]==boton1[j]) + { + n=0; + } + else + { + n=1; + } + comp1=comp1+n; + n=0; + } + + for (j=0;j<numb;++j) + { + if(numP_nor[j]==boton2[j]) + { + n=0; + } + else + { + n=1; + } + comp2=comp2+n; + n=0; + } + for (j=0;j<numb;++j) + { + if(numP_nor[j]==boton3[j]) + { + n=0; + } + else + { + n=1; + } + comp3=comp3+n; + n=0; + } + for (j=0;j<numb;++j) + { + if(numP_nor[j]==boton4[j]) + { + n=0; + } + else + { + n=1; + } + comp4=comp4+n; + n=0; + } + for (j=0;j<numb;++j) + { + if(numP_nor[j]==boton5[j]) + { + n=0; + } + else + { + n=1; + } + comp5=comp5+n; + n=0; + } + for (j=0;j<numb;++j) + { + if(numP_nor[j]==boton6[j]) + { + n=0; + } + else + { + n=1; + } + comp6=comp6+n; + n=0; + } + for (j=0;j<numb;++j) + { + if(numP_nor[j]==boton7[j]) + { + n=0; + } + else + { + n=1; + } + comp7=comp7+n; + n=0; + } + if ((comp1==0)&&(alarma1==1)) + { + alarma1=0; + Lugar=2; + pc.printf("Oprimio 1\n"); + lcd.cls(); + lcd.printf("Alarma 1: off"); + wait(2); + lcd.cls(); + + } + if ((comp2==0)&&(alarma2==1)) + { + alarma2=0; + Lugar=2; + pc.printf("Oprimio 2\n"); + lcd.cls(); + lcd.printf("Alarma 2: off"); + wait(2); + lcd.cls(); + } + if ((comp3==0)&&(alarma3==1)) + { + alarma3=0; + Lugar=2; + pc.printf("Oprimio 3\n"); + lcd.cls(); + lcd.printf("Alarma 3: off"); + wait(2); + lcd.cls(); + } + if ((comp4==0)&&(alarma4==1)) + { + alarma4=0; + Lugar=2; + pc.printf("Oprimio 4\n"); + lcd.cls(); + lcd.printf("Alarma 4: off"); + wait(2); + lcd.cls(); + } + if ((comp5==0)&&(alarma5==1)) + { + alarma5=0; + Lugar=2; + pc.printf("Oprimio 5\n"); + lcd.cls(); + lcd.printf("Alarma 5: off"); + wait(2); + lcd.cls(); + } + if ((comp6==0)&&(alarma6==1)) + { + alarma6=0; + Lugar=2; + pc.printf("Oprimio 6\n"); + lcd.cls(); + lcd.printf("Alarma 6: off"); + wait(2); + lcd.cls(); + } + if ((comp7==0)&&(alarma7==1)) + { + alarma7=0; + Lugar=2; + pc.printf("Oprimio 7\n"); + lcd.cls(); + lcd.printf("Alarma 7: off"); + wait(2); + lcd.cls(); + } + comp1=0; + comp2=0; + comp3=0; + comp4=0; + comp5=0; + comp6=0; + comp7=0; + n=0; + mode=1; + } + + } +} +}
diff -r 000000000000 -r 31bb391d0545 mbed.bld --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Fri Jun 01 20:55:03 2018 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed/builds/5aab5a7997ee \ No newline at end of file