Encendido-apagado motor DC y variacion de velocidad con Arduino MEGA

Buen día,

Me encuentro realizando un proyecto en el que se debe generar un encendido y apagado de 5 segundos cada uno a un motor de 12V DC, ademas en su etapa de encendido poder variar su velocidad con una salida PWM y un potenciometro, se le ha integrado un mosfet IRFZ44N para controlar la corriente pero no he podido realizar las dos funciones al tiempo. Muchas gracias por la información que se me pueda suministrar.

int motor = 3;
int entrada_analogica = A0;

void setup() {
  pinMode (motor, OUTPUT);
  pinMode (entrada_analogica, INPUT);
  Serial.begin(9600);
}

void loop() {
  int valor_entrada_analogica = 0;
  int valor_salida_pwm = 0;

  valor_entrada_analogica = analogRead(entrada_analogica);
  valor_salida_pwm = map(valor_entrada_analogica, 0, 1023, 0, 255);
  analogWrite(motor, valor_salida_pwm);

  digitalWrite(motor, HIGH);
  delay(5000);
  digitalWrite(motor, LOW);
  delay(5000);
}

No lo lograras con delays de 10 segundos, tomas cada 10 segundos una lectura del potenciómetro. Debes utilizar la función milis().
Saludosc :o

La verdad es que hasta ahora comienzo a usar Arduino y se me pasan muchas cosas. Muchas gracias por la información.