Como marcar instantes de tempo através de um sensor óptico?

Bom dia, tudo bom?

Estou desenvolvendo um projeto, o qual necessita marcar instantes de tempo em pontos diferentes. Isso é, um objeto fará uma trajetória  pré-definida, e nesse trajeto haverão alguns sensores (TCRT5000 - detecta objeto e retorna 0, caso não esteja vendo nada retorna 1). Preciso fazer uma espécie de contador de tempo, o qual precisa me falar em qual instante (segundos e centésimos) que ele passará em cada um dos sensores. Portanto, passou no t1 marcou X, passou no t2 marcou y, e assim por diante. Estava pesquisando e acredito que a biblioteca MsTimer 2 é uma boa opção, contudo, não sei como utilizá-la e não encontrei muito material para me ensinar a fazer isso.

O ponto é, como marcar instantes de tempo através desses sensores que retornam 1 ou 0. Resumindo, o objeto passou no 1 em 5s, no 2 em 10s e no 3 em 15.3s. Neste caso sensor[0] = 5, sensor[1] = 10, sensor[2] = 15.3. Como faço isso? 

Desde já agradeço a atenção!!

Exibições: 171

Responder esta

Respostas a este tópico

 

      Está usando que plataforma? Arduino? ESP?

     À princípio não há nem a necessidade de bibliotecas. Você pode simplesmente utilizar uma função de interrupção associada a cada sensor, que, quando houver a borda de descida (mudança de 1 para 0), armazena o tempo numa variável. Você pode usar a função millis() ou micros(), dependendo da precisão necessária.

Material para estudo:

Interrupções:   https://www.arduino.cc/reference/pt/language/functions/external-int...

Millis:   https://www.arduino.cc/reference/en/language/functions/time/millis/

Micros:   https://www.arduino.cc/reference/en/language/functions/time/micros/

Boa tarde! Estou utilizando arduino... Eu estava pensando em outras coisa kkk, usar a função millis() é muito mais simples e adequado para o que estou fazendo. Obrigado!!

Boa tarde PS,

veja se este sketch ajuda:

RV

Velocidade_de_Projetil.ino

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço