#include <Stepper.h>
//电动机每转一圈的步数,根据步进电机的实际情况来设置
const int stepsPerRevolution = 200;
int motSpeed = 5;
Stepper myStepper(stepsPerRevolution, 8,9,10,11);
int motDirect = 1;
const int btnPin = 7;
int btnVal = 0;
int btnBefore = 1;
int btnNext = 1;
void setup() {
Serial.begin(115200);
//这里设置的速度是rpm,即每分钟转多少圈
myStepper.setSpeed(motSpeed);
pinMode(btnPin, INPUT_PULLUP);
}
void loop() {
btnVal = digitalRead(btnPin);
btnNext = btnVal;
Serial.print("btnBefore: ");
Serial.print(btnBefore);
Serial.print(", btnNext: ");
Serial.println(btnNext);
if(btnBefore == 0 && btnNext == 1){
Serial.println("onBtnRelease");
motDirect *= -1;
}
Serial.print("motDirect: ");
Serial.println(motDirect);
btnBefore = btnNext;
//设置步进电机要转过的步数
myStepper.step(1 * motDirect);
//delay(10);
}