2017-04-24 14 views
0

私はArduinoにLDRセンサーをチェックするプログラムを持っています。設定値を超えると、アラームが発生します。一度ボタンを押すと、それを解除することが検出されるまで、一度起動すると、どのように設定するのですか?ブザーをオンにするにはどうすればいいですか(LDRアラーム)?

コード:

const int ledPin = 8; 
const int buzzerPin = 4; 
const int ldrPin = A0; 
void setup() { 
    Serial.begin(9600); 
    pinMode(ledPin, OUTPUT); 
    pinMode(buzzerPin, OUTPUT); 
    pinMode(ldrPin, INPUT); 
} 

void loop() { 
    int ldrStatus = analogRead(ldrPin); 
    if (ldrStatus >= 30) { 
    noTone(buzzerPin); 
    digitalWrite(ledPin, LOW); 
    } else { 
    tone(buzzerPin, 100); 
    digitalWrite(ledPin, HIGH); 
    delay(100); 
    noTone(buzzerPin); 
    digitalWrite(ledPin, LOW); 
    delay(100); 
    Serial.println("----------- ALARM ACTIVATED -----------"); 
    } 
} 

答えて

0

あなたが代わりに直接しきい値を使用してのアラームを発射するFLAGを使用する必要があります。

if (ldrStatus >= 30) { 
    AlarmFlag = true; //Set alarm 
} 
... 
if (digitalRead(pushButton) == LOW){ 
    AlarmFlag = false; //Turn off alarm 
} 
... 
if (AlarmFlag == true){ 
    Serial.println("ALARM ON"); 
    ... 
} 
関連する問題