// Calcula media de temperatura e imprime no monitor
mediaTemp=calculaMedia();
//if(temperatura!=ultimaTemp){
//ultimaTemp=temperatura;
Serial.print("Temperatura: ");
Serial.println(mediaTemp);
//temperatura = temperatura / 10; //faz a leitura analógica da porta A1 (sensorTemperatura) passando por um cálculo que ajusta os valores
//if (temperatura != ultimaTemp) { //imprime na porta serial apenas se o valor de temperatura mudar
//ultimaTemp = temperatura;
intvalorUmidade=map(analogRead(sensorSolo),0,1023,137,0);//faz a leitura analógica da porta A0 (sensorSolo) passando pela função map() para ajustar os valores lidos às porcentagens que queremos utilizar
if(valorUmidade!=ultimaUmid){//imprime na porta serial apenas se o valor de umidade mudar
ultimaUmid=valorUmidade;
}
Serial.print("umidade: ");//imprime no monitor serial a as palavras umidade, temperatura e seus respectivos valores
Serial.print(valorUmidade);
Serial.println("%");
Serial.print("temperatura: ");
Serial.println(mediaTemp);
lcd.clear();//exibe no lcd as informações do serial
lcd.setCursor(0,0);
lcd.print("umidade: ");
lcd.print("%");
lcd.print(valorUmidade);
lcd.setCursor(0,1);
lcd.print(" temp: ");
lcd.print((char)223);
lcd.print("C");
lcd.print(mediaTemp);
// Exibe as informacoes dos sensores no LCD
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Umidade: ");
lcd.print("%");
lcd.print(valorUmidade);
lcd.setCursor(0,1);
lcd.print(" Temp: ");
lcd.print((char)223);
lcd.print("C");
lcd.print(mediaTemp);
// Testa se é necessario acionar valvula d'agua
if(estadoRele==AUTO){
if(valorUmidade>=30){//liga e desliga relê que controla a valvula solenoine quando menos de 30% de umidade
digitalWrite(8,LOW);
//
// Aciona rele se umidade estiver baixa
//
if(valorUmidade>=30){
digitalWrite(8,LOW);
}else{
digitalWrite(8,HIGH);
}
}
}
// Espera por INTERVALO (horas) e repete o procedimento