Contador de voltas usando C

Fórum sobre outras linguagens de programação.

Moderador: Moderadores

jwilton
Usuário Nível 1
Usuário Nível 1
Mensagens: 4
Registrado em: 23 Out 2011 12:33
Localização: Rio de Janeiro/RJ

Contador de voltas usando C

Mensagem por jwilton »

Olá pessoal.

Preciso criar em C um contador de voltas que funciona da seguinte maneira:

Estou recebendo dados de uma bussóla cuja a leitura vai de 0 graus até 359,9 graus. Esta bússola será utilizada em um barco para controlar seu posicionamento.
O problema é o seguinte: imaginemos que o barco esta girando em sentindo crecente de angulos 350, 355, 356... quando ele chegar em 359,9 graus o proximo valor será zero e o sitema de controle ficará louco pois ocorrerá uma variação instantânea de 359,9 para 0 graus. logos os moteores mudariam o sentido de rotação bruscamente.
sendo assim gostaria de implementar um programa que quando chegasse em 359,9, ao inves de ir para zero continuasse crescendo, 360, 370, 380...

Os dados vindos da bússola estão armazenados numa variável m

Fiz o seguinte trecho de programa para contar as voltas:

Código: Selecionar todos

int m1=0, volta=0;

if((m - m1)>=330 && m1 > m) // m é o valor da bússola
volta++;
else
if((m - m1)>=330 && m1 < m)
volta--;
m1=m + 359 * volta; // m1 ficaria com o valor anterior enquanto m é valor atual
printf("%d\n",m1); 
só que ainda está dando problemas.

Será que alguem sabe como me ajudar?

Abraços
Editado pela última vez por Toledo em 22 Fev 2012 11:22, em um total de 1 vez.
Razão: Mensagem editada para colocar a tag [ code ]<br>Veja como utilizar esta tag: http://www.pctoledo.com.br/forum/faq.php?mode=bbcode#f2r1
Responder