Automatizar incubadora.

curro92:
Hola,
busca en Google Arduino sin delay, hay muchos sitios donde explican cómo hacer temporización con millis(), por ejemplo
Proyectos Arduino - Ikkaro

Muchisimas gracias por tu ayuda.
He modificado el codigo dejandolo tal que asi:

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

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

long previousMillis = 0

#define CALEFACCION 10    //Digital 10
#define HUMIDIFICADOR 11  //Digital 11
#define MOTOR 12          //Digital 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);
  }
  
  unsigned long currentMillis = millis();
  if (currentMillis - previousMillis > 1800000)
  {
    previousMillis = currentMillis;
    digitalWrite (MOTOR, HIGH);
    delay (3000);
    digitalWrite (MOTOR, LOW);
  }
}

Pero no se por que me da errores con la libreria del DHT y si lo dejo como estaba me compila sin problemas. Tienes idea de por que puede ser??
Muchisimas gracias.
Los errores son los siguientes:

Controlador_incubadora_2:17: error: expected ',' or ';' before 'DHT'
Controlador_incubadora_2.cpp: In function 'void setup()':
Controlador_incubadora_2:25: error: 'dht' was not declared in this scope
Controlador_incubadora_2.cpp: In function 'void loop()':
Controlador_incubadora_2:36: error: 'dht' was not declared in this scope