有没有办法在 Arduino 延迟期间 运行 部分代码?
Is there a way to run part of the code during a delay on Arduino?
我正在使用带有超声波传感器的 Arduino 来操作皮带输送机和执行器。皮带输送机带来一个零件,当它足够近时,执行器将其移动到一个单独的输送机,返回并开始延迟等待另一个输送机清除。
我的问题是我需要在第二条传送带上保持相似的间距,但速度会根据第一条传送带的负载量而变化。如果我能让第一个传送带在延迟为 运行 时移动到位,而不是在那之后就可以修复它,但我不知道这是否可能。
很遗憾,您无法在延迟期间运行 编码。但是你想要的行为可以使用一些逻辑和 millis()
函数来实现。这是一些示例代码:
int delay = 500;
void loop(){
unsigned long currentMillis = millis();
if (currentMillis - previousMillis >= delay) {
previousMillis = currentMillis;
//run the second conveyor at delay
}
//run first conveyor logic
}
在 arduino.cc 上查看这个 article 了解更多信息。
我正在使用带有超声波传感器的 Arduino 来操作皮带输送机和执行器。皮带输送机带来一个零件,当它足够近时,执行器将其移动到一个单独的输送机,返回并开始延迟等待另一个输送机清除。
我的问题是我需要在第二条传送带上保持相似的间距,但速度会根据第一条传送带的负载量而变化。如果我能让第一个传送带在延迟为 运行 时移动到位,而不是在那之后就可以修复它,但我不知道这是否可能。
很遗憾,您无法在延迟期间运行 编码。但是你想要的行为可以使用一些逻辑和 millis()
函数来实现。这是一些示例代码:
int delay = 500;
void loop(){
unsigned long currentMillis = millis();
if (currentMillis - previousMillis >= delay) {
previousMillis = currentMillis;
//run the second conveyor at delay
}
//run first conveyor logic
}
在 arduino.cc 上查看这个 article 了解更多信息。