Arduino Uno步进方向
Arduino Uno stepper direction
我无法通过写入 Arduino Uno 的代码让步进电机逆时针旋转。这是一个简单的设置,当您按住按钮时,使用按钮移动步进器。最初编写代码是为了顺时针移动步进器,我将 myStepMotor.step 更改为 -1 而不是 1。根据我的理解,这应该会导致步进器朝另一个方向移动。无论是正数还是负数,它仍然按顺时针方向旋转。
#include <Stepper.h>
const int myStepsPerRev = 64;
char k_ccw;
int myStepsTook = 0;
// aloocate a stepeper motor object for pins 8 through 11:
Stepper myStepMotor (myStepsPerRev, 8, 9, 10, 11);
void setup() {
pinMode(3, INPUT);
myStepMotor.setSpeed(60); // set the motor speed for 60rpm
myStepsTook = 0; // initialize steps taken to zero
Serial.begin(9600); // initialize the serial port
}
void loop() {
k_ccw = digitalRead(3);
if (k_ccw == LOW) {
delay(125);
myStepsTook++;
Serial.print("Steps Taken: ");
Serial.println(myStepsTook);
myStepMotor.step(-1);
}
}
你要的pin顺序有点出乎意料;如果你以“标准”方式连接它,28BYJ-48 应该在软件中初始化,如下所示:
Stepper myStepMotor (myStepsPerRev, 8, 10, 9, 11);
然后它应该可以在两个方向上正常工作。
如有需要,请参阅 here 了解更多信息。
我无法通过写入 Arduino Uno 的代码让步进电机逆时针旋转。这是一个简单的设置,当您按住按钮时,使用按钮移动步进器。最初编写代码是为了顺时针移动步进器,我将 myStepMotor.step 更改为 -1 而不是 1。根据我的理解,这应该会导致步进器朝另一个方向移动。无论是正数还是负数,它仍然按顺时针方向旋转。
#include <Stepper.h>
const int myStepsPerRev = 64;
char k_ccw;
int myStepsTook = 0;
// aloocate a stepeper motor object for pins 8 through 11:
Stepper myStepMotor (myStepsPerRev, 8, 9, 10, 11);
void setup() {
pinMode(3, INPUT);
myStepMotor.setSpeed(60); // set the motor speed for 60rpm
myStepsTook = 0; // initialize steps taken to zero
Serial.begin(9600); // initialize the serial port
}
void loop() {
k_ccw = digitalRead(3);
if (k_ccw == LOW) {
delay(125);
myStepsTook++;
Serial.print("Steps Taken: ");
Serial.println(myStepsTook);
myStepMotor.step(-1);
}
}
你要的pin顺序有点出乎意料;如果你以“标准”方式连接它,28BYJ-48 应该在软件中初始化,如下所示:
Stepper myStepMotor (myStepsPerRev, 8, 10, 9, 11);
然后它应该可以在两个方向上正常工作。
如有需要,请参阅 here 了解更多信息。