我使用带有超声波传感器的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获取更多信息。