Boa noite! Estou com um problema em um código que estou desenvolvendo, o codigo possui 2 comandos selecionando uma determinada hora para que o arduino faça a leitura de data, hora, temperatura e humidade e grave no SD Card, a seleção da hora a ser gravada é feita usando um comando IF, eu quero que seja feita a gravação de hora em hora. Porém como podem ver no código, tem 2 comandos IF um para cada hora desejada, só que o arduino so obedece o primeiro comando IF e pula o segundo, ou seja, ele so grava os dados uma vez e não grava novamente. se eu aperto o reset do arduino ele adiciona uma nova gravação, porem preciso que ele faca as gravaçoes pelo codigo e não resetando. Agradeço muito quem puder me ajudar, já faz alguns dias que estou tentando resolver, sou iniciante e sei pouco ainda.
Desde já muito obrigado a todos!!
Ass. Eduardo Junior.
Tags:
Boa noite EJAR,
qual Arduíno vc está usando no seu projeto?
Vc está ligando o pino CS do SD card em qual port do Arduíno?
Ele por "default" é ligado no port 10, mas vc está usando o port 10 para o DHT.
Isto pode estar gerando conflito e travando o Arduíno.
https://www.usinainfo.com.br/blog/projeto-arduino-sd-card-leitura-e...
RV
Boa noite amigo, obrigado pela resposta!
Eu estou usando o Arduino Uno, nesse link que vc me enviou eu ja tinha visto antes quando estava montando o projeto, no linga tem uma imagem que mostra o CS do Sd card ligado no pino 10, mas no vídeo ele liga o CS no pino 4. Vou tentar fazer uma outra alteração aqui para ver no que da. Obrigado por responder.
Boa noite EJAR,
O SD card que vc usa é um módulo https://www.filipeflop.com/blog/cartao-sd-com-arduino/
ou é parte do WiFi shield? https://store.arduino.cc/usa/arduino-wifi-shield
RV
Boa noite EJAR,
se sketch tem alguns problemas.
Primeiro:
Conflito do port 10 do Arduíno usado pelo DHT.
Ao detectar a primeira coincidência de horário, o sketch passa a gravar os valores no SD card,
ao terminar, por conflito de port, ele não consegue mais ler o DHT, e com isto fica retornado ao inicio do loop(),
por causa deste if:
if (isnan(h) || isnan(t))
{
Serial.println("Falha ao ler dados do sensor DHT !!!");
return;
}
Assim sendo, não consegue mais entrar em nenhum "if" de horário.
Mudei o port de 10 para 8 e funcionou corretamente.
Segundo:
Os "ifs"
if (dt.hour == 16 && dt.minute == 15)
e
if (dt.hour == 17 && dt.minute == 15)
são satisfeitos durante 1 minuto, ou seja, durante 60 segundos o sketch fica gravando dados no SD card.
1 minuto grava um monte de linhas no seu arquivo.
Acho que não é isto que vc quer. Correto?
Use uma variável pra que ao gravar uma vez naquele minuto, não grave novamente.
RV
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por