试图让我的arduino代码基于时间

时间:2017-04-06 16:09:27

标签: arduino

我目前有一个带有wifi屏蔽的arduino,连接到PIR探测器和网站。这应该控制一个锁。我已经完成了所有这些工作,但有一部分我想改进。我是否可以更换PIR探测器,这样如果过去有移动,比如5秒,它将允许它打开(如果字母也正确)?它现在的方式,它必须不断运动,否则它会在几秒钟内锁定。请注意,我是arduino编码的新手,所以对我来说很容易

  while (client.available()){
int sensorValue2 = analogRead(A1); //Input from PIR-detector
Serial.println(sensorValue2);
char c = client.read();
Serial.write(c);
if ((sensorValue2 > 0.0) && (c == 'L')) { //If the input from the detector is over 0.0, and the text which is received from the website is 'L', the lock will open
  digitalWrite(5, LOW);
}
else{
  digitalWrite(5, HIGH);
}

}

2 个答案:

答案 0 :(得分:1)

您可以使用millis()功能在暂停arduino时使用计时器。 This Tutorial应该帮助你做到这一点。

答案 1 :(得分:0)

这是您使用millis()

的方法

让我们说previousMilis是首次触发动作的时间或任何你想要的动作。

if ( triggered(0 ) {
  previousMillis() = millis();
}

while (millis() - previousMillis < 5000) {
  // do something while the 5 seconds is being counted down
  // this will update each milliseconds
}