Calcular tempo de uma variável

Olá, estou desenvolvendo um projeto, que consiste basicamente na abertura e fechamento de uma válvula solenóide, com o auxílio integrado de um relé. Eu gostaria de descobrir a duração de tempo em que a válvula fica aberta e fechada; e o tempo de resposta da válvula. E não sei, como programar isso. Desde já agradeço.

unsigned long tempoComandoAbre = 0;
unsigned long tempoAbrir = 0;
unsigned char trava = 0;

if (comando == ABRIR && trava == 0){
tempoComandoAbre = millis();
digitalWrite(pinoValvula, HIGH);
trava = 1;
}

if (comando == ABRIR && digitalRead(pinoAberta) {
tempoAbrir = millis() - tempoComandoAbre;
}

if (comando == FECHAR) trava = 0;

A lógica é mais ou menos esta. Depois podes adicionar condições para calculares o tempo de outros eventos.

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.