Reloj con 4 alarmas independientes basado en reloj alarma de tony63

Dependencies:   Debounced QEI RTC-DS1307 TextLCD mbed

Fork of Reloj_alarma by Gustavo Ramirez

Files at this revision

API Documentation at this revision

Comitter:
kolive360
Date:
Fri Oct 28 01:33:54 2016 +0000
Parent:
1:0639f31dd59f
Commit message:
Reloj con 4 alarmas independientes basado en reloj alarma de tony63

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
diff -r 0639f31dd59f -r ceffe5bd46e9 main.cpp
--- a/main.cpp	Wed Sep 28 06:48:39 2016 +0000
+++ b/main.cpp	Fri Oct 28 01:33:54 2016 +0000
@@ -5,106 +5,104 @@
 #include "Rtc_Ds1307.h"
 
 TextLCD lcd(PTB10, PTB11, PTE2, PTE3, PTE4, PTE5); // rs, e, d4-d7
-Rtc_Ds1307 rtc(PTE0, PTE1);
+Rtc_Ds1307 rtc(PTE0, PTE1);//SCL,SDA
 QEI wheel (PTA16, PTA17, NC, 48);
 
 DebouncedIn button_enco(PTC5);
+//DebouncedIn button_confi(PTB8);
+//InterruptIn button_confi(PTB8);
+
+DigitalOut led1(PTC7);
+DigitalOut led2(PTC0);
+DigitalOut led3(PTC3);
+DigitalOut led4(PTC4);
 
 PwmOut Sonido(PTA5);
 
 float periodo;
 float Frecuencia=4000;
 int C1=0x0C;
-int m;
+int m,k,x1,x2,x3,x4;
+int numero=1;
 int Conf=0;  // 0: Alarma y 1:Reloj
 int Lugar=0; // Definen el punto en el cual va el programa
 int i=0;
 int visual=0;
-int alarma=0;  
+int alarma=0; 
+ 
 
 int main()
 {
     Rtc_Ds1307::Time_rtc tm = {};
     Rtc_Ds1307::Time_rtc Alarm = {};
+    Rtc_Ds1307::Time_rtc Alarm2 = {};
+    Rtc_Ds1307::Time_rtc Alarm3 = {};
+    Rtc_Ds1307::Time_rtc Alarm4 = {};
     lcd.cls();
     lcd.writeCommand(C1);//escribimos un comando segun el manual del modulo LCD
-    
-    lcd.locate(0,0);
-    lcd.printf("--Alarma  --Hora");
-    
+       
     periodo=(1/Frecuencia);
     Sonido.period(periodo);
     
-    rtc.getTime(tm); //lee el tiempo del DS1307
 
-    while(1)
-    {
-        switch (Lugar)
-        {
-            case 0:
+    while(1){
+        switch (Lugar){
+            case 0:     //Menu principal
+                rtc.getTime(tm); //lee el tiempo del DS1307 
+                lcd.locate(0,0);
+                lcd.printf("%02d:%02d %02d/%02d/%02d", tm.hour, tm.min, tm.date, tm.mon, tm.year);
+                lcd.locate(0,1);
+                lcd.printf("-C.Alar  -C.Hora");
                 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){
+                if(m!=0 && Conf==1){
                     Conf=0;
                     wheel.reset();  
                     m=0;              
                 }
-                
                 if(Conf==0){
-                    
-                    lcd.locate(11,0);
+                    lcd.locate(9,1);
                     lcd.printf("-");                    
-                    lcd.locate(1,0);
+                    lcd.locate(0,1);
                     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);                    
+                    //lcd.locate(0,1);                    
                     wait(0.1);
                 }
-                
+                if(Conf==1){
+                    lcd.locate(0,1);
+                    lcd.printf("-");                    
+                    lcd.locate(9,1);
+                    lcd.printf(">");
+                    //lcd.locate(0,1);                    
+                    wait(0.1);
+                }
                 if (button_enco.falling()){  //si se pulsa boton encoder
                     Lugar++;
                     m=0;       
                 }
-            
             break;
             
-            case 1:
-                switch(i)
-                {
+            case 1://Configurar
+                switch(i){
                     case 0:
-                    
-                                              
-                        if(Conf==0)
-                        {
+                       if(Conf==0){
                             lcd.cls();
                             lcd.locate(0,0);
                             lcd.printf("Config. Alarma ");
                             wait(1);
-                            i++;
+                            goto lazo;
+sigo:                       i++;
                             m=0;
                             lcd.cls();
                             lcd.locate(0,0);
                             lcd.printf("Dia: ");
                             tm.date=1;                             
                         }
-                
-                        if(Conf==1)
-                        {
+                       if(Conf==1){
                             lcd.cls();
                             lcd.locate(0,0);
                             lcd.printf("Config. hora   ");
@@ -114,33 +112,26 @@
                             lcd.cls();
                             lcd.locate(0,0);
                             lcd.printf("Dia: ");
-                            
                         }    
-
                     break;
                     
                     case 1:
                         m=wheel.getPulses();        
-                        if (m!=0) 
-                        {
+                        if (m!=0){
                             tm.date=tm.date+m;
-                            if(tm.date>31)
-                            {
+                            if(tm.date>31){
                                 tm.date=31;
                             }
-                            if(tm.date<1)
-                            {
+                            if(tm.date<1){
                                 tm.date=1;
                             }
-                            
                             wheel.reset();  
                             m=0;
                         }
                         lcd.locate(5,0);
                         lcd.printf("%02d",tm.date);
                         
-                        if (button_enco.falling())
-                        {
+                        if (button_enco.falling()){
                             i++;
                             m=0;
                             lcd.cls();
@@ -148,20 +139,16 @@
                             lcd.printf("Mes: ");
                             //tm.mon=1;
                         }
-                    
                     break;
                     
                     case 2:
                         m=wheel.getPulses();        
-                        if (m!=0) 
-                        {
+                        if (m!=0){
                             tm.mon=tm.mon+m;
-                            if(tm.mon>12)
-                            {
+                            if(tm.mon>12){
                                 tm.mon=12;
                             }
-                            if(tm.mon<1)
-                            {
+                            if(tm.mon<1){
                                 tm.mon=1;
                             }
                             
@@ -171,8 +158,7 @@
                         lcd.locate(5,0);
                         lcd.printf("%02d",tm.mon);
                         
-                        if (button_enco.falling())
-                        {
+                        if (button_enco.falling()){
                             i++;
                             m=0;
                             lcd.cls();
@@ -180,18 +166,15 @@
                             lcd.printf("Year: ");
                             
                         }
-                    
                     break;
                     
                     case 3:
                         m=wheel.getPulses();        
-                        if (m!=0) 
-                        {
+                        if (m!=0){
                             tm.year=tm.year+m;
                             
-                            if(tm.year<2000)
-                            {
-                                tm.year=2000;
+                            if(tm.year<2016){
+                                tm.year=2016;
                             }
                             
                             wheel.reset();  
@@ -200,8 +183,7 @@
                         lcd.locate(6,0);
                         lcd.printf("%02d",tm.year);
                         
-                        if (button_enco.falling())
-                        {
+                        if (button_enco.falling()){
                             i++;
                             m=0;
                             lcd.cls();
@@ -209,21 +191,16 @@
                             lcd.printf("Hora: ");
                             
                         }
-                    
                     break;
                     
                      case 4:
                         m=wheel.getPulses();
-                                
-                        if (m!=0) 
-                        {
+                        if (m!=0){
                             tm.hour=tm.hour + m;
-                            if(tm.hour>23)
-                            {
+                            if(tm.hour>23){
                                 tm.hour=23;
                             }
-                            if(tm.hour<0)
-                            {
+                            if(tm.hour<0){
                                 tm.hour=0;
                             }
                             
@@ -233,8 +210,7 @@
                         lcd.locate(6,0);
                         lcd.printf("%02d",tm.hour);
                         
-                        if (button_enco.falling())
-                        {
+                        if (button_enco.falling()){
                             i++;
                             m=0;
                             lcd.cls();
@@ -242,31 +218,25 @@
                             lcd.printf("Minuto: ");
                             //tm.min=0;
                         }
-                    
                     break;
                     
                     case 5:
                         m=wheel.getPulses();        
-                        if (m!=0) 
-                        {
+                        if (m!=0){
                             tm.min=tm.min+m;
-                            if(tm.min>59)
-                            {
+                            if(tm.min>59){
                                 tm.min=59;
                             }
-                            if(tm.min<0)
-                            {
+                            if(tm.min<0){
                                 tm.min=0;
                             }
-                            
                             wheel.reset();  
                             m=0;
                         }
                         lcd.locate(8,0);
                         lcd.printf("%02d",tm.min);
                         
-                        if (button_enco.falling())
-                        {
+                        if (button_enco.falling()){
                             i++;
                             m=0;
                             lcd.cls();
@@ -274,21 +244,17 @@
                             lcd.printf("Segundo: ");
                             //tm.sec=0;
                         }
-                    
                     break;
                     
                     
                     case 6:
                         m=wheel.getPulses();        
-                        if (m!=0) 
-                        {
+                        if (m!=0){
                             tm.sec=tm.sec+m;
-                            if(tm.sec>59)
-                            {
+                            if(tm.sec>59){
                                 tm.sec=59;
                             }
-                            if(tm.sec<0)
-                            {
+                            if(tm.sec<0){
                                 tm.sec=0;
                             }
                             
@@ -298,25 +264,36 @@
                         lcd.locate(9,0);
                         lcd.printf("%02d",tm.sec);
                         
-                        if (button_enco.falling())
-                        {
+                        if (button_enco.falling()){
                             ///////////////////
-                            if(Conf==0)
-                            {
-                                Alarm=tm;
+                            if(Conf==0){
+                                if(numero ==1){
+                                    Alarm=tm;
+                                    x1=1;    
+                                }
+                                if(numero ==2){
+                                    Alarm2=tm;
+                                    x2=1;    
+                                }
+                                if(numero ==3){
+                                    Alarm3=tm;    
+                                    x3=1;
+                                }
+                                if(numero ==4){
+                                    Alarm4=tm;    
+                                    x4=1;
+                                }
                                 lcd.cls();
-                                lcd.locate(0,0);
-                                lcd.printf("Alarma config. ");
+                                lcd.locate(0,1);
+                                lcd.printf("Alarma %02d config",numero);
                                 wait(1);
                                 i=0;
                                 m=0;
                                 Lugar++;
                                 lcd.cls();
-                                                          
                             }
                 
-                            if(Conf==1)
-                            {
+                            if(Conf==1){
                                 rtc.setTime(tm, false, false);
                                 rtc.startClock();
                                 lcd.cls();
@@ -326,97 +303,191 @@
                                 i=0;
                                 m=0;
                                 Lugar=0;
+                                rtc.getTime(tm); //lee el tiempo del DS1307 
                                 lcd.locate(0,0);
-                                lcd.printf("--Alarma  --Hora");                                
-                            } 
-                           
-                           ///////////////////
+                                lcd.printf("%02:",tm.hour);
+                                lcd.locate(0,1);
+                                lcd.printf("-C.Alar  -C.Hora");
+                           } 
                         }
-                    
                     break;
-                   
-                }            
+                 }            
             break;
             
-            case 2:
-            
+            case 2:     //Visualizar y Activacion Alarmas
                 rtc.getTime(tm);
-                           
-                if(visual==0)
-                {
-                    
-                    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);
-                    wait(0.1);
-                    //////////
-                    m=wheel.getPulses();
-                    if(m!=0)
-                    {
-                        visual=1;
-                        wheel.reset();  
-                        m=0;
-                    }
-                    
-                    //////
-                
+                m=wheel.getPulses();
+                if(x1==1){
+                    led1=1;
+                }
+                if(x2==1){
+                    led2=1;
+                }
+                if(x3==1){
+                    led3=1;
+                }
+                if(x4==1){
+                    led4=1;
+                }                
+                if(m!=0){
+                   visual=visual+m;
+                   if(visual<0){
+                      visual=0;
+                   }
+                   if(visual>4){
+                      visual=4;
+                   }                    
+                   wheel.reset();  
+                   m=0;
                 }
                 
-                if(visual==1)
-                {
-                    lcd.locate(0,0);    
-                    lcd.printf("Alarma: ");
-                    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);
-                    wait(0.1);
-                    ////
-                    m=wheel.getPulses();
-                    if(m!=0)
-                    {                        
-                        visual=0;
-                        wheel.reset();  
-                        m=0;                                       
-                    }
-                    
-                    ////
+                if(visual==0){//Visualiza hora
+                   lcd.cls();
+                   lcd.locate(0,0);    
+                   lcd.printf(" Ver   %02d:%02d:%02d",tm.hour,tm.min,tm.sec);
+                   lcd.locate(0,1);
+                   lcd.printf("Hora :%02d/%02d/%04d",tm.mon,tm.date,tm.year);
+                   wait(0.1);
+                }   
+                if(visual==1){//Visualilza alarma1
+                   lcd.cls();
+                   lcd.locate(0,0);    
+                   lcd.printf(" Ver   %02d:%02d:%02d", Alarm.hour, Alarm.min,Alarm.sec);
+                   lcd.locate(0,1);
+                   lcd.printf("Alar1:%02d/%02d/%04d",Alarm.mon,Alarm.date,Alarm.year);
+                   wait(0.1);
                 }
-                
-                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) )
+                if(visual==2){//Visualiza alarma2
+                   lcd.cls();
+                   lcd.locate(0,0);    
+                   lcd.printf(" Ver   %02d:%02d:%02d", Alarm2.hour, Alarm2.min,Alarm2.sec);
+                   lcd.locate(0,1);
+                   lcd.printf("Alar2:%02d/%02d/%04d",Alarm2.mon,Alarm2.date,Alarm2.year);
+                   wait(0.1);
+                }
+                if(visual==3){//Visualiza alarma3
+                   lcd.cls();
+                   lcd.locate(0,0);    
+                   lcd.printf(" Ver   %02d:%02d:%02d", Alarm3.hour, Alarm3.min,Alarm3.sec);
+                   lcd.locate(0,1);
+                   lcd.printf("Alar3:%02d/%02d/%04d",Alarm3.mon,Alarm3.date,Alarm3.year);
+                   wait(0.1);
+                }
+                if(visual==4){//Visualiza alarma4
+                   lcd.cls();
+                   lcd.locate(0,0);    
+                   lcd.printf(" Ver   %02d:%02d:%02d", Alarm4.hour, Alarm4.min,Alarm4.sec);
+                   lcd.locate(0,1);
+                   lcd.printf("Alar4:%02d/%02d/%04d",Alarm4.mon,Alarm4.date,Alarm4.year);
+                   wait(0.1);
+                }
+                     
+                if (button_enco.falling()){
+                    Lugar=1;
+                }
+                //Activacion  Alarma1               
+                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))
                 {
                     Lugar++;
                     lcd.cls();
                     lcd.locate(0,0);                        
-                    lcd.printf("Alarma Activa!!!");
-                    wait(1);
+                    lcd.printf("Alarma1  Activa!!");
+                    led1 =0;
+                    wait(.2);
+                    led1 =1;
+                    wait(.2);
+                    led1 =0;
+                    wait(.2);
+                    led1 =1;
+                    wait(.2);
+                    led1 =0;
                     lcd.locate(0,0);
                     lcd.printf("->Desactivar    ");                       
                     lcd.locate(0,1);                        
                     lcd.printf("--Aplazar       ");
                     m=0;
+                    k=1;
+                }
+
+                //Activacion  Alarma2               
+                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))
+                {
+                    Lugar++;
+                    lcd.cls();
+                    lcd.locate(0,0);                        
+                    lcd.printf("Alarma2  Activa!!");
+                    led2 =0;
+                    wait(.2);
+                    led2 =1;
+                    wait(.2);
+                    led2 =0;
+                    wait(.2);
+                    led2 =1;
+                    wait(.2);
+                    led2 =0;
+                    lcd.locate(0,0);
+                    lcd.printf("->Desactivar    ");                       
+                    lcd.locate(0,1);                        
+                    lcd.printf("--Aplazar       ");
+                    m=0;
+                    k=2;
+                }
+
+                //Activacion  Alarma3               
+                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))
+                {
+                    Lugar++;
+                    lcd.cls();
+                    lcd.locate(0,0);                        
+                    lcd.printf("Alarma3  Activa!!");
+                    led3 =0;
+                    wait(.2);
+                    led3 =1;
+                    wait(.2);
+                    led3 =0;
+                    wait(.2);
+                    led3 =1;
+                    wait(.2);
+                    led3 =0;
+                    lcd.locate(0,0);
+                    lcd.printf("->Desactivar    ");                       
+                    lcd.locate(0,1);                        
+                    lcd.printf("--Aplazar       ");
+                    m=0;
+                    k=3;
+                }
+                //Activacion  Alarma4               
+                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))
+                {
+                    Lugar++;
+                    lcd.cls();
+                    lcd.locate(0,0);                        
+                    lcd.printf("Alarma1  Activa!!");
+                    led4 =0;
+                    wait(.2);
+                    led4 =1;
+                    wait(.2);
+                    led4 =0;
+                    wait(.2);
+                    led4 =1;
+                    wait(.2);
+                    led4 =0;
+                    lcd.locate(0,0);
+                    lcd.printf("->Desactivar    ");                       
+                    lcd.locate(0,1);                        
+                    lcd.printf("--Aplazar       ");
+                    m=0;
+                    k=4;
                 }
                  
             break;
             
-            case 3:
+            
+            
+            
+            case 3://Aplazar Desactivar Alarma
                 
-                if(alarma==0)
-                {
+                if(alarma==0){
                     Sonido.write(0.5);
                     wait(0.2);
                     Sonido.write(0);
@@ -425,10 +496,8 @@
                     wait(0.2);
                     Sonido.write(0);
                     wait(0.2);
-                    
                     m=wheel.getPulses();
-                    if(m!=0)
-                    {                        
+                    if(m!=0){                        
                         alarma=1;
                         m=0;
                         wheel.reset();
@@ -442,8 +511,7 @@
                           
                 ///////////////////
                 
-                if(alarma==1)
-                {
+                if(alarma==1){
                     Sonido.write(0.5);
                     wait(0.2);
                     Sonido.write(0);
@@ -454,8 +522,7 @@
                     wait(0.2);
                     
                     m=wheel.getPulses();
-                    if(m!=0)
-                    {                        
+                    if(m!=0){                        
                         alarma=0;
                         m=0;
                         wheel.reset();
@@ -467,36 +534,81 @@
                     }
                 }
                 
-                if (button_enco.falling())
-                {
-                    if(alarma==0)
-                    {
+                if (button_enco.falling()){
+                    if(alarma==0){
                         Lugar=0;
                         wheel.reset();
                         m=0;
                         Sonido.write(0);
                         lcd.cls();
+                        rtc.getTime(tm); //lee el tiempo del DS1307 
                         lcd.locate(0,0);
-                        lcd.printf("--Alarma  --Hora");
+                        lcd.printf("%02:",tm.hour);
+                        lcd.locate(0,1);
+                        lcd.printf("-C.Alar -C.Hora");
                         
                     }
-                    if(alarma==1)
-                    {
+                    if(alarma==1){
                         Lugar=2;
                         rtc.getTime(tm);
-                        if(tm.min!=58)
-                        {
-                            Alarm.min=tm.min+1;
+
+                        switch(k){
+                            case 1:
+                                if(tm.min!=58){
+                                    Alarm.min=tm.min+1;
+                                }
+                                if(tm.min==59){
+                                    Alarm.min=0;
+                                    Alarm.hour=tm.hour+1;
+                                }
+                                Alarm.sec=tm.sec;
+                                led1 =1;
+                                lcd.cls();
+                                alarma=0;
+                            break;
+                            
+                            case 2:
+                                if(tm.min!=58){
+                                    Alarm2.min=tm.min+1;
+                                }
+                                if(tm.min==59){
+                                    Alarm2.min=0;
+                                    Alarm2.hour=tm.hour+1;
+                                }
+                                Alarm2.sec=tm.sec;
+                                led2 =1;
+                                lcd.cls();
+                                alarma=0;
+                            break;
+                            
+                            case 3:
+                                if(tm.min!=58){
+                                    Alarm3.min=tm.min+1;
+                                }
+                                if(tm.min==59){
+                                    Alarm3.min=0;
+                                    Alarm3.hour=tm.hour+1;
+                                }
+                                Alarm3.sec=tm.sec;
+                                led3 =1;
+                                lcd.cls();
+                                alarma=0;
+                            break;
+                            
+                            case 4:
+                                if(tm.min!=58){
+                                    Alarm4.min=tm.min+1;
+                                }
+                                if(tm.min==59){
+                                    Alarm4.min=0;
+                                    Alarm4.hour=tm.hour+1;
+                                }
+                                Alarm4.sec=tm.sec;
+                                led4 =1;
+                                lcd.cls();
+                                alarma=0;                            
+                            break;    
                         }
-                        if(tm.min==59)
-                        {
-                            Alarm.min=0;
-                            Alarm.hour=tm.hour+1;
-                        }
-                        Alarm.sec=tm.sec;
-                        lcd.cls();
-                        alarma=0;
-                        
                     }
                     
                 }
@@ -504,5 +616,102 @@
             
             break;
         }             
-    }       
-}
\ No newline at end of file
+    
+    }
+// Lazo de Config Alarmas   
+lazo:   int t=0;
+        numero=1;
+        while(t==0){    
+            m=wheel.getPulses(); 
+            lcd.locate(0,0);
+            lcd.printf("Config Alarma %02d",numero);
+            lcd.locate(0,1);
+            lcd.printf("-1  -2   -3  -4",tm.date);
+            if (m!=0){
+                numero=numero+m;
+                if(numero<1){
+                    numero=1;
+                    }
+                if(numero>4){
+                    numero=4;
+                    }
+                wheel.reset();  
+                    m=0;
+                    }
+                if(numero==1){
+                    led1 =1;
+                    led2 =0;
+                    led3 =0;
+                    led4 =0;
+                    lcd.locate(0,1);
+                    lcd.printf(">");                    
+                    lcd.locate(4,1);
+                    lcd.printf("-");
+                    lcd.locate(9,1);                    
+                    lcd.printf("-");
+                    lcd.locate(13,1);                    
+                    lcd.printf("-");
+                    wait(0.1);    
+                    }
+                if(numero==2){
+                    led1 =0;
+                    led2 =1;
+                    led3 =0;
+                    led4 =0;
+                    lcd.locate(0,1);
+                    lcd.printf("-");                    
+                    lcd.locate(4,1);
+                    lcd.printf(">");
+                    lcd.locate(9,1);                    
+                    lcd.printf("-");
+                    lcd.locate(13,1);                    
+                    lcd.printf("-");                  
+                    wait(0.1);
+                    }
+                if(numero==3){         
+                    led1 =0;
+                    led2 =0;
+                    led3 =1;
+                    led4 =0;
+                    lcd.locate(0,1);
+                    lcd.printf("-");                    
+                    lcd.locate(4,1);
+                    lcd.printf("-");
+                    lcd.locate(9,1);                    
+                    lcd.printf(">");
+                    lcd.locate(13,1);                    
+                    lcd.printf("-");                  
+                    wait(0.1);    
+                    }
+                if(numero==4){
+                    led1 =0;
+                    led2 =0;
+                    led3 =0;
+                    led4 =1;
+                    lcd.locate(0,1);
+                    lcd.printf("-");                    
+                    lcd.locate(4,1);
+                    lcd.printf("-");
+                    lcd.locate(9,1);                    
+                    lcd.printf("-");
+                    lcd.locate(13,1);                    
+                    lcd.printf(">");                  
+                    wait(0.1);
+                    }
+                        
+                if (button_enco.falling()){
+                    m=0;
+                    lcd.cls();
+                    lcd.locate(4,0);                        
+                    lcd.printf("Alarma %02d ",numero);
+                    lcd.locate(2,1);                        
+                    lcd.printf("Seleccionada");
+                    wait(1.5);
+                    lcd.cls();
+                    t=1;
+                    }
+        }       
+        goto sigo;
+
+}   
+