所以我正在尝试在 arduino 中编写一个程序,该程序执行一个任务 2 分钟,然后执行另一个任务 5 分钟。第一个,然后另一个循环,直到满足不同的条件。
我一直在尝试使用 if 语句和 while 循环来做到这一点,但我在我认为的时间部分迷路了
//Pneumatic feed system
double minute = 1000*60;
double vibTime = 2 * minute; //2 mins
//double vibTime = 5000;
double execTime = millis();
double waitTime = 5 * minute; //time waits between vibrating
//double waitTime = 10000;
void DoPneuFeed() {
//Serial.print("Delta:");
//Serial.println(millis()-execTime);
if(Temp_Data[T_9] < 500)
{
if(execTime + vibTime < millis())
{
//turn on vibration for 2 mins
execTime = millis();
Serial.println("VIBRATING");
}
if(execTime + waitTime < millis())
{
//turn off vibration for 5 mins
execTime = millis();
Serial.println("WAITING");
}
}
if(Temp_Data[T_9] > 500)
{
relayOff(3);
relayOff(7);
}
}
void PneuFeed()
{
if(execTime + vibTime > millis())
{
//air pressure open
relayOn(3);
//vibrator on
relayOn(7);
}
else if(execTime + waitTime > millis())
{
relayOff(3);
relayOff(7);
}
}
我想打开振动模式2分钟,然后关闭5分钟。只要 Temp_Data(T_9) < 500。如果它大于 500,它应该保持关闭。