Würde gehen.
Aber eigentlich reicht einer-als "Tick" nimmst du halt die kürzesten Intervalle, die du brauchst.
Und die zählst du einfach hoch, um auf längere zu kommen....
Das hier ist der Timer vom XP2- der tickt jede Sekunde, zählt die aber auch hoch, so dass ich Intervalle von bis zu 20 Sekunden habe.
So hab ich einmal den Sekunden-Takt (tick, tack, tick, tack) , aber eben auch nen 20-Sekunden-Takt (den man auch noch unterteilen könnte, wenn man will).
mit intervallTimer=500 könnte man den auch jede halbe Sekunde ticken lassen, ganz wie man will.
Du musst einfach nur den "kleinsten gemeinsamen Nenner" finden, und den dann als Basis benutzen.


Code:
void timer()  // ******************************** Bord-Schaltuhr ****************************************                
{
  unsigned long aktuelleMillis = millis();  // Millisekunden auf den aktuellen Wert stellen

  if (aktuelleMillis - vorherigeMillis >= intervallTimer) // immer wenn 1000 Millisekunden um sind
  {
    akkuMessFlag=0;              //alle gemacht-Flags zurücksetzen
    serialFlag=0;
    lichtMessFlag=0;
    vorherigeMillis = aktuelleMillis;
    if(sekundeTick==0)          // Sekunde-Tick wechselt jede Sekunde zwischen 0 und 1
      {
        sekundeTick=1;
       
         
       }
     else
      {
        sekundeTick=0;
       }
    if(timerTick<20)            // Timer-Tick zählt hoch bis 20, und fängt dann wieder bei 0 an
    {
      timerTick++;
    }
    else
    {
      timerTick=0;
      
    }
    
  }
}