Boa tarde.

Pessoal estou com um problema para resolver meu projeto do curso, estou fazendo um sistema de envase conforme descrição abaixo a descrição do projeto:

_ motor de passo para rodar a mesa

_sensor 1 de presença para acionar a bomba de envase
_sensor 2 de presença para acionar o motor para fechamento da garrafa

1º - a mesa ira rodar por um "x" tempo e ira parar

(2º e 3º processo serão simultaneos)

2º - sensor 1 verifica se tem garrafa se tiver aciona a bomba, caso não tenha libera mesa
3º - sensor 2 verifica se tem garrafa se tiver funciona motor, caso não tenha libera mesa

4º - mesa volta a funcionar, fazendo este processo em looping

Estou com duvidas como programar a etapa 1, estava tentando com "delay" porem não deu certo

e a etapa 2 e 3 como fazer para funcionar simultaneamente?

Poderiam me ajudar?

 

Exibições: 91

Responder esta

Respostas a este tópico

Sobre a Etapa 1 , usando millis():

Armazene o instante em que a mesa começa a rotacionar ("tempoAnterior ") e faça a rotação da mesa se a diferença entre o agora ("millis()") e o tempo anterior for inferior ao tempo que ela deve girar ("duracaoRotacao").

Exemplo:

if(millis() - tempoAnterior <= duracaoRotacao )

{

        //função para rotacionar a mesa

}

else

{

       //função para desativar a rotação da mesa

}

Sobre as demais etapas:

Da forma como está acima, seu código não fica preso (como ocorre num delay), então as demais etapas continuarão sendo avaliadas.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço