Bom dia. Estou usando um código para dht22, rtc e sd card e os dados estão sendo gravados a cada um minuto. 

Preciso aumentar esse tempo para, por exemplo, a cada 10 min, mas não sei como/onde inserir esse delay.

Alguém poderia dar uma mão????

Grato

Exibições: 598

Anexos

Responder esta

Respostas a este tópico

Perceba que seu código está programado para gravar no SD quando os segundos forem igual a zero, por isso grava a cada minuto.

Para gravar a cada 10 minutos, uma possível solução é mudar sua condicional para que, além de checar se segundos é igual a zero, o seu sistema faça checagem também dos minutos para ver se a divisão dos minutos por 10 resulta em resto da divisão igual a zero (exemplo: minutos 0 dividido por 10 resulta em resto zero, portanto grava no sd se segundos também for igual a zero; minutos 10 dividido por 10 resulta em resto zero, portanto grava em sd se segundos também for igual  a zero; minutos 15 dividido por 10 resulta em resto igual a 5, portanto não grava no sd)

O nome dessa função matemática que obtém o resto da divisão se chama módulo: 

https://www.arduino.cc/en/Reference/Modulo

Meu caro, obrigado pela resposta. Vou tentar fazer mas não sei se acerto..rsrsr

De qualquer forma, lhe agradeço.

Só mais uma coisa, eu estou usando esse código e quando salvo em txt e abro no excel os dados ficam todos em uma única coluna. Vc saberia como colocar da seguinte forma:

1ª coluna     2ª coluna             3ª coluna           4ªcoluna

data???        hora????           temperatura         umidade????

data???        hora????           temperatura         umidade????

data???        hora????           temperatura         umidade????

etc...

Anexos

é importante que vc providencie a gravação desse arquivo txt com algum separador (delimitador) de coluna, por exemplo marca de tabulação, ou ponto e vírgula, ou barra, enfim pode ser qualquer delimitador de sua preferência, desde que vc garanta que ele apareça no arquivo somente com essa finalidade, isto é, para indicar separação de coluna

dentro do excel, vá ao  menu arquivo e escolha a opção abrir

na janela que se abre, configure a extensão do arquivo para exibir também a extensão txt

selecione o arquivo txt e mande abrir

no assistente de importação que se abre,  atente para marcar a opção "DELIMITADO" (sendo que a outra opção seria "LARGURA FIXA") e mande avançar

na segunda tela do assitente, marque a opção que indica o delimitador que vc usa do arquivo txt

aproveite para averiguar se no painel de visualização de como irá ficar os dados tabulados está tudo correto

feito isso, basta concluir

(OBS: esses procedimentos são para o excel 2003; por não ter me adaptado ao excel mais novos, não tenho nas minhas minhas máquinas, então se vc tiver um excel mais moderno, provavelmente vc terá que adaptar determinados passos)

Caro Imhugo e rui, agradeço pela atenção. Fiz o que me recomendaram e consigo separar as informações por coluna no excel com exceção da de umidade que fica na mesma coluna da data arquivo anexo). O que acham? Será que existe uma forma de ajustar esses dados de umidade para ficarem em outra coluna independente?

Grato

Anexos

Boa tarde José Neto, ao invés de anexar o arquivo excel, anexo o arquivo txt gerado pelo arduino

Só assim será possível diagnosticar onde está o erro.

Imhugo, agradeço de novo. Segue o arquivo txt.

Abraços

Anexos

vc não enxergou onde está o erro nesse seu arquivo txt?

veja sua reclamação: "consigo separar as informações por coluna no excel com exceção da de umidade que fica na mesma coluna da data"

o erro acontece porque os dados de umidade estão na primeira coluna. Seu arquivo contém uma quebra de linha ao final da temperatura, fazendo com que os dados de umidade fiquem na linha seguinte. Não pode!

Cada leitura feita numa determina data/hora deverá conter todos os dados numa mesmo linha, tipo assim: 

Data: 12/11/2015 Hora: 09:42:01 T 22.00 U 42.80
Data: 12/11/2015 Hora: 09:43:01 T 21.90 U 40.60

Assim é errado:

Data: 12/11/2015 Hora: 09:42:01 T 22.00
U 42.80
Data: 12/11/2015 Hora: 09:43:01 T 21.90
U 40.60

Imhugo, eu vi o erro sim, mas quando eu retiro o ";" pra deixar tudo na mesma linha o programa não compila.

Oi JN, bom dia.

Posta (em arquivo anexo) o seu code que envia os dados

para o SD, para que possamos entende-lo e sugerir correções.

Rui

Aqui está o código. Ele é resultado de uma compilação de alguns que baixei.

Anexos

o erro está na linha 151 desse seu sketch:

onde está escrito:

file.println(te);

corrija pra ficar:

file.print(te);

Esse "ln" na palavra "println" faz quebrar a linha, portanto deve ser suprimido

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço