Problema con RTC

si si certo, io l'avevo capito...
per renderla più dinamica ho impostato tempo avvio e tempo arresto come variabili globali che vengono settate automaticamente in void setup... la funzione è quella sotto...

int tempo_avvio;
int tempo_arresto;
void setup()
{
 tempo_avvio = get_ora()-get_ora()%30;
 
 if(tempo_avvio == 1410)
 tempo_arresto = 30; 
   else
 tempo_arresto=tempo_avvio+30;
}
void loop()
{
// inizializzo i sensori
  delay(dht.getMinimumSamplingPeriod());
  acquisisco();
  scriviseriale();
  r_ali();
}

void r_ali(){
    int s=0; 
if(get_ora() >= tempo_avvio && get_ora()<=tempo_arresto){
  if(s==0){
    analogWrite(fans[0],150);
    s=1;
  } else if(s==1 && get_ora()>tempo_arresto){
     analogWrite(fans[0],150);
     tempo_avvio +=30;
     tempo_arresto +=30;
    }
  Serial.print(tempo_avvio);
  Serial.print("\t");
  Serial.println(tempo_arresto);
  }
}

ho dovuto mette un controllo sull'ora perchè se tempo avvio è uguale a 1410 (23:30) tempo arresto mi viene 1440 (24:30) che il mio RTC mi invia come 00:30 e get_ora() me lo interpreta come 30 e quindi non credo che in quella mezzora funzionerebbe...
grazie mille ancora...