Temporizador monoestable con Arduino Mega (sin delay)

Hola a todos

Tengo problemas desarrollando un temporizador con la Arduino Mega, el problema es que debo encender un ventilador con un relé por 15 minutos cuando el nivel de la variable que leo llegue a cierto valor. p.e. si la temperatura llega a 30°C que active el ventilador por un tiempo de 15 minutos.

El funcionamiento es prácticamente como el de un temporizador monoestable. Cómo puedo implementarlo con código sin usar delay? o también como podría implementarlo usando los timers que la Arduino Mega contiene?

De antemano Gracias.

que tal algo asi:

int T=0;                            // Valor temperatura
int Max=30;                         // Temperatura maxima
unsigned long T_Ventilados=15000;   // Tiempo de funcionamiento  
unsigned long T_Apagar=0;           // Para controlar el tiempo consumido
bool Rele=false;                    // Estado del rele
void setup()
{
  Serial.begin(9600);
}

void loop()
{
  T=T+random(-1, 2);                // Valor rnd para emular la sonda de temperatura
  if (T>=Max && !Rele) {T_Apagar=millis()+T_Ventilados;}
  if (T_Apagar>millis()) {Rele=true;}
  else
  {
    Rele=false;
    T_Apagar=0;
  }
  
  Serial.print("Temperatura: ");
  Serial.print(T);
  Serial.print(" Estado rele: ");
  Serial.println(Rele);
}

Puedo usar el arduino con este ejemplo para que por medio de un boton pueda activar la salida por un tiempo de 8 horas? Gracias por su ayuda.

Lo que puedes o mejor debes, es crear otro hilo y poner una referencia Link a este porque nadie te va a responder algo que no tiene movimientos desde el 2014