Отправка кода для обнаружения ошибок, сталкивающихся с проблемой, при которой ошибка не может скомпилировать код

КОД МОЕГО ПРОЕКТА:

#include ESP8266WiFi.h
#include LiquidCrystal.h
#include FirebaseArduino.h>
#include HX711.h>
#define FIREBASE_HOST "iot-based-smart-dustbin.firebaseio.com"
#define FIREBASE_AUTH "ljIbV03K07rLwoHRKSaAxWzJNCb3Lh6buc76dkvb"
#define WIFI_SSID "AndroidAP"
#define WIFI_PASSWORD "ashu1234"
char c; //ESP
String data   = "";  //ESP
#define DOUT  15 
#define CLK  13
#define IR1 14
#define IR2 12
HX711 scale(DOUT, CLK); // Инициализация библиотеки
float calibration_factor = -96650; //-106600 работало для максимальной настройки весов 3-40 кг
const int rs = 16, en = 5, d4 = 4, d5 = 0, d6 = 2, d7 = 10;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
void setup() 
{
   Serial.begin(9600);
   pinMode(IR1,INPUT);
  pinMode(IR2, INPUT);
  pinMode(DOUT, INPUT);
  pinMode(CLK, OUTPUT);
  lcd.begin(16, 2);     // Вывести сообщение на ЖК-дисплей.
  lcd.print("WELCOME");
  delay(2000);
  WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
// Serial.print("подключение");
  while (WiFi.status() != WL_CONNECTED) 
    {
  // Серийный.print(".");
      delay(500);
    }
// Serial.println();
// Serial.print("подключено: ");
// Serial.println(WiFi.localIP());
  scale.set_scale();
  scale.tare(); // Сбросить масштаб до
}
void loop() 
{
  scale.set_scale(calibration_factor); //Настроить на этот коэффициент калибровки
  float a=scale.get_units();   // Переменная для получения значений веса на входе
  lcd.clear();
  Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);
  Firebase.setFloat("Weight", a);  // установить значение в firebase // значение для переменной, отправленной в вес
  if (digitalRead(IR1)==HIGH)
  {
    Firebase.setFloat("IR1", HIGH);
    lcd.setCursor(0, 0);
    lcd.print("Location 1:High");
  }
   if (digitalRead(IR1)==LOW)
  {
    Firebase.setFloat("IR1", LOW);
    lcd.setCursor(0, 0);   //колонка ряд
    lcd.print("Location 1: Low");
  }
   if (digitalRead(IR2)==HIGH)
  {
    Firebase.setFloat("IR2", HIGH);
    lcd.setCursor(0, 1);
    lcd.print("Location 2:High");
  }
   if (digitalRead(IR2)==LOW)
  {
    Firebase.setFloat("IR2", LOW);
    lcd.setCursor(0, 1);
    lcd.print("Location 2: Low");
  }
  delay(2000);
  lcd.clear();
  if (a>=4)
  {
    lcd.setCursor(0, 0);
    lcd.print("Weight: High");
  }
   if (a<4)
  {
    lcd.setCursor(0, 0);
    lcd.print("Weight: Low");
  }
 delay(2000);
}
void send_msg_1()
{
  Serial.println("AT+CMGF=1");// для модуля GSM в режиме TEXT
  delay(1000);
  Serial.println("AT+CMGS=\"+9921526975\"\r");// Номер телефона (изменить)
  delay(1000);
  Serial.println("Dustbin at Location 1 is full");// Тело сообщения (изменить в соответствии с требованиями)
  delay(1000);
  Serial.println((char)26);// отправить сообщение
  delay(1000);
} 

ОШИБКИ, которые я получаю при компиляции:

sketch_jul18a:34:22: error: no matching function for call to 'HX711::HX711(int, int)'
 HX711 scale(DOUT, CLK); // Init of library
                      ^
C:\Users\Admin\Desktop\Neha\sketch_jul18a\sketch_jul18a.ino:34:22: note: candidates are:
In file included from C:\Users\Admin\Desktop\Neha\sketch_jul18a\sketch_jul18a.ino:23:0:
C:\Users\Admin\Documents\Arduino\libraries\HX711_Arduino_Library\src/HX711.h:30:3: note: HX711::HX711()
   HX711();
   ^
C:\Users\Admin\Documents\Arduino\libraries\HX711_Arduino_Library\src/HX711.h:30:3: note:   candidate expects 0 arguments, 2 provided
C:\Users\Admin\Documents\Arduino\libraries\HX711_Arduino_Library\src/HX711.h:19:7: note: constexpr HX711::HX711(const HX711&)
 class HX711
       ^
C:\Users\Admin\Documents\Arduino\libraries\HX711_Arduino_Library\src/HX711.h:19:7: note:   candidate expects 1 argument, 2 provided
exit status 1
no matching function for call to 'HX711::HX711(int, int)'

Пожалуйста, помогите мне решить эту проблему. Слишком много борьбы...

, 👍0


1 ответ


Лучший ответ:

2

Наверное, основная проблема уже в первых строчках:

#include ESP8266WiFi.h
#include LiquidCrystal.h
#include FirebaseArduino.h>
#include HX711.h>

Вы должны использовать правильное форматирование:

#include "ESP8266WiFi.h"
#include "LiquidCrystal.h"
#include "FirebaseArduino.h"
#include "HX711.h"

Кроме того, в HX711 нет конструктора с аргументами, поэтому вместо

HX711 scale(DOUT, CLK);

использовать

HX711 scale;

и в настройках:

scale.begin(DOUT, CLK);

Возможно, код предназначен для другой библиотеки.

См. HX711_full_example. Или используйте код, принадлежащий вашей используемой библиотеке HX711.

,

Большое спасибо за вашу драгоценную помощь, сэр. из последних много дней борется с ошибками. Не очень знаком с Arduino IDE. Большое спасибо за помощь. Очень благодарен., @user55815

Добро пожаловать, успехов вашему проекту. Если ответ решает вашу проблему, пожалуйста, примите ответ (нажав кнопку рядом с ответом)., @Michel Keijzers