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)
////////////////////////////////////////////////////
//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);
}
}