Timer 湿度传感器低于60%后,需要帮助在arduino上创建5分钟计时器吗

Timer 湿度传感器低于60%后,需要帮助在arduino上创建5分钟计时器吗,timer,arduino,sensors,Timer,Arduino,Sensors,我正在做一个设备,当我洗澡时,它会自动打开浴室的风扇。我需要帮助设置一个5分钟的计时器,在我的淋浴结束时,当它回到低于60%的湿度。我不知道该怎么做,所以我会感谢所有能得到的帮助,谢谢 //Main program loop. void loop( ) { float temperature; float humidity; if( measure_environment( &temperature, &humidity ) == true ) { i

我正在做一个设备,当我洗澡时,它会自动打开浴室的风扇。我需要帮助设置一个5分钟的计时器,在我的淋浴结束时,当它回到低于60%的湿度。我不知道该怎么做,所以我会感谢所有能得到的帮助,谢谢

//Main program loop.

void loop( )
{
  float temperature;
  float humidity;

  if( measure_environment( &temperature, &humidity ) == true )
  {
    if (humidity >= 60){
    digitalWrite(pinOut, HIGH);
    }
  else {
    digitalWrite(pinOut, LOW);
     }
    delay(500);

  } 
  }

我建议您使用布尔值来跟踪淋浴是否处于活动状态,例如:

boolean shower = false;

.... code

if (humidity >= 60) {
    digitalWrite(pinOut, HIGH);
    shower = true;
} else {
    if (shower) {
        delay(1000 * 60 * 5);
        shower = false;
    }
    digitalWrite(pinOut, LOW);
}

.... code
现在,每次打开淋浴,布尔淋浴都是真的。当湿度再次降至60以下时,布尔值仍然为true,并且会触发嵌套在else语句中的if语句,从而导致五分钟延迟,其中pinOut仍然设置为high。之后,布尔值再次被指定为false,风扇关闭