Boa noite, é meu primeiro post, não sei se estou perguntando besteira ou errado, mas la vai.
Estou fazendo um programa para controlar uma rampa de cervejaria, e queria resetar o millis, no caso de trocas de uma rampa para outra, em cada rampa, ele começa a contar do 0.
Procurei em alguns topicos a encontrei um codigo:
timer0_overflow_count;
Alguem pode me explicar como funciona essa linha de codigo? ou se tiver outra solução.
O que tu pretendes vai dar asneira... porque vais deixar de ter um relógio que serve para todas as funções e passar a ter um relógio que serve apenas para uma função.
Já viste o exemplo blink without delay?? Porque achas que esse mecanismo não funciona para a tua aplicação??
Então, eu fiz uma função de preparação onde a agua esquenta até 38º, após isso ele entra em um FOR, onde funciona a primeira rampa, no caso:
Aqui é onde a agua esquenta para atingir os 38º
do
{
preparacao(); // 38
sensors.requestTemperatures();
Serial.print("Tempo :");
Serial.println(millis());
delay(50);
} while (temperature < 38);
Após isso ele irá para outro laço onde começa a primeira rampa, precisaria que o millis, começa-se a contar quando esse laço inicia, e quando ele terminar o ciclo desse FOR, o tempo reseta e começa uma nova rampa.
do
{
for (int i = 0; i < 900; i++){ // 55
sensors.requestTemperatures();
Serial.print("Tempo :\n");
Serial.println(millis());
rampa1();
}
} while (temperature < 55);
Rampa 2
do
{
for (int i = 0; i < 2400; i++){ // 64
sensors.requestTemperatures();
Serial.print("Tempo :");
Serial.println(millis());
rampa2();
}
} while (temperature < 64);
}
Então no caso, quando ele sair de uma rampa, e for para outra, eu reseto o millis, e começo a contagem novamente.
Não sei se meu código está enxuto, ou totalmente correto, já que não tenho nenhuma experiencia com programação.