const int LED1 = 13;
const int LED2 = 12;
unsigned long currentMillis,previousMillisLed1;

void setup() {
   pinMode(LED1, OUTPUT);
   pinMode(LED2, OUTPUT);
}
void loop() {
  currentMillis=millis();
  Led1Handle();
}

void Led1Handle()
{
  static bool change=true;//Podemos accedere a ella siempre desde esta función y guarda el valor de la ultima vez que se ejecuto
  if(change)
  {
    change=false;
    if(digitalRead(LED1)==LOW)
      digitalWrite(LED1, HIGH); 
    else
      digitalWrite(LED1, LOW); 
  }

  if((currentMillis-previousMillisLed1)>=500)
  {
    previousMillisLed1=currentMillis;
    change=true;
  }
}