/**
* Datenblatt des ATMega328P :
* http://www.atmel.com/Images/Atmel-42735-8-bit-AVR-Microcontroller-ATmega328-328P_Datasheet.pdf
*
*/
float gmw = 0.0; // Gleitender Mittelwert
const float Steigung = 15.6/1014;
float Faktor = 0.1; // 0 < Faktor < 1
void setup()
{
Serial.begin(9600);
analogReference(INTERNAL);
gmw = Steigung * analogRead(A0); // GMW Vorbesetzen
}
void loop()
{
int v = analogRead(A0);
float value = Steigung * v;
gmw = gmw - gmw*Faktor + value*Faktor;
Serial.print(value,1);
Serial.print(" ");
Serial.println(gmw,1);
delay(100);
}
Kleiner Faktor bewirkt große Dämpfung
Den Erfolg kann man sich schön im seriellen Plotter ansehen.