Durchschnitt von Sensorwerten(Temperatur)

Hallo liebes Forum,

für die Berechnung des Durchschnittes von Sensorwerten haben ich ein Code geschrieben. Er sollte eigentlich richtig sein. Trotzdeml werden mir immerwieder falsche Durchschnittswerte übermittelt.
Hatte einer von euch schonmal Probleme bei der Initalisierung des Durchschnittes.
Ich habe es auch schon mit Arrays probiert und es kommt der selbe Fehler.

Hier mein CODE:

#include <LiquidCrystal.h>
#include “MLX90615.h”
#include <I2cMaster.h>

#define SDA_PIN A4 //define the SDA pin
#define SCL_PIN A5 //define the SCL pin

SoftI2cMaster i2c(SDA_PIN, SCL_PIN);
MLX90615 mlx90615(DEVICE_ADDR, &i2c);

const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
double av;
int counter=0;
int anzahl=10;
double sum=0;

void setup()
{
Serial.begin(9600);
}

void loop()
{

double objTem=mlx90615.getTemperature(MLX90615_OBJECT_TEMPERATURE);
Serial.print("Object : ");
Serial.println(objTem);
counter++;
if(counter==10)
{
for(int i=0; i<anzahl; i++)
{
sum=sum+objTem;
counter=0;
}
av = sum / anzahl;
Serial.print(“AVERAGE”);
Serial.println(av);

}
delay(1000);

}

mlx90615.txt (1.21 KB)

Setz deinen Code in Code-Tags, damit er mit Sicherheit fehlerfrei dargestellt wird.
Ist die Schaltfläche oben links </>, kannst das auch noch nachträglich machen.

Code markieren, und danach die Schaltfläche drücken

In deinen Sketch sehe ich keine Ermittlung des Durchschnitts der gemessenen Werte, sondern nur eine Ermittlung des Durchschnitts von 10 mal desselben Wertes.

Nimm die Lib RunningMedian.

Und ersetze delay durch eine millis() Konstruktion

Mit welchem Arduino arbeitest Du?