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