cristian escreveu:xultz ...vou instalar no carro e neste fim de semana fazer os testes
MOR_AL realmente ainda nao entrou na minha cabeça este calculo .. mas vou usar a noite e ver os resultados
Se você tem o valor da velocidade a cada meio segundo, então faz o seguinte para calcular o percurso percorrido:
1 - Uma interrupção a cada meio segundo aciona o processo.
2 - Mede a velocidade, que pelo que eu entendi, você já tem como fazer.
Não sei se você tem a velocidade em metros por segundo (m/s), mas se tiver em km/h multiplique ela por 0,27777 e você terá a velocidade em m/s.
3 - Multiplique a velocidade (em m/s) por 1/2 segundo. É o mesmo que dividir por 2 (shift à direita). O resultado será a distância percorrida (em metros) em meio segundo. Chame esta distância de Sa (a de atual).
Na realidade essa conta é válida somente se a velocidade for constante durante o intervalo de 1/2 segundo. Caso não seja você tem duas opções:
a) Considerar a aceleração. Se você está com dificuldades sem contar com a aceleração, não vale a pena considerar a aceleração. Descarte essa opção.
b) Dininua o intervalo de tempo das interrupções de meio segundo para, digamos, 1/16 de segundo. Quanto menor for o intervalo, menor será influência da aceleração nas contas. Aí, no item 3, você deve dividir a velocidade por 16 (4 shifts à direita), para encontrar o seu espaço percorrido Sa.
4 - Para calcular o espaço percorrido desde um instante que você quizer, até o atual, que vou chamar de St (t de total), você terá que somar todos os valores de Sa obtidos, desde o instante que você quis.
A expressão fica dentro de um loop com o período igual ao tempo entre duas interrupções consecutivas. No seu caso ou 1/2 segundo, ou 1/16 segundo, ou o valor que você escolher para o intervalo.:
St = St + Sa
5 - Se você quizer conhecer o espaço percorrido durante a vida do veículo, então terá que guardar o valor de St em uma memória não volátil. Com isso não haverá problema em desligar o equipamento.
Espero que essa "receita de bolo" possa te auxiliar no seu problema.
Em tempo:
Quanto menor for o intervalo de tempo, menos o veículo vai andar.
Pode ocorrer que o valor da velocidade, vezes o valor do intervalo, dê um valor pequeno e com isso você perde a precisão. Os shifts à direita descartam os bits mais à direita.
Uma sugestão é ir somando todas as velocidades ao invés de somar os espaços Sa. Não precisa dividir por 2, ou 16, ou pelo número que você escolheu.
Então você armazenará a soma das velocidades e não a soma dos espaços percorridos.
Para saber o espaço percorrido, pegue a soma das velocidades e divida pelo 2, 16 ou o valor do tempo (T) escolhido por você.
O que garante isso é:
St = Sa1 + Sa2 + ... + Sa = Va1 x T + Va2 x T + ... + Va x T = (Va1 + Va2 + ... + Va) x T
A última expressão é a soma de todas as velocidades, e depois multiplicado pelo valor do intervalo T ( que é 1/2 ou 1/16, ou o que você escolher).
Espero que você tenha entendido, caso contrário basta perguntar, ok?
Bons projetos.
MOR_AL
"Para o triunfo do mal só é preciso que os bons homens não façam nada." Edmund Burke.
"Nunca discutas com pessoas estúpidas. Elas irão te arrastar ao nível delas e vencê-lo por possuir mais experiência em ser ignorante". Mark Twain