Arduino, не работающая кнопка

недавно захотел сделать таймер со lcd1602(i2c), пьезо, потенциометром, но кнопка в основном коде не хочет работать как-будто ей мешают другие устройства, и от части так и есть я заметил что если убираю вывод режимов (if), то кнопка оживает:

#include "GyverButton.h"
#include <LiquidCrystal_I2C.h>
#include <Wire.h>
#define BTN_PIN 8

uint32_t myTimer1;
LiquidCrystal_I2C lcd(0x27,16,2);
GButton butt1(BTN_PIN);

void setup() {
  Serial.begin(9600);
  pinMode(12, OUTPUT);
  pinMode(A1, INPUT);
  butt1.setType(HIGH_PULL);
  butt1.setDirection(NORM_OPEN);
  butt1.setClickTimeout(400);
}
void loop() {
  //Инициализация дисплея
   lcd.init();
   lcd.backlight();
   lcd.clear();
   lcd.setCursor(0,0);
   // Потенциометр
   int val = analogRead(A1);
   // Вывод режимов на 1602
   butt1.tick();
   if (val>=501) {
    lcd.print("Mode: Moloko");
   } else if (butt1.isClick()) {
      Serial.println("Done!");
      Moloko(); 
   }
   if (val<500) {
    lcd.print("Mode: Water");
   } else if(butt1.isClick()) {
      Serial.println("Done!");
      Krik();
   }
}




void Kipeniye() {
  if (millis() - myTimer1 >= 120000) { 
    Krik();
  }
}


void Moloko() {
  if (millis() - myTimer1 >= 5000) {
    Krik();
    }
}

void Krik() {
  int i = 10;
  while (i--) {
    tone(12, 800);
    delay(1000);
    tone(12, 300);
    delay(1000);
  }
}

Все подключено правильно проверял раз 15, нашел на другом форуме ответ, но так и не понял проблемы Ardino IDE 1.8.13


Ответы (1 шт):

Автор решения: user419509

Попробуйте поменять loop() на такой код

void loop() {
  //Инициализация дисплея
   lcd.init();
   lcd.backlight();
   lcd.clear();
   lcd.setCursor(0,0);
   // Потенциометр
   int val = analogRead(A1);
   // Вывод режимов на 1602
   butt1.tick();
   if (val>=501) {
    lcd.print("Mode: Moloko");
   } else if (val<500) {
    lcd.print("Mode: Water");
   }
   if(butt1.isClick()) {
      Serial.println("Done!");
      if (val<500) {
         Krik();
      } else {
         Moloko(); 
      }
   }
}  

если я правильно понял задумку - то все заработает

→ Ссылка