是否有办法在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获取更多信息。

最新更新