Продолжение выполнение действия , после прекращения if

Dianom
Offline
Зарегистрирован: 10.02.2017

Хелп , сделал небольшую антипожарную систему, но мне надо , что бы после того как значения датчика стало нормльным , всё равно работал зуммер 10 секунд , а потом отключался .



int b = 3;
int d = A1;



void setup() {
 
  pinMode(b, OUTPUT);
  pinMode(d, INPUT);
  
  
  Serial.begin(9600);
}

void loop() {
  int S = analogRead(d);

  Serial.println(S);
 
 if ( S >  200) {
 digitalWrite(b, HIGH);
  delay(100);
 digitalWrite(b, LOW);
 delay(100);
      }
      else{
        digitalWrite(b, LOW);
      }

  delay(100);
}

 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Ну, если надо, так делайте. Строки 22-24 выбросьте нахрен удалите. Вместо строки 24 вставьте запоминание текущего значения millis(), а перед строкой 27 вставьте проверку, прошло ли 10 секунд, и только потом выключайтесь. Только будет постоянно орать, а не прерывисто. Но сделайте сначала так, добейтесь, чтобы орало сколько надо, а потом уж и прерывисто доделаете.