Boa noite pessoal;
Gostaria de ajuda, como fazer motor girar em 3 velocidades. Exemplo :
Motor 1 gira sentido horario
velocidade1 500
tempo 10 min
logo em seguida ja começa a velocidade 2
Motor 1 gira sentido horario
velocidade2 700
tempo 12 min
logo em seguida ja começa a velocidade 3
velocidade2 700
tempo 15 min
E pare tudo após terminar cada ciclo.
Consegui fazer ele girar mas não veio uma logica para fazer ele muda a velocidade apos um tempo x.
Tags:
Bom dia AFS, (se não gosta que te chame pelas iniciais, avise),
primeiramente voce precisa saber quantos graus o seu motor de passo gira por cada step.
Ex: Se ele girar 1,8° por cada step, serão necessários 200 steps para ele dar uma volta completa.
1,8° * 200 = 360°. Então defina a constante passosPorVolta=200; .
para mudar a velocidade usa a função .setSpeed(RPM);
Ex: mp.setSpeed(500); //-->Gira em 500 RPM
Em seguida, para calcular cada tempo de execução. use a função millis().
RV
Olá Alison,
Use millis() como um relógio e marque um ponto no futuro:
Em linhas gerais:
agora = millis();
em1Minuto = agora + 1000 * 60; // 1000 miliseg = 1 seg que multiplicado por 60 dá um minuto
if (millis() > em1minuto) acabouTempo = true;
Obrigado, ai procurei um codigo pronto de tempo de relogio, e implementei o que eu precisava para mudar a velocidade. Agora estou com dificuldade em adicionar botão inicio, pause, stop.
Boa noite AFS,
testa este sketch abaixo.
Ele vai executar a sua rotina uma vez somente, pois eu coloquei tudo no setup().
Caso você queira que fique rodando continuamente a sua sequencia, mude tudo para o loop().
Depois de um retorno se atendeu sua necessidade,
RV
Boa noite RV. Muito obrigado pela ajuda, eu acabei de conseguir modificando um código de relógio achado na net. O seu não funcionou o motor, não sei está lógica, mas se funcionar o seu fica mais simples e limpo, já oque eu modifiquei ficou grande porem funcional.
Boa tarde Grande Mestre, cara ficou show...Parabéns !
Só não estava parando quando terminava os tempo de cada velocidade, ai adicionei roda = false; na ultima linha do void movimento. Resolvido ! Agora vou tenta coloca tudo para aparecer no display, problema que não conheço muita função em arduino ai acabo poluindo muito o código sem necessidade. Mas ficou top esse seu codigo. vlw boas cerveja ai.
1° motor desce e para apos tempo 15 seg
2° motor1 base gira por tempos determinado no codigo e depois para
3°motor sobe e para apos 15seg
4° Aqui deveria para o ciclo todo, ele esta entrando em loop.MODELORUI.ino
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por