• Welcome to LusoRobótica - Robótica em Português.
 

[Arduino]Stepper Motor + EasyDriver + Arduino

Started by TigPT, 11 de October de 2008, 20:15

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

senso

Sei lá, pensei que a função fosse tua lol.
Posta o código tudo, eu não adivinho..
Avr fanboy

Nunito

Quote from: senso on 11 de April de 2015, 13:26
Sei lá, pensei que a função fosse tua lol.
Posta o código tudo, eu não adivinho..

É do TigPT, está na 1ª página :)

senso

Essa função dá N passos, e já usa delays e um for, e recebe um int, logo não estou a ver a necessidade de voltares a enrolar a função em mais um loop e com mais delays, cada chamada á função custa-te logo 50ms que é o delay entre definir a direção e começar o loop.
Avr fanboy

Nunito


void step(boolean dir,int steps)
{
  if (steps != 1600)
  { 
  digitalWrite(dirPin,dir);
  delay(50);
  for(int i=0;i<steps;i++)
    {
    digitalWrite(stepperPin, HIGH);
    delayMicroseconds(100);
    digitalWrite(stepperPin, LOW);
    delayMicroseconds(100);
    }
   steps = steps + 1;
  }
}

Senso como disseste anteriormente, eu vou incrementar a variável steps e quando der 1600 passos, o motor pára.

homeo

Um trabalho muito bem explicado. Muito fácil de seguir. Quando eu terminar o meu projeto eu vou fazer upload de fotos. Obrigado.

TigPT


lua

Olá, eu sou um novato no fórum e arduino.
Por favor, alguém me diga como sabria fazer para parar um passo para 10 min, entre rotação e volta de 180 graus? Ou seja, eu preciso do passo é transformar ininterruptamente 180, realizada em 10 min, outras 180 ° vire novamente parado 10 min ... e assim indefinidamente.
Eu entendo que você não pode usar micros (), millis () ou atraso (). Mas não como pará-lo.
Desculpe pelo meu mau Português.
e muito obrigado por qualquer ajuda
Uma saudação