   _timeButton = timeButton;
   pinMode(_pin, INPUT_PULLUP);  // определяем вывод кнопки как вход
 }
+
+volatile Button button11(B11_PIN, 15);
+volatile Button button12(B12_PIN, 15);
+volatile Button button13(B13_PIN, 15);
+volatile Button button14(B14_PIN, 15);
+volatile Button button15(B15_PIN, 15);
+volatile Button button21(B21_PIN, 15);
+volatile Button button22(B22_PIN, 15);
+volatile Button button23(B23_PIN, 15);
+volatile Button button24(B24_PIN, 15);
+volatile Button button25(B25_PIN, 15);
+
+void  timerInterupt() {
+  button11.scanState();  // вызов метода ожидания стабильного состояния для кнопки
+  button12.scanState();
+  button13.scanState();
+  button14.scanState();
+  button15.scanState();
+  button21.scanState();  // вызов метода ожидания стабильного состояния для кнопки
+  button22.scanState();
+  button23.scanState();
+  button24.scanState();
+  button25.scanState();
+}
+
 LiquidCrystal_I2C lcd(0x3f, 16, 2); // set the LCD address to 0x27 for a 16 chars and 2 line display
 
 int b11 = A0, b12 = A1, b13 = A2, b14 = A3, b15 = A4, b21 = A5, b22 = A6, b23 = A7, b24 = A8, b25 = A9, //buttons

    }
    delay(j);

    if (analogRead(b11) < 100 && analogRead(b21) < 100) {
      lcd.setCursor(0, 0); lcd.print("Both plrs false start!");
      return;
    }
    else if (analogRead(b21) < 100) {
      lcd.setCursor(0, 0); lcd.print("Red plr false start! Green plr wins!");
      game = GAME_PERFORMED;
      x = 5; y = 2; vector = 1;
      return;
    }
    else if (analogRead(b11) < 100) {
      lcd.setCursor(0, 0); lcd.print("Green plr false start! Red plr wins!");
      game = GAME_PERFORMED;
      x = 6; y = 2; vector = -1;

  for (int i = 2; i <= 13; i++) { //init rgb leds
    pinMode(i, OUTPUT);
  }
}

void start_game() {
  game = 999;
  lcd.init();
  button11.flagClick = 0;
  button21.flagClick = 0;
  for (int j = 1000; j > 0; j = j - 100 ) {
    for (int i = 2; i <= 13; i++) { //init rgb leds
      digitalWrite(i, HIGH);
