if-Abfrage wird ignoriert

Hey,

ich wollte im wesentlichen ein Programm schreiben welches mir den Durchschnittswert von mehreren aufeinanderfolgenden Messwerten ausgibt. Nun ist aber folgendes Problem aufgetreten:

Die if-Abfrage wird nicht nur dann ausgeführt wenn die Bedingung erfüllt ist. Zum testen habe ich die Bedingung einmal durch (1>5) ersetzt, aber die print Befehle werden trotzdem weiter ausgeführt. Ich weiß wirklich nicht mehr woran das liegen könnte...

void setup() 
    {
      analogReference(EXTERNAL); //
      Serial.begin(9600);
    }
  
int sensorPin = A0;

float rawRange = 1024; // 3.3v
float logRange = 5.0; // 3.3v = 10^5 lux
float lux;
float average = 0;

int x = 1;
int n = 5;
int y = 0;
     
     
void loop() 
    {
      // read the raw value from the sensor:
      int rawValue = analogRead(sensorPin); 
      float lux = RawToLux(rawValue);
      AverageCalc(lux);
      Serial.println (lux);
      //delay(2);
    }
     
float RawToLux(int raw)
    {
      float logLux = raw * logRange / rawRange;
      return pow(10, logLux);
    }
  
void AverageCalc(int luxLoc) {
      average = average + luxLoc;
      
      if(1>5); {
       x = 0;
       average = average/n;
       Serial.println(average);
       Serial.println("lol");
       Serial.println(n);
       average = 0;
      }
      
      x = x+1;
    }

Setze Deinen Code bitte in Codetags (-Button oben links im Forumseditor oder [code] davor und [/code] dahinter ohne *). Dann ist er auch auf mobilen Geräten besser lesbar. Das kannst Du auch noch nachträglich ändern.

if(1>5);

Da sind 2 Fehler drin:

  1. 1 ist nie > 5, also immer false
  2. das ; hinter der Bedingung bewirkt, dass nichts passiert, fall die Bedingung mal wahr werden könnte, was sie hier nicht tut.

Gruß Tommy

Danke für den Hinweis mit dem Code, habe ich geändert.

Die Bedingung hatte ich ja extra zum testen auf 1>5 geändert, damit sie garantiert falsch ist und der Code darunter nicht ausgeführt wird, was er aber trotzdem wurde.

Das entfernen des Semikolons hat das aber gelöst. Dankeschön!

Ich hätte schwören können dass ich die if-Bedingung der Vorlage entsprechend gemacht habe, aber wenn man zu lange auf den Bildschirm guckt sieht man sowas irgendwann nicht mehr... :-)

Nicht rechtfertigen, denn das übt den Irrtum.