Create multiple separate objects
//
// FILE: runningAverageTest.ino
// AUTHOR: Rob Tillaart
// DATE: 2014-05-07
//
// PUPROSE: show working of runningAverage
//
#include "RunningAverage.h"
RunningAverage RA0(15);
RunningAverage RA1(13);
RunningAverage RA2(11);
RunningAverage RA3(9);
RunningAverage RA4(7);
RunningAverage RA5(5);
int samples = 0;
void setup(void)
{
Serial.begin(115200);
Serial.println("Demo RunningAverage lib");
Serial.print("Version: ");
Serial.println(RUNNINGAVERAGE_LIB_VERSION);
clearAll();
}
void loop(void)
{
RA0.addValue(analogRead(A0));
RA1.addValue(analogRead(A1));
RA2.addValue(analogRead(A2));
RA3.addValue(analogRead(A3));
RA4.addValue(analogRead(A4));
RA5.addValue(analogRead(A5));
Serial.print(RA0.getAverage(), 3);
Serial.print(",");
Serial.print(RA1.getAverage(), 3);
Serial.print(",");
Serial.print(RA2.getAverage(), 3);
Serial.print(",");
Serial.print(RA3.getAverage(), 3);
Serial.print(",");
Serial.print(RA4.getAverage(), 3);
Serial.print(",");
Serial.println(RA5.getAverage(), 3);
samples++;
if (samples == 300)
{
samples = 0;
clearAll();
}
delay(100);
}
void clearAll()
{
RA0.clear();
RA1.clear();
RA2.clear();
RA3.clear();
RA4.clear();
RA5.clear();
}
running this program should generate output you can graph in a spreadsheet giving insight in the effects of the internal buffer.