Boa noite!

A algum tempo atrás montei um controlador timer para automatizar a iluminação de um aquário meu, utilizei um arduino uno, um rtc e um módulo de relés com 4 canais. Está funcionando perfeitamente. 

Agora montei um outro sistema idêntico para um outro aquário, só mais simples pq são apenas 2 acionamentos, mas estou tendo problemas com o RTC, não consigo fazer a leitura correta da variável hora. 

Nesse projeto estou usando um arduino nano e um RTC DS1307 a variável hora não consigo ler, fica sem assim: 

Hora: 0:46:31

O RTC parece estar funcionando corretamente pq ajustei na semana passada e os minutos estão batendo certinho hoje, mas a hora fica sempre 0. 

Se alguém puder me dar uma ideia do que pode ser eu agradeço muito. 

Esse é o código (Por favor peguem leve, sei q o código é bem zoado mas só sei o básico de arduino): 

Automa__o_Aqu_rio2.ino

Exibições: 306

Responder esta

Respostas a este tópico

Boa noite ALS, (se não gosta que te chame pelas iniciais, avise),

Recomendações:
1. Remova seu sketch da área de texto do seu tópico;
2. Leia http://labdegaragem.com/forum/topics/sugest-o-de-como-postar
3. Comente as linhas do seu sketch. Fica mais fácil entender o que vc quer fazer com cada
    linha e facilita a ajuda.
4. Clique em : " Deseja carregar arquivos? " e depois em " Escolher arquivo" e anexe o arquivo
    com o seu sketch.

RV mineirin

Bom dia!

Obrigado pela informação, acho que ficou certo agora.

Olá Alan.

   1. Siga as recomendações do RV Minerim. Isto ajuda a nós e a você.

   2. Não tenho ideia do porque isto acontece, mas comece corrigindo um erro no seu sketch:

      Substitua a linha

             if (Hor=9&&Min<=30){ //Aciona Led Normal

por

             if ( ( Hor==9) && ( Min<=30) ){ //Aciona Led Normal

   3. Outra dica: Sempre coloque as expressões dentro de parênteses( faça isto em todo o seu sketch ), como na linha que sugeri como substituta. Nunca confie nas regras de precedência do compilador, pois são muito traiçoeiras!

Espero ter ajudado.

D. T. Ribeiro.

Bom dia!

Obrigado pela dica, acertei isso no código e repostei.

Bom dia  ALS, (se não gosta que te chame pelas iniciais, avise),

que bom que você entendeu a necessidade das recomendações.

Automa__o_Aqu_rio2_V02.ino

Vi que você corrigiu o erro encontrado no seu código e fez o ajustes dos parêntesis recomendados

pelo amigo DTR.

Testei aqui o seu sketch e ele leu corretamente a data/hora.

Depois de testar OK, acrescentei no final um delay de 500ms , só para ver melhor o resultado no serial monitor.

Como é 500 ms, ele imprime 2 vezes igual o mesmo horário.

 veja a listagem abaixo.

Listagem:

Hora: 9:11:24
Hora: 9:11:24
Hora: 9:11:25
Hora: 9:11:25
Hora: 9:11:26
Hora: 9:11:26
Hora: 9:11:27
Hora: 9:11:27
Hora: 9:11:28
Hora: 9:11:28

Obrigado, será q pode ser algum mal contato na solgagem do módulo com o arduino então?

Olá,

Simulei seu codigo no Proteus, ele funciona normalmente, mostrando hora, minuto, segundo. 

Uma conexão errada? Acredito que não daria este erro e sim outros.

Seu ds1307 esta com problemas? Se tiver outro teste.

Abs.

CK

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço