]> git.piffa.net Git - arduino/blob - books/ArduinoNextSteps-master/ArduinoNextSteps/sketch_13_01_averaging/sketch_13_01_averaging.ino
first commit
[arduino] / books / ArduinoNextSteps-master / ArduinoNextSteps / sketch_13_01_averaging / sketch_13_01_averaging.ino
1 // sketch_13_01_averaging
2
3 const int samplePin = A1;
4
5 const int bufferSize = 10;
6 int buffer[bufferSize];
7 int index;
8
9 void setup()
10 {
11   Serial.begin(9600);
12 }
13
14 void loop()
15 {
16   int reading = analogRead(samplePin);
17   addReading(reading);
18   Serial.println(average());
19   delay(1000);
20 }
21
22 void addReading(int reading)
23 {
24   buffer[index] = reading;
25   index++;
26   if (index >= bufferSize) index = 0;
27 }
28
29 int average()
30 {
31   long sum = 0;
32   for (int i = 0; i < bufferSize; i++)
33   {
34     sum += buffer[i];
35   }
36   return (int)(sum / bufferSize);
37 }