Uso do millis em um altímetro/variômetro - dúvida

Olá, meu nome é Alex.
Estou montando um altímetro/variômetro, mas como sou novato com o Arduíno, ainda tropeço em alguns obstáculos.
Minha dúvida se refere ao uso da função millis. Acho que entendi como indicar instantes distintos, mas não consigo indicar o valor da altitude no instante inicial, apenas no atual.
Creio que minha dúvida seja simples para os experientes.
Já andei buscando em fóruns e tutoriais e encontrei códigos que funcionaram, mas não estou satisfeito, pois gostaria de escrever o meu próprio projeto entendendo o que estou fazendo. Os que encontrei funcionam, mas não exatamente como preciso. Tentei entender seu funcionamento, mas parece que não percebi o exato " pulo do gato".

O altímetro já está funcionando perfeitamente, mas o variômetro (indicador da velocidade de subida ou descida) ainda não.

Abaixo encontra-se a parte do Sketch referente à dúvida que tenho. Havendo necessidade, posto o mesmo na íntegra.

Desde já, agradeço quem puder ajudar.
Abraços!

const unsigned long intervaloMedidas =1000; //intervalo de 1 s entre as medidas

unsigned long VarioTimer;

void setup() 
{
  VarioTimer = millis();
}

void loop() {

if ((millis() - VarioTimer) >= intervaloMedidas) {

Altitude - ? }
// É aqui que nao sei como proceder. Preciso que aqui aponte a variacao de altitude. Desta maneira terei a variacao em metros em um intervalo de 1s (?m/s). Mas nao sei como aponto a ultima medicao antes desta contagem.
//Altitude (medida atual) - ? (medicao anterior).

}

Exibições: 789

Responder esta

Respostas a este tópico

Bom dia AB,

faça o seguinte:

Click em :" Deseja carregar arquivos? ", em seguida  em "Escolher arquivo"  e anexe o seu

sketch, para que possamos dar uma olhada no code completo.

RV

O code completo me fornece, através do protocolo OpenVario,  apenas a pressão e a temperatura para o aplicativo  XcSoar que utilizo em voo. O App faz o calculo da altitude e do vario, além de ajustar automaticamente o QNH. Já venho usando faz algum tempo e me serve muito bem. O único problema é que sob o sol, as vezes fica difícil enxergar bem a tela.

Por isso gostaria de realizar o cálculo no arduino, para utilizar uma barra de LED na indicação do vario.

Preciso de ajuda apenas com o calculo. Com os leds eu me viro.

O trecho que enviei anteriormente é apenas uma ideia e ainda não consta no code completo.

Grato RV

Planador é aventura.

Bom dia AB,

foi vc que escreveu este sketch?

Preciso de mais detalhes do funcionamento dele pra entende-lo melhor e 

poder ajuda-lo.

Eu tenho uma estação meteorológica aqui em casa funcionando.

Eu uso o BMP180 nela.

Mas uso uma biblioteca, o que facilita muito o trabalho, pois não precisa dos

processos complicado de buscar os dados nele.

Veja um exemplo anexado.

RV

Anexos

Boa tarde!

Desculpe a intrusão neste tópico.

Olá Rui!

Você é NERD mesmo! Tem até uma estação meteorológica em casa...

Quando puder envie mais informações sobre o seu projeto. Gostaria de montar uma em casa também e é sempre bom partir de exemplos bem sucedidos.

Abraço.

Oi JAC, boa tarde,

tenho sim, ela ainda está na fase experimental.

é com um ESP8266-12F.

Ela usa um anemometro construído por mim, um sensor de temperatura e pressão, BMP180,

um sensor de umidade e temperatura SHT10.

E envia os dados para um servidor raspberry rodando uma aplicação node-red debaixo

de um raspbian. Eu faço um logger dos dados de hora em hora.

Pretendo instalar  nela um sensor de direção de vento, e um pluviômetro.

O sensor de direção pretendo usar o CI AS5040, e o pluviômetro usar o sistema de

canequinha parecido com um "monjolo".

Anexado o sketch.

Anexos

Rui, Boa tarde!

Excelente trabalho. Muito boa a configuração com RaspBerry.

Vou tentar fazer uma  com os mesmos componentes que você utilizou.

Muito obrigado!

Obrigado pelo interesse em ajudar.
Estive olhando o seu sketch e percebi que calcula a velocidade do vento através de pulsos (interrupt) associando o número de voltas ao raio das pás.
No meu caso, preciso armazenar os valores de altitude em dois momentos distintos para calcular a velocidade de subida ou descida. Se armazenar em 1000ms, terei a velocidade em m/s

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço