CENTRAL DE ATENDIMENTO
De segunda à sexta das 9:00 às 18:30
(11) 3522-7626 / vendas@robocore.net
Retornar
ao topo

Classifique este tópicoPéssimoRuimMedianoBomÓtimo
Autor
Mensagem
3
renato.urbinati1

Level 0
101338 xp

Registrado em:
21/03/2019





Mensagens:
1
3
renato.urbinati1

Responder com citações
Mensagem Qui Ago 08, 2019 3:43 pm
Dificuldade com o while
Estou desenvolvendo um programa para posicionar um embolo mecânico, não há necessidade de muita precisão, eu coloquei uma roda dentada em um eixo que gera 20 pulsos por volta e habilitei a seguinte interrupção:

   attachInterrupt(digitalPinToInterrupt(2), encoder, CHANGE);

A ISR está assim:

void encoder(){
   if(dir == 1)pulso ++;         // Se o driver gira em um sentido incrementa variável
   if(dir == 0)pulso --;         // Se o driver gira em outro sentido decrementa variável
   conta ++;                  // Esas são instruções apenas
   if(conta == 10){               // para confimrar
      digitalWrite(led, !digitalRead(led));   // que os pulsos chegam no pino   2
      conta = 0;                        //
   }
}

a variável dir eu a defino como "0" quando o driver faz o motor girar em um sentido e defino como "1" quando ele gira em outro sentido.

Quando eu faço:

while(pulso < x){
       Serial.println(pulso);
       }

O while funciona perfeito, mas se eu tirar o Serial.println() de dentro do while:

while(pulso < x){

      }

Ele não funciona mais, eu não preciso ficar enviando nada de dentro do while, apenas quero que o programa espere até o embolo chegar em uma determinada posição de acordo com os pulsos enviados.

Alguém poderia me ajudar?
Mostrar mensagens desde a última:




Ir para:  
Todos os horários são GMT - 3 HorasVocê não tem permissão para escrever novas mensagens
v não tem permissão para responder às mensagens
Você não tem permissão para editar suas mensagens
Você não tem permissão para deletar suas mensagens
Você não tem permissão para classificar tópicos
Você não tem permissão para classificar mensagens
Você não tem permissão para votar em enquetes
Anexar downloads : Proibido
Fazer Download de Arquivos: Proibido
Powered by phpBB © 2001 phpBB Group