Bounce2, не считывает состояние пина при перезагрузке

igorlab
Offline
Зарегистрирован: 11.11.2015

Привет народ!

хочу реализовать очередную систему  аквастоп, для датчика протечки чтобы побороть дребезг и случайные срабатывания хочу использовать библиотеку Bounce 2. пин сконфигурирован с внутренним подтягивающим резистором таким образом, что если он заземлен, т.е. на нем логический ноль - это расценивается как протечка.

 

pinMode(A0, INPUT_PULLUP);
  VL1.attach(waterPin); //A0
  VL1.interval(5);

*****************

if ( VL1.update())
 {
  if ( VL1.read()==0)
  { 
    leak = 1;
    SendToScreen(0, 0, "Water leack! ", 1, 1);
    SendToScreen(0, 16, "To open click RST", 1, 0);
  }
  else
  {
    leak = 0;
    resetcl = 0; // после высыхания сбрасываем резет (повторное срабатывание после высыхания снова закроет вентиль)
  }
 }
 

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

igorlab
Offline
Зарегистрирован: 11.11.2015

кажется понял - 

условие if ( VL1.update()) выполняется только если состояние кнопки ИЗМЕНИЛОСЬ, надо просто убрать это условие, вечером попробую...