如何使用 accelstepper arduino 库移动指定数量的步数,检查外部输入,然后继续?
How do you use the accelstepper arduino library to move a specified number of steps, check an external input, then continue?
我正在尝试将 Accelstepper 库用于 运行 我的步进电机。我的objective是让电机运行走特定步数,检查是否有外部开关被按下,然后匀速继续。但是,我发现我无法指定步数然后以恒定速度运行。
我当前的代码 运行 是一个 while 循环,运行 是我指定的步数,同时忽略了关于我的开关的任何代码。
motor.setCurrentPosition(0);
while(motor.currentPosition()!=50){
motor.setSpeed(500);
motor.runSpeed();
}
delay(1000);
if (digitalRead(switchPin)==LOW){
motor.setSpeed(500);
motor.runSpeed();
}
您需要将最后一个 motor.runSpeed()
置于无限循环中。现在,如果 switchpin
很低,它只会执行一次。
之后程序退出if条件终止。
motor.setSpeed(500);
motor.setCurrentPosition(0);
while(motor.currentPosition()!=50){
motor.runSpeed();
}
delay(1000);
if (digitalRead(switchPin)==LOW){
while (1) {
motor.runSpeed();
}
}
在 while 循环中,如果需要,您可以检查另一个 vlag 以打破它。
我正在尝试将 Accelstepper 库用于 运行 我的步进电机。我的objective是让电机运行走特定步数,检查是否有外部开关被按下,然后匀速继续。但是,我发现我无法指定步数然后以恒定速度运行。
我当前的代码 运行 是一个 while 循环,运行 是我指定的步数,同时忽略了关于我的开关的任何代码。
motor.setCurrentPosition(0);
while(motor.currentPosition()!=50){
motor.setSpeed(500);
motor.runSpeed();
}
delay(1000);
if (digitalRead(switchPin)==LOW){
motor.setSpeed(500);
motor.runSpeed();
}
您需要将最后一个 motor.runSpeed()
置于无限循环中。现在,如果 switchpin
很低,它只会执行一次。
之后程序退出if条件终止。
motor.setSpeed(500);
motor.setCurrentPosition(0);
while(motor.currentPosition()!=50){
motor.runSpeed();
}
delay(1000);
if (digitalRead(switchPin)==LOW){
while (1) {
motor.runSpeed();
}
}
在 while 循环中,如果需要,您可以检查另一个 vlag 以打破它。