Bom dia!
Estou trabalhando em um projeto no qual tento usar o horário do Módulo Data Logger Shield + RTC para definir os horários de ativação de um rele.
Para isso, usei o seguinte trecho de programação:
// Essa parte diz que a lampada ficará ligada das 6 as 18 e desligada das 18 as 6
if (((now.hour(), DEC) >= 6) && ((now.hour(), DEC) <= 18))
{
digitalWrite(rele_7, HIGH);
}
else (((now.hour(), DEC) < 6) && ((now.hour(), DEC) > 18));
{
digitalWrite(rele_7, LOW);
}
Contudo, ao chegar 18:00, o rele não foi desativado... Alguém saberia me indicar onde estou errando?
Em anexo estou enviando a programação completa, o trecho está em Void loop().
Muito obrigado pela atenção!
Uma boa semana a todos!
Tags:
Sua logica está errada, pois nunca será verdadeira. Como um número pode ser menor que 6 e maior que 18?
Remova a segunda condição ou coloque o operador OU
Muito obrigado! Vou testar assim que possível. Serial necessário colocar também o digitalRead nas condições?
Sim, você pode fazer chamada de função, atribuição de valor entre outras coisas.
Modifiquei o código:
if (digitalRead((now.hour(), DEC) == 6)) {
digitalWrite(rele_7, HIGH);}
else (digitalRead((now.hour(), DEC) == 18)); {
digitalWrite(rele_7, LOW);
}
Contudo, quando eu coloco o horário atual para testar, no LOW, o rele insiste em permanecer aceso. Poderia ser a declaração de variáveis?
[RESOLVIDO]
Fui até a FCA hoje e pedi ajuda de dois professores do Departamento de Bioprocessos e Biotecnologia, Dr. Guilherme Targino Valente e Dr. Rafael Plana Simões.
Ambos analisaram o que eu tinha feito e fizeram as seguintes modificações, o que resolveu problema:
// Essa parte diz que a lampada ficará ligada das 6 as 18 e desligada das 18 as 6
if ((now.hour(), DEC) >= 6 && (now.hour(), DEC) < 18) {
digitalWrite(rele_7, HIGH);
}
else {
digitalWrite(rele_7, LOW);
}
Na primeira versão (com o texto do tópico), como apontou Flávio Hernan, a lógica estava errada e também me orientou a remover a segunda condição ou usar o operador OU " || " . Ele estava correto e exatamente de acordo com o que os professores fizeram.
Fico muito agradecido pela grande ajuda e atenção!
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por