Boa noite a todos;

Sou praticante de Arduíno e tenho pouco conhecimento com a programação , mas gostaria de saber se vocês poderiam  me ajudar nas seguinte condições:

1ª TELA   ( HORAS, DIA DA SEMANA E CALENDÁRIO  )    // UTILIZO  O RTC DS 3231

2ª TELA   ( TEMP. ATUAL , TEMP. MIN. , TEMP. MAX)      // UTILIZO O SENSOR 18B20

                                                                                                // UTILIZO O DISPLAY LCD 16 X 2 

Preciso fazer com que as  2 (duas) telas  fique alternado no LCD 16 x 2  através do tempo determinado, que seja que cada tela fica  5 segundos , após muda de tela  e fica + 5 segundos  sempre alternando as telas .  Consegui fazer isto com o Delay  ; porém  como estou utilizando o RTC  os segundos fica sem mudar de valor e só na próxima vez que aparecer a tela do RTC  que vejo o valor do segundo mudado. Seria por causa do Delay ,  mas não consegui fazer com a função Millis   que seria o correto.

Tentei utilizar o Millis como exemplo do Blink ,mas não deu certo.

Alguém de vocês poderia me ajudar ??

Grato a todos.

Marlén

Exibições: 590

Responder esta

Respostas a este tópico

Tem varias possibilidades.

Uma delas seria vc usar o proprio RTC.

Leia em loop o RTC e use a informação de segundos.

Teste se segundos % 10 é maior que 4, assim para

0, 1, 2 ,3 e 4 fica de um jeito

para 5, 6, 7 ,8 e 9 fica de outro.

% no caso gera o resto da divisão (mod)

Fica algo como:

if ((t.sec%10) >4) {

...Escreva aqui o codogo para tela tipo 1.

} else {

... Escreva aqui o codigo para tela tipo 2.

}

Ou algo assim.

Tira um zero de cada delay() pra ver se resolve... Esses programas lotados de delay costumam fazer isso.

Ou reposte o programa como ficou pra ver o q pode ser.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço