Olá estou inciando um projeto no qual preciso que meu programa mostre quantas horas o sensor de pressão de um banco de motorista estar Pressionado , resumindo saber quanto tempo o motorista ficou sentado durante o dia.
ja comecei o sketch mas preciso de ajuda sou iniciante em programação , toda ajuda e bem vinda
Com RTC vou usar 3 variáveis, uma pra guarda o tempo inicial , outra pra guarda o tempo final e, outra pra guarda o tempo acumulado que é = tempo_inicial - tempo_final e com essa subtração vou ter o tempo que o motorista esteve sentado.
alguém souber ou tiver um sketch pra me ajudar eu agradeço desde de já.
Olá. Sugiro fazer uma variavel q incrementa a cada ciclo do arduino. O arduino executa 16 milhoes de ciclos por segundo, ou seja, trabalha numa frequencia de 16 MHz. A soluçao basica disso seria
long i = 1;
while (botao == HIGH) {
i++; // equivalente a i = i + 1
}
tempo = i/(16E06) // segundos
A ideia é bem simples, tao simples q nao sei se realmente funciona, apesar da logica estar correta.
danicomartins:
A ideia é bem simples, tao simples q nao sei se realmente funciona, apesar da logica estar correta.
A lógica não liga a erros de arredondamento, não liga a condições de lógica que implicam que o ciclo pode demorar 1 nanosegundo ou 10 e não liga ao facto de poder acumular erros muito facilmente. Ou seja, não funciona de maneira nenhuma.
Uma das soluções para este problema seria o uso de millis dependendo da precisão necessária ou um RTC. Existem bastantes bibliotecas para ler RTC e o resto da lógica é simples de completar.