boa tarde, estou tendo problemas com a função delay no arduino, estou usando um lm35 e RTC, o programa esta rodando certo, o problema é que o delay de 10s do lm35, trava por 10s os segundos do rtc, congelando o tempo dele, gostaria de alguma sujestão.

obrigado a todos

https://pastebin.com/RLsgUkgF

Exibições: 300

As respostas para este tópico estão encerradas.

Respostas a este tópico

Boa noite Sr. V.

no lugar do delay, use uma das opções:

1. A função millis();

2. A contagem da saída SQW do RTC.

RV

boa tarde, apliquei a função millis no final do programa, mas não obtive exito, ele esta ignorando, por algum erro que não descubro

unsigned long delay1 = 0;

if ((millis() - delay1) >= 10000){
Serial.print("Temp: ");
Serial.println(temperatura);}
delay1 = millis();

Sr, V, boa noite,

a linha delay1 = millis(); tem que estar entre as chaves da condição "if ((millis() - delay1) >= 10000)",

se não fica sempre atualizando a variável delay1 e nunca atinje o valor estabelecido.

Veja como deve ficar neste exemplo:

primeiro carrega o delay1 no setup() e depois carrega cada vez que estoura o valor, mas dento do if.

https://pastebin.com/mfhcG29Z

RV

perfeito mestre, o problema era o delay millis fora das chaves como você informou, 

grato novamente pela sua ajuda 

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço