/* AnalogReadSerial Reads an analog input on pin 0, prints the result to the serial monitor This example code is in the public domain. */ void setup() { Serial.begin(9600); } double delta=0; int lastV=0; int v=0; double epsilon=0.004; double delsq=0; double mean=0; void loop() { for (int i=0; i<100; ++i) { lastV = v; v = analogRead(A0); mean = mean*(-epsilon+1.0)+epsilon*v; delta=(delta+double(v-lastV))*epsilon; delsq = (mean-double(v))*(mean-double(v))*epsilon + delsq*(-epsilon+1.0); } Serial.print(v); Serial.print("\t"); Serial.print(mean); Serial.print("\t"); Serial.print(delta); Serial.print("\t"); Serial.println(sqrt(delsq)); }