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 了解更多信息。