Alguém poderia me ajudar? Eu tenho um sensor ligado na porta A0, onde o sensor varia a tensão de entrada entre 0 a 5 volts nessa porta, consequentemente, o motor irá girar pra direita ou esquerda.

Como eu faria para o motor parar, quando o valor lido na porta A0 fosse 0 volt?

Segue abaixo o programa:

********************************************************************** 

int multiplier = 25; //change this depending if you need the stepper to move more or less

#include <AccelStepper.h>

int motorSpeed = 9600; //maximum steps per second (about 3rps / at 16 microsteps)
int motorAccel = 80000; //steps/second/second to accelerate

int motorDirPin = 2; //digital pin 2
int motorStepPin = 3; //digital pin 3

//set up the accelStepper intance
//the "1" tells it we are using a driver
AccelStepper stepper(1, motorStepPin, motorDirPin);

void setup(){
stepper.setMaxSpeed(motorSpeed);
stepper.setSpeed(motorSpeed);
stepper.setAcceleration(motorAccel);

}

void loop(){

int positionToGoTo = analogRead(A0);
stepper.moveTo(positionToGoTo * multiplier);


//these must be called as often as possible to ensure smooth operation
//any delay will cause jerky motion
stepper.run();
}

Exibições: 264

Responder esta

Respostas a este tópico

Você está usando um Acelerômetro para controle do Motor?

Não é acelerômetro. Esse sensor detecta altura de um parafuso. O motor de passo irá girar pra direita ou esquerda, ou seja, vai apertar ou soltar o parafuso. Terá que parar quando a altura estiver no ponto zero(0 volt)

Faça um teste com esta lib pra controlar os motores:

http://labdegaragem.com/forum/topics/lib-arduino-para-rob-com-motor...

Acho que vc vai ter mais controle sobre o movimento.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço