Arduino a / c由温度控制

时间:2014-11-08 15:36:43

标签: arduino temperature infrared

当温度低于一个数字时,我需要打开我的a / c电源,当温度高于另一个数字时,我需要关闭电源。所以我试过这个草图

  if (DHT.temperature,1 >= 0 &&  DHT.temperature,1 <=18)
  irsend.sendRaw(ON, sizeof(ON)/sizeof(int),khz);
  else if
  irsend.sendRaw(OFF, sizeof(OFF)/sizeof(int),khz);

但它会在每个循环周期发送OFF命令,因为温度不会立即发生变化。是否可以仅为循环发送一次ON和OFF命令并等待它发送另一个命令?我认为存储最后发送的命令,但我不知道该怎么做。感谢

1 个答案:

答案 0 :(得分:0)

你还没有正确地写下你的if语句。如果已打开,还要添加测试。你可以这样做:

这必须是一个全局变量,所以它不会在你的循环之外被摧毁。

boolean isOn = false;

这可以直接进入你的void loop()或其他函数,这样你就可以根据需要调用它。

if (tempCondition && (!isOn)){
    irsend.sendRaw(ON, sizeof(ON)/sizeof(int),khz);
    isOn = true;
}
else if (othertempCondition && isOn) {
    irsend.sendRaw(OFF, sizeof(OFF)/sizeof(int),khz);
    isOn = false;
}

这将测试温度,如果为true,它将检查是否需要使用isOn布尔值进行切换。

如果您想提供温度范围,我可以帮助您完成温度条件部分。