Advertisement
hidromotic

ExplicacionesProyectoEvalacionITES

Jun 30th, 2020
1,187
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.91 KB | None | 0 0
  1. //https://pastebin.com/9fEnxkgr
  2.  
  3. 30/06/2020
  4. char fecha[]={"200630"};    //AAMMDD
  5. char hora[]={"0959"};   //
  6.  
  7. IncrementarFecha(); //Incrementa en un día, la variable fecha
  8.  
  9. bool transmitir_hora=0;
  10.  
  11. loop()
  12.     {
  13.     ActualizarHora();   //Se encarga de mantener actualizada la hora
  14.     TransmisionSerie();
  15.     RecepcionSerie();
  16.     ActualizaDisplay();
  17.     SupervisaMenu();
  18.     ActualizarMenu();
  19.     CtrlAlarma();
  20.     }
  21.  
  22. voir ActualizarMenu(void)
  23.     {
  24.     static unsigned char opcion_ant=-1;
  25.  
  26.     //Sigue en el menu
  27.     //se cambió de opción
  28.  
  29.     if(opcion != opcion_)
  30.     switch(opcion)
  31.         {
  32.  
  33.         }
  34.  
  35.     opcion_ant=opcion;
  36.     }
  37.  
  38. #define ADC_PIN A5
  39. #define LEER_ADC    AnalogRead(ADC_PIN)
  40.  
  41.  
  42. void SupervisaADC(void)
  43.     {
  44.     adc=LEER_ADC;   //adc va de 0 a 1023
  45.     opcion=DeterminarPosicion(adc);
  46.     if(opcion==opcion_ant) return;
  47.  
  48.     }
  49.  
  50. DeterminarPosicion(unsigned int valor)
  51.     {
  52.     if(valor < 250) return(OPCION_1);   //0-25%
  53.     if(valor < 500) return(OPCION_2);   //25-50%
  54.     if(valor < 750) return(OPCION_3);   //50-75%
  55.     return(OPCION_4);                   //75-100%
  56.     }
  57.  
  58. void RecepcionSerie(void)
  59.     {
  60.     if(!Serial.available()) return;
  61.  
  62.     if(!se_recibio_encabezado)
  63.         {
  64.         dato=Serial.read();
  65.         if(dato!='#') return;
  66.         se_recibio_encabezado=1;
  67.         return;
  68.         }
  69.     //#Actualiza--> Activar Alarma
  70.     //#FL
  71.     //#FA0923
  72.    
  73.     dato=Serial.read();
  74.     switch(dato)
  75.         {
  76.         case 'F':  
  77.         case 'A':   armar=1;    se_recibio_encabezado=0;    break;
  78.         }
  79.     }
  80.  
  81. void TransmisionSerie(void)
  82.     {
  83.     if(tramisitir_hora)
  84.         {
  85.         transmitir_hora=0;
  86.         Serial.print(hora);
  87.         }
  88.     }
  89.  
  90. void ActualizarHora(void)   //Actualiza la variable hora
  91.     {
  92.     //Si no pasaron 60 segundos, salir
  93.     if(millis() - millis_ini < 60000) return;
  94.     millis_ini=millis();
  95.    
  96.     imprimir_hora=1;
  97.  
  98.     if(hora[3]<'9')
  99.         {
  100.         hora[3]++;
  101.         return;
  102.         }
  103.     //las unidades de los minutos es 9
  104.     hora[3]='0';
  105.     if(hora[2]<'5')
  106.         {
  107.         hora[2]++;  //Decenas de los minutos
  108.         return;
  109.         }
  110.     hora[2]=0;
  111.     //Incrementar la hora
  112.     //...
  113.  
  114.     //Cuando llegue al final del día
  115.     IncrementarFecha();
  116.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement