wie Ceos schon schrieb, arithmetische Mittel gehen und finde ich auch ausreichend.
Direkt am Analogpin misst du einen Rohwert zwischen 0...1024, das ist dein Messbereich (Achtung! darf direkt am Arduino Pin hächstens 5V sein, bei manchen Arduinos sogar nur 3.3V!);
Du musst ihn dann in float umwandeln und nimmst einfach das Mittel zwischen dem bisherigen Durchschnittswert und deinem aktuellen:
float Durchschnitt;
Durchschnitt = (Durchschnitt + (float)analogRead(MessPin) ) /2;
kurze kleine Ausreißer werden nicht viel ausmachen, mit der Zeit wird dann bei dauerhaft niedrigem Messwert auch deine Schwelle unterschritten.
Ansonsten ist bei häufigen starken Ausreißern ein anderes Verfahren nötig (z.B. Median) - das ist aber deutlich komplizierter.
Das ganze packst du in deine Arduino-Funktion loop().
Zwischen die einzelnen Messungen kommen dann am einfachsten delay(ms-Anzahl), bei 10 s also delay(10000);
es reicht aus zum testen, auch dafür gibt es elegantere Methoden.
Für absolute Anfänger empfehle ich allerdings: mach erst mal ein Arduino Tutorial!
Lesezeichen