我想用加速步进程序库来运行我的步进电机。我的目标是将电机运行特定的步数,检查是否按下外部开关,然后以恒定速度继续。但是,我发现我不能指定一些步骤,然后以恒定的速度运行。
我当前的代码运行一个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来打破它。
关于c - 如何使用accelstepper arduino库移动指定数量的步骤,检查外部输入,然后继续?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57799226/