Boa noite,
Estou a tentar fazer uma chocadeira controlada pelo arduino UNO.
Controle de temperatura, humidade e volta de ovos de 6 em 6 horas.
Tenho o programa para o controle de humidade e temperatura a funcionar como descrito a seguir:
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x3F,16,2); //0X27F – 0X20F
#include “DHT.h”
#define DHTPIN 12
#define DHTTYPE DHT11 //DHT22
DHT dht(DHTPIN, DHTTYPE);
int relet=13;
int releh=10;
int vcc= 11; //crear pines de 5v
void setup() {
lcd.init();
lcd.backlight();
lcd.clear();
pinMode(relet,OUTPUT);
pinMode(releh,OUTPUT);
pinMode(vcc,OUTPUT);
dht.begin();
}
void loop() {
digitalWrite(vcc,HIGH);
int h = dht.readHumidity(); // Lee la humedad
int t= dht.readTemperature();
lcd.clear();//Elimina todos los simbolos del LCD
lcd.setCursor(0,0);//Posiciona la primera letra despues del segmento 5 en linea 1
lcd.print(“Humidade: “);
lcd.setCursor(8,0);
lcd.print(h);//Escribe la humedad
lcd.print(“%”);
lcd.setCursor(0,1);
lcd.print(“Temperatura: “);
lcd.setCursor(12,1);
lcd.print(t);//Escribe la temperatura
lcd.print(“C”);
delay (2500);
if(t>2)
{
digitalWrite(relet,LOW);
lcd.clear();
lcd.setCursor(0,0);
lcd.print(“RESISTENCIA OFF”);
delay(2000);
}
else
{
digitalWrite(relet,HIGH);
}
}
Sabemos que a função delay() gera uma pausa calculada na execução de uma programação, congelando o status da rotina durante este tempo. Por isso, ao usar o delay, não conseguimos executar nenhuma ação enquanto esta pausa é executada.
Gostaria da vossa ajuda para a resolução deste problema.
Os melhores cumpriimentos
Obrigado
António Henriques