2017-04-06 4 views
0

私は現在、PIR検出器とウェブサイトに接続されたwifiシールド付きのarduinoを持っています。これはロックを制御することになっています。私はこれをすべてうまく利用しましたが、改善したい部分があります。私が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); 
} 

}

+0

「遅れないで点滅」の例を見ると、まるでそのようなものが必要です – dandavis

答えて

1

あなたのarduinoのを一時停止withouタイマーを使用するようにmillis()機能を使用することができます私に簡単に行きます。 This Tutorialがそれを手助けする必要があります。

0

これは、あなたがのがpreviousMilisは動きが最初のトリガまたは何したいされた時刻であることを言ってみましょうmillis()

を使用する方法です。

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

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