Помогите разобраться с ошибкой

Сама ошибка вот
C:\Users\Valentin Stars\AppData\Local\Temp.arduinoIDE-unsaved202406-3740-1ujfto.c6b7w\sketch_jan6b\sketch_jan6b.ino: In function ‘void setup()’:
C:\Users\Valentin Stars\AppData\Local\Temp.arduinoIDE-unsaved202406-3740-1ujfto.c6b7w\sketch_jan6b\sketch_jan6b.ino:34:13: error: no matching function for call to ‘LiquidCrystal_I2C::begin()’
LCD.begin();
^
In file included from C:\Users\Valentin Stars\AppData\Local\Temp.arduinoIDE-unsaved202406-3740-1ujfto.c6b7w\sketch_jan6b\sketch_jan6b.ino:2:0:
C:\Users\Valentin Stars\AppData\Local\Temp.arduinoIDE-unsaved202406-3740-1ujfto.c6b7w\sketch_jan6b\LiquidCrystal_I2C.h:58:8: note: candidate: void LiquidCrystal_I2C::begin(uint8_t, uint8_t, uint8_t)
void begin(uint8_t cols, uint8_t rows, uint8_t charsize = LCD_5x8DOTS );
^~~~~
C:\Users\Valentin Stars\AppData\Local\Temp.arduinoIDE-unsaved202406-3740-1ujfto.c6b7w\sketch_jan6b\LiquidCrystal_I2C.h:58:8: note: candidate expects 3 arguments, 0 provided

exit status 1

Compilation error: no matching function for call to ‘LiquidCrystal_I2C::begin()’

Код вот он

#include "Wire.h"
#include "LiquidCrystal_I2C.h"
LiquidCrystal_I2C LCD(0x27, 20, 2);

#define BUZZER 10 // пин подключения зуммера
#define BUTTON 8  // пин подключения кнопки

// динозаврик
byte dino[8] = {
  0b01110, 0b11011, 0b11111, 0b11100, 0b11111, 0b01100, 0b10010, 0b11011
};
// дерево
byte tree[8] = {
  0b00000, 0b00000, 0b00000, 0b11011, 0b11011, 0b11011, 0b01100, 0b01100
};
// камень
byte stone[8] = {
  0b00000, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000, 0b01110, 0b11111
};
// птица
byte bird[8] = {
  0b00100, 0b00101, 0b01111, 0b11111, 0b10100, 0b00100, 0b00000, 0b00000
};

bool buttonWasUp = true;
bool buttonIsUp;
int level = 1;
int pause = 400;
byte p = 0;

void setup() {
  pinMode (BUZZER, OUTPUT);
  pinMode (BUTTON, INPUT_PULLUP);
  LCD.begin();
  LCD.backlight();

  LCD.createChar(0, dino);
  LCD.createChar(1, tree);
  LCD.createChar(2, stone);
  LCD.createChar(3, bird);

  LCD.setCursor(7, 0);
  LCD.print("GO!");
  delay(400);
  tone(BUZZER, 600);
  delay(100);
  noTone(BUZZER);
  LCD.clear();
}

void loop() {
  byte d = 1;
  byte x = 15;
  byte y = 1;

  byte i = random (1, 4);
  if (i == 3) y = 0;
  else y = 1;

  while (x > 0) {
    LCD.clear();
    LCD.setCursor(0, 0);
    LCD.print(level);

    buttonIsUp = digitalRead(BUTTON);
    if (buttonWasUp && !buttonIsUp) {
      delay(10);
      buttonIsUp = digitalRead(BUTTON);
      if (!buttonIsUp) { d = 0; }
      else { d = 1; }
    }
    buttonWasUp = buttonIsUp;
     
    if (p > 3) d = 1;

    LCD.setCursor(4, d);
    LCD.print(char(0));
    LCD.setCursor(x, y);
    tone(BUZZER, 50);
    LCD.print(char(i));
    noTone(10);

    if (x == 4 && y == d) {
      delay(400);
      tone(BUZZER, 50);
      delay(100);
      noTone(BUZZER);
      delay(100);
      tone(BUZZER, 20);
      delay(300);
      noTone(BUZZER);
      LCD.clear();
      delay(200);
      LCD.setCursor(3, 0);
      LCD.print("GAME OVER!");
      delay(600);
      LCD.clear();
      delay(400);
      LCD.setCursor(3, 0);
      LCD.print("GAME OVER!");
      delay(600);
      LCD.clear();
      LCD.setCursor(3, 1);
      LCD.print("LEVEL: ");
      LCD.print(level);
      delay(400);
      LCD.setCursor(3, 0);
      LCD.print("GAME OVER!");
      delay(3000);
      LCD.clear();

      LCD.setCursor(7, 0);
      LCD.print("GO!");
      delay(400);
      tone(BUZZER, 600);
      delay(100);
      noTone(BUZZER);
      LCD.clear();

      level = 0;
      pause = 400;
      p = 0;
      y = 1;
      x = 0;
      break;
    }

    if (d == 0) {
      tone(BUZZER, 200);
      delay(100);
      noTone(BUZZER);
    }
    else {
      delay(100);
    }

    delay(pause);
    x = x - 1;
    p = p + 1;
    if (p > 4) p = 0;
  }

  tone(10, 800);
  delay(20);
  level = level + 1;
  pause = pause - 20;
  if (pause < 0) pause = 0;
}
Все библиотеки установлены сам код это игры гугл динозаврик
Спасибо в зарание

Такого метода у библиотеки нет

У Вас не та библиотека “LiquidCrystal_I2C.h”, что была у автора кода (они разные бывают). В той библиотеке, что у Вас, инициализация делается методом init, у нужна та, у которой метод begin. Ищите правильную библиотеку. Просто скачивайте все, какие найдёте, и смотрите в файле есть ли там метод begin. Если есть, то должна подойти.

1 лайк

Или попробовать в скетче LCD.begin() на LCD.init() поменять.
Не исключено, что на этом принципиальное различие библиотек и заканчивается…

1 лайк

спасибо помогло вот только код заработает ли :face_holding_back_tears:

Скорее всего, заработает, но таки лучше от греха подальше найти родную библиотеку.

1 лайк

Знаю одну такую, начинается с Arduino…

Мама дорогая. Может порог регистрации на форуме повысить?
Ну там - закон ома и что означает I++ к примеру?

1 лайк

Об этом давно речи были. На форумах ремонтников тесты есть, хотя тоже лёгкие.

1 лайк

Не в амперах ли измеряется ток?

  1. Да!
  2. Есть!
  3. Так точно!
1 лайк

Ага, чем измеряется напряжение?
1.напряжометром.
2.напрягометром.
3.не важно чем измерять. Главное под него не попасть.

1 лайк