Automatizar incubadora.

He estado investigando el comando "millis()" y he añadido algo al codigo. A ver si alguien me puede decir si esta aceptablemente bien asi o si he hecho algo mal. En principio el IDE me da el aprovado 8) :smiley: :stuck_out_tongue_closed_eyes:

////////////////////////////////////////////////////
//CONTROLADOR INCUBADORA PARA HUEVOS              //
//AUTOR: MARTIN ROMERO VIEITES                    //
////////////////////////////////////////////////////


#include <DHT.h>
#include <LiquidCrystal.h>

#define CALEFACCION 10
#define HUMIDIFICADOR 11
#define MOTOR 12
#define DHTPIN 15  //Analogico 1
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
LiquidCrystal lcd(8,9,4,5,6,7);

void setup()
{
  Serial.begin (9600);
  lcd.begin (16,2);
  dht.begin();
  
  pinMode (CALEFACCION, OUTPUT);
  pinMode (HUMIDIFICADOR, OUTPUT);
  pinMode (MOTOR, OUTPUT);
}



void loop()
{
  float h = dht.readHumidity();
  float t = dht.readTemperature();
  if (isnan (t)  ||  isnan (h))
  {Serial.println("Fallo sensor DHT");
  }
 
  else
  {
    lcd.setCursor(0,0);
    lcd.print("Temperatura ");
    lcd.print(t,0);
    lcd.print("C");
    lcd.setCursor(0,1);
    lcd.print("Humedad    ");
    lcd.print(h,0);
    lcd.print("%");
    delay(1200);
  }
 
 
  if (t <= 36)
  {
    digitalWrite (CALEFACCION, HIGH);
  }
 
  if (t >= 38)
  {
    digitalWrite (CALEFACCION, LOW);
  }
  
 
  if (h <= 55)
  {
    digitalWrite (HUMIDIFICADOR, HIGH);
  }
 
  if (h >= 65)
  {
    digitalWrite (HUMIDIFICADOR, LOW);
  }
  
  
  if (millis() >= 1800000)
  {
    digitalWrite (MOTOR, HIGH);
    delay (3000);
    digitalWrite (MOTOR, LOW);
  }
}