Werte vergleichen

Guten Abend habe das Problem dass ich eine Waage auslesen möchte und bei Gewichtsabnahme über 2000g die Meldung Fehler erscheinen sollte.
leider kommt die Meldung aber nur bei negativen Messwerten.

#include "HX711.h"

// HX711 circuit wiring
const int LOADCELL_DOUT_PIN = 2;
const int LOADCELL_SCK_PIN = 3;

HX711 scale;

void setup() {
  Serial.begin(57600);
  scale.begin(LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN);
 
}

void loop() {

  if (scale.is_ready()) {
    long reading = scale.read();
    Serial.print("HX711 reading: ");
    Serial.println(reading);
   if (scale.is_ready() > reading) {goto klein;}
  
else {goto gross;} 

klein:
if (reading - scale.is_ready() > 2000 ;
Serial.println("Fehler"));

else {goto gross;}} 
  
  
  else {
    Serial.println("HX711 not found.");
  }


gross:


  delay(1000);
  
}

Liefert 0 oder 1 (falsch oder wahr), wenn der HX bereit ist oder nicht.
Mit dem kannst Du nicht den gelesenen Wert vergleichen.

Außerdem solltest Du nicht mit goto arbeiten, da sich Anfänger damit eher Probleme einsammeln, als Lösungen.

Gruß Tommy

Wenn du ein ; am Ende des if hast, kannst du dir das if sparen.

if(  1==0 ) ;
Serial.println(" Diese Ausgabe ist unabhängig vom if ");

Die Klammern machen auch keinen Sinn.

P.S. goto solltest du dir übrigens abgewöhnen.

Außer den bereits erörterten Problemen und problemchen:
Es gibt auch abs()
siehe

Grüße Uwe

Mein Ansatz.
Ausbaufähig, aber konvertiert.

#include "HX711.h"

// HX711 circuit wiring
const int LOADCELL_DOUT_PIN = 2;
const int LOADCELL_SCK_PIN = 3;

HX711 scale;

long reading;
long lastReading;

void setup()
{
  Serial.begin(57600);
  scale.begin(LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN);
  Serial.println(F("Warte auf Waage"));
  while (!scale.is_ready())
  {}
  reading = scale.read();
  lastReading = reading;
}

void loop()
{
  if (scale.is_ready())
  {
    reading = scale.read();
    Serial.print(F("HX711 reading: "));
    Serial.println(reading);
    if (lastReading > reading)
    {
      klein();
    }
    else
    {
      gross();
    }
  }
}

void klein()
{
  if (reading - lastReading > 2000)
  { Serial.println(F("Fehler")); }
}


void gross()
{
  delay(1000);
}