Aqui esta o resto do programa, se me poder ajudar agradecia.
//---------------------------------------------------------void temperatura-----------------------------------------------------------//
void temperatura(){
File logFile = SD.open("LOG5.csv", FILE_WRITE);
DateTime now = rtc.now(); //Mostra a data e hora no LCD
botao = analogRead (0); //Leitura do valor da porta analógica A0 é guardada na variavel botao
delay(2000);
float h = dht.readHumidity(); // Cria a variavel que vai ler a Humidade
float t = dht.readTemperature(); // Cria a variavel que vai ler a Temperatura
lcd.clear();
lcd.createChar(0, grau); // Cria o caracter com o simbolo do grau
lcd.setCursor(0, 0);
lcd.print("Temp : ");
lcd.setCursor(13, 0);
lcd.print(t);
lcd.write(byte(0)); // Mostra o simbolo do grau
lcd.print("C");
lcd.setCursor(0, 1);
lcd.print("Humid : ");
lcd.setCursor(14, 1);
lcd.print(h);
lcd.print("%");
lcd.print(" ");
if (t > cont || (hora_atual + tempo) == now.hour()) { //Se "t" for maior que cont quer dizer a temperatura desejada foi atingida
digitalWrite(rele, LOW); //O rele passa a estar inativo
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Aquecedor");
lcd.setCursor(0, 1);
lcd.print("Desligado "); //Mensagem que aparece no LCD quando a temperatura ou as horas forem atingidas
logFile.print(daysOfTheWeek[now.dayOfTheWeek()]);
logFile.print(" ");
logFile.print(now.day(), DEC);
logFile.print("/");
logFile.print(now.month(), DEC);
logFile.print("/");
logFile.print(now.year(), DEC);
logFile.print(" ");
logFile.print(now.hour(), DEC);
logFile.print(':');
logFile.print(now.minute(), DEC);
logFile.println();
Serial.print(daysOfTheWeek[now.dayOfTheWeek()]);
Serial.print(" ");
Serial.print(now.day(), DEC);
Serial.print("/");
Serial.print(now.month(), DEC);
Serial.print("/");
Serial.print(now.year(), DEC);
Serial.print(" ");
Serial.print(now.hour(), DEC);
Serial.print(':');
Serial.println(now.minute(), DEC);
logFile.print("Aquecedor Desligado ");
Serial.print("Aquecedor Desligado ");
} else { //Se "t" nao for maior que cont quer dizer que a temperatura desejada ainda nao foi atingida
digitalWrite(rele, HIGH); //O rele passa a estar ativo
lcd.clear();
lcd.begin(16, 2);
lcd.clear();
lcd.createChar(0, grau); // Cria o caracter com o simbolo do grau
lcd.setCursor(0, 0);
lcd.print("Temp : ");
lcd.setCursor(13, 0);
lcd.write(byte(0)); // Mostra o simbolo do grau
lcd.print("C");
lcd.setCursor(0, 1);
lcd.print("Humid : ");
lcd.setCursor(14, 1);
lcd.print("%");
lcd.setCursor(8, 0);
lcd.print(t); //Apresenta a temperatura no LCD
lcd.write(byte(0));
lcd.setCursor(8, 1);
lcd.print(h); //Apresenta a humidade no LCD
delay(3000);
lcd.clear();
lcd.setCursor(0, 1);
lcd.print(now.day(), DEC);
lcd.print('/');
lcd.print(now.month(), DEC);
lcd.print('/');
lcd.print(now.year(), DEC);
lcd.print(" ");
lcd.setCursor(0, 0);
lcd.print(daysOfTheWeek[now.dayOfTheWeek()]);
lcd.setCursor(11, 0);
lcd.print(now.hour(), DEC);
lcd.print(':');
lcd.print(now.minute(), DEC);
logFile.print(daysOfTheWeek[now.dayOfTheWeek()]);
logFile.print(" ");
logFile.print(now.day(), DEC);
logFile.print("/");
logFile.print(now.month(), DEC);
logFile.print("/");
logFile.print(now.year(), DEC);
logFile.print(" ");
logFile.print(now.hour(), DEC);
logFile.print(':');
logFile.print(now.minute(), DEC);
logFile.println();
Serial.print(daysOfTheWeek[now.dayOfTheWeek()]);
Serial.print(" ");
Serial.print(now.day(), DEC);
Serial.print("/");
Serial.print(now.month(), DEC);
Serial.print("/");
Serial.print(now.year(), DEC);
Serial.print(" ");
Serial.print(now.hour(), DEC);
Serial.print(':');
Serial.println(now.minute(), DEC);
logFile.print("Temperatura: ");
logFile.print(t);
logFile.println(" *C");
Serial.print("Temperatura: ");
Serial.print(t);
Serial.print(" *C ");
logFile.print("Humidade: ");
logFile.print(h);
logFile.println(" %");
logFile.println();
logFile.close();
Serial.print("Humidade: ");
Serial.print(h);
Serial.println(" %");
Serial.println();
} //Fim do else
} //fim do temperatura
//---------------------------------------------------------void alterar-----------------------------------------------------------//
void alterar() {
lcd.clear();
lcd.print("Temperatura");
lcd.setCursor(0, 1);
lcd.print("Horas func");
do {
botao = analogRead(0); //Leitura do valor da porta analógica A0 é guardada na variavel botao
if (botao < 100) { //Verifica qual botao foi clicado ("RIGHT")
}
else if (botao < 200) { //Botao "UP": diminui a temperatura desejada
delay(300);
menu--;
lcd.clear();
lcd.print(">Temperatura");
lcd.setCursor(0, 1);
lcd.print(" Horas func");
delay(100);
if (menu == 0 || menu == 3)
menu = 1;
}
else if (botao < 400) { //Botao "DOWN": diminui a temperatura desejada
delay(300);
menu++;
delay(100);
lcd.clear();
lcd.print(" Temperatura");
lcd.setCursor(0, 1);
lcd.print(">Horas func");
if (menu == 0 || menu == 3)
menu = 1;
}
else if (botao < 600) { //Botao "LEFT": neste caso não faz nada
}
else if (botao < 800) { //Botao "SELECT": inicia o menu
if (menu == 1) {
temp_alterar();
} else if (menu == 2) {
horas_alterar();
}
return;
}
} while (botao != 800);
} //Fim do alterar
//---------------------------------------------------------void cartaoSD-----------------------------------------------------------//
void cartaoSD(){
Serial.begin(9600); //Inicia comunicação serial com 9600 de baud rate
Serial.println("Iniciando SD Card"); //Apresenta a frase no COM
pinMode(CS_pin, OUTPUT); //Configura o pino CS como saída
if (!SD.begin(CS_pin)) //Verifica se cartão SD está pronto
{
Serial.println("Falha ao abrir cartao SD");
return;
}
Serial.println("Cartao SD iniciado com sucesso!");
File logFile = SD.open("LOG5.csv", FILE_WRITE); //Cria e escreve num arquivo CSV
if (logFile)
{
Serial.println("O arquivo foi aberto");
Serial.println("\n");
}
else
{
Serial.println("Erro ao abrir arquivo");
}
} //fim do CartaoSD
//-----------------------------------------------------void temp_alterar----------------------------------------------------------//
void temp_alterar() {
lcd.clear();
lcd.print("Inserir temp:"); //Função que vai ser chamada para o menu
delay(300);
} //Fim do temp_alterar
//----------------------------------------------------void horas_alterar----------------------------------------------------------//
void horas_alterar() {
lcd.clear();
lcd.print("Inserir horas:"); //Função que vai ser chamada para o menu
delay(300);
} //Fim do horas_alterar