#2 Re: Програмування Arduino » Потрібна допомога з скетчем розхідоміра рідини » 2025-03-10 09:08:10

Та отож потратити багато часу на танці з бубном  замість того щоб почитати  .Головне щоб все вийшло в кінцевому результаті. smile

#4 Re: Програмування Arduino » Потрібна допомога з скетчем розхідоміра рідини » 2025-03-10 00:17:57

Переписав begin на    init  і начебто вийшло завантажило завтра підключу кнопки та датчик протока води та відпишусь

#5 Re: Програмування Arduino » Потрібна допомога з скетчем розхідоміра рідини » 2025-03-09 23:44:37

Все звідси 
https://youtu.be/iJ0ry5Euy7Y
і біблітеки може багато зайвих


Робив подібне на Ардуіно  УНО  R3 все працює тільки там нема з кнопок установки літражу

#6 Re: Програмування Arduino » Потрібна допомога з скетчем розхідоміра рідини » 2025-03-09 23:20:46

jokeer пише:

Ви знайшли не підходящу лібу для цього коду. або код не від цієї ліби. помилка в тому, що немає в тій лібі методу begin ().

  на прикладах працює ,я додати той метод

#7 Re: Програмування Arduino » Потрібна допомога з скетчем розхідоміра рідини » 2025-03-09 23:19:10

#include - це НЕ "підключення бібліотеки", це включення файла в поточну одиницю компіляції


Новачок може що не розумію як правильно підключити бібліотеку пише постійно помилка

    lcd.begin();                 // инициализация дисплея

#8 Re: Програмування Arduino » Потрібна допомога з скетчем розхідоміра рідини » 2025-03-09 23:09:33

Що це за LCD_1602_RUS, звідки воно? Якщо це бібліотека, як ви її встановлювали?

Скетч , далі включити бібліотеку   ,LCD_1602_RUS

#9 Re: Програмування Arduino » Потрібна допомога з скетчем розхідоміра рідини » 2025-03-09 22:32:47

auto_awesome
Добавив бібліотеки такі помилки через перекладач




Язык оригинала: английский
1 002 / 5 000
C:UserslenovoDocumentsArduinorashodomer_s_knopkami_kalibrovkarashodomer_s_knopkami_kalibrovka.ino: у функції 'void setup()':
C:UserslenovoDocumentsArduinorashodomer_s_knopkami_kalibrovkarashodomer_s_knopkami_kalibrovka.ino:48:13: помилка: немає відповідної функції для виклику 'LCD_1602_RUS::begin()'
lcd.begin(); // ініціалізація дисплея
^
У файлі, включеному з C:UserslenovoDocumentsArduinorashodomer_s_knopkami_kalibrovkarashodomer_s_knopkami_kalibrovka.ino:1:0:
c:UserslenovoDocumentsArduinolibrariesLiquidCrystal_I2C_V112/LiquidCrystal_I2C.h:58:8: примітка: кандидат: void LiquidCrystal_I2C::begin(uint8_t, uint8_t, uint8_t)
void begin(uint8_t cols, uint8_t rows, uint8_t charsize = LCD_5x8DOTS );
^~~~~
c:UserslenovoDocumentsArduinolibrariesLiquidCrystal_I2C_V112/LiquidCrystal_I2C.h:58:8: примітка: кандидат очікує 3 аргументи, надано 0

статус виходу 1

Помилка компіляції: немає відповідної функції для виклику 'LCD_1602_RUS::begin()'

#10 Програмування Arduino » Потрібна допомога з скетчем розхідоміра рідини » 2025-03-09 22:09:55

Boing_777
відповідей: 21

Готовий скетч взятий з нета не компілюється
контроллер Ардуіно нано дисплей 1602 І2С
Приклад оцей працює

//Пример для подключения дисплея по шине I2C
//
//Тип подключения дисплея: 1 - по шине I2C, 2 - десятиконтактное. Обязательно указывать ДО подключения библиотеки
//Если этого не сделать, при компиляции возникнет ошибка: "LCD type connect has not been declared"
#define _LCD_TYPE 1
#include <LCD_1602_RUS_ALL.h>

LCD_1602_RUS <LiquidCrystal_I2C> lcd(0x27, 16, 2);

void setup()
{
  String str;
  str = "язык";

  lcd.init(); // Инициализация LCD
  // Печать сообщения на LCD
  lcd.backlight();
  lcd.setCursor(4, 0);
  lcd.print("Русский");
  lcd.setCursor(6, 1);
  lcd.print(str);
}

void loop()
{

А оце сам скетч

#include <EEPROM.h>
#include "LCD_1602_RUS.h"
#include "GyverButton.h"
LCD_1602_RUS lcd(0x3f, 16, 2);

boolean Pusk = 0;
boolean Meny = 0;
float obyem;               //переменная прошедшего ОБЪЕМА
float zad_obyem = 0;
float rashod;             //расход воды в минуту
volatile unsigned long lastflash, flash;
volatile unsigned long impuls = 0; //число импульсов расходомера
unsigned long Taimer1;
unsigned long Taimer2;
float ves_impulsa = 2.40;  //вес одного импульса

//Настройка кнопок
#define BTN1 4  //Кнопка БОЛЬШЕ
#define BTN2 5  //Кнопка МЕНЬШЕ
#define BTN3 6  //Кнопка СТАРТ
#define BTN4 7  //Кнопка СТОП
GButton bol(BTN1);
GButton men(BTN2);
GButton Start(BTN3);
GButton Stop(BTN4);

#define ADDR 10  //ячейка с ключем первого запуска
#define KEY 15  //ключь первого запуска
void setup() {
  Serial.begin(9600);
  if (EEPROM.read(ADDR) != KEY) { //если во время первого запуска в ячейке 10 ключь не совподает то записывает в 10 ячейку ключь
    EEPROM.write(ADDR, KEY);
    EEPROM.put(0, ves_impulsa);
  }   //также записываем стандартный весс импульса. 2,40
  EEPROM.get(0, ves_impulsa);

  pinMode (3, OUTPUT);    // Настраиваем 3 цифровой порт на выход
  digitalWrite (3, LOW);  // подать на 3 порт 0 Вольт.
  attachInterrupt(0, sens, RISING);    // подключить прерывание на 2 пин при повышении сигнала
  lcd.begin();                 // инициализация дисплея
  lcd.backlight();            // включить подсветку
  bol.setTickMode(AUTO);    //Функция опроса кнопки БОЛЬШЕ
  men.setTickMode(AUTO);    //Функция опроса кнопки МЕНЬШЕ
  Start.setTickMode(AUTO);    //Функция опроса кнопки СТАРТ
  Stop.setTickMode(AUTO);    //Функция опроса кнопки СТОП
}
void sens() {
  flash = micros() - lastflash;   // вычислить время между двумя импульсами
  lastflash = micros();           // запомнить время последнего импульса
  impuls++;
}

void loop()





Видає таку помилку




C:UserslenovoDocumentsArduinorashodomer_s_knopkami_kalibrovkarashodomer_s_knopkami_kalibrovka.ino: In function 'void setup()':
C:UserslenovoDocumentsArduinorashodomer_s_knopkami_kalibrovkarashodomer_s_knopkami_kalibrovka.ino:40:13: error: no matching function for call to 'LCD_1602_RUS::begin()'
   lcd.begin();                 // инициализация дисплея
             ^
In file included from c:UserslenovoDocumentsArduinolibrariesLCD_1602_RUS/LCD_1602_RUS.h:1:0,
                 from C:UserslenovoDocumentsArduinorashodomer_s_knopkami_kalibrovkarashodomer_s_knopkami_kalibrovka.ino:2:
c:UserslenovoDocumentsArduinolibrariesLiquidCrystal_I2C_V112/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:UserslenovoDocumentsArduinolibrariesLiquidCrystal_I2C_V112/LiquidCrystal_I2C.h:58:8: note:   candidate expects 3 arguments, 0 provided

exit status 1

Compilation error: no matching function for call to 'LCD_1602_RUS::begin()'


Може якісь бібліотеки конфліктують?

Підвал форуму