Ayuda controlador para terrario

Hola me llamo Manuel, tengo un arduino mega controlando una pantalla de leds para un terrario tropical, al cual quiero ponerle una bomba de agua para la humedad del mismo. Decir que no tengo ni idea de programación en arudino ni en nada, el codigo que tengo lo ha hecho un compañero de un foro de acuarios y no quiero molestarlo mas ya que cada dia anda con nuevos proyectos de mas compañeros y está bastante liao.

Bueno mi caso es que está todo funcionando menos la bomba de agua que va conectada a un deposito, dicha bomba me gustaria poder programarla para que funcione 5 veces al dia, se encinde a traves de un rele cuando arduino le da la orden, el problema es que no puede estar funcionando mas de 30 segundos aprox. ya que se quemaria si estuviese mas tiempo.

La funcion de la bomba es para que en el terrario se mantenga una humedad alta y constante ya que lleva 2 boquillas nebulizadoras que hacen que el agua salga muy finita haciendo hasi el efecto lluvia en el terrario.

Este trocito de codigo es donde va configurada las horas de la lluvia a la que quiero que se active.
Hay algo que falla, ya que el rele se queda siempre encendido y no corta como es de esperar. Bueno no me enrollo mas si hace falta mas datos preguntadme porfavor,

void Lluvia() {
if((hour == 8)&&(minute == 45)){
digitalWrite(PinLluvia, LOW);
delay(30000);
digitalWrite(PinLluvia, HIGH);
}
if((hour == 11)&&(minute == 45)){
digitalWrite(PinLluvia, LOW);
delay(30000);
digitalWrite(PinLluvia, HIGH);
}
if((hour == 14)&&(minute == 45)){
digitalWrite(PinLluvia, LOW);
delay(30000);
digitalWrite(PinLluvia, HIGH);
}
if((hour == 17)&&(minute == 45)){
digitalWrite(PinLluvia, LOW);
delay(30000);
digitalWrite(PinLluvia, HIGH);
}
if((hour == 20)&&(minute == 45)){
digitalWrite(PinLluvia, LOW);
delay(30000);
digitalWrite(PinLluvia, HIGH);
}
else{
digitalWrite(PinLluvia, 0);

}}

Saludos