juntar uma saida temporizada

Boas , precisava de juntar uma saida com um "delay " para fazer trabalhar um motor durante uns segundos e depois parar dutante 4 horas mas sem interferir no resto do programa (codigo).
Alguem me pode ajudar? sou ainda principiante no arduino.
Obrigado

int led =6;
bool ledState=0;
long prevMillis=0;
int led_delay=1500;


void setup() {
 while(!Serial);
  pinMode (led,OUTPUT);
  
}

void loop() {
 if(millis()-prevMillis > led_delay){
  ledState =!ledState;
  digitalWrite(led,ledState);
  prevMillis=millis(); }


}

suponho que seja com essa funcao millis mas nao consigo mudaar os tempos. 5 segundos en HIGH e 4 horas em LOW
obrigado pela eventual ajuda

5 segundos são 5000 milisegundos.

4 horas são 4 * 60 * 60 * 1000 = 14400000

const unsigneld long ON_delay = 5000;
const unsigned long OFF_delay = 14400000;

unsigned long prevMillis=0; 
unsigned char state = 0; 

void setup() {
  pinMode (led,OUTPUT);
}


if (millis() - prevMillis > OFF_delay && state == 0) {
   //passaram 5 segundos e o motor estava ligado.
   digitalWrite(led, HIGH);
   state = 1; 
   prevMillis = millis(); 
}


if (millis() - prevMillis > ON_delay && state == 1) {
   //passaram 5 segundos e o motor estava ligado.
   digitalWrite(led, LOW);
   state = 0; 
   prevMillis = millis(); 
}