// Define the number of samples to keep track of. The higher the number,// the more the readings will be smoothed, but the slower the output will// respond to the input. Using a constant rather than a normal variable lets// use this value to determine the size of the readings array.const int numReadings = 10;int readings[numReadings]; // the readings from the analog inputint index = 0; // the index of the current readingint total = 0; // the running totalint average = 0; // the averageint inputPin = A0;void setup(){ // initialize serial communication with computer: Serial.begin(9600); // initialize all the readings to 0: for (int thisReading = 0; thisReading < numReadings; thisReading++) readings[thisReading] = 0; }void loop() { // subtract the last reading: total= total - readings[index]; // read from the sensor: readings[index] = analogRead(inputPin); // add the reading to the total: total= total + readings[index]; // advance to the next position in the array: index = index + 1; // if we're at the end of the array... if (index >= numReadings) // ...wrap around to the beginning: index = 0; // calculate the average: average = total / numReadings; // send it to the computer as ASCII digits Serial.println(average); delay(1); // delay in between reads for stability }
Smoothing:31: error: 'int index' redeclared as different kind of symbol/Applications/Arduino V 1.5.2 Due.app/Contents/Resources/Java/hardware/tools/g++_arm_none_eabi/bin/../lib/gcc/arm-none-eabi/4.4.1/../../../../arm-none-eabi/include/string.h:56: error: previous declaration of 'char* index(const char*, int)'Smoothing.ino: In function 'void loop()':Smoothing:48: error: invalid types 'int [10][char*(const char*, int)]' for array subscriptSmoothing:50: error: invalid types 'int [10][char*(const char*, int)]' for array subscriptSmoothing:52: error: invalid types 'int [10][char*(const char*, int)]' for array subscriptSmoothing:54: error: assignment of function 'char* index(const char*, int)'Smoothing:54: error: cannot convert 'char* (*)(const char*, int)' to 'char*(const char*, int)' in assignmentSmoothing:57: error: ISO C++ forbids comparison between pointer and integerSmoothing:59: error: assignment of function 'char* index(const char*, int)'Smoothing:59: error: cannot convert 'int' to 'char*(const char*, int)' in assignment
Looks like the name 'index' is being used by the libraries. Pick a different name for that variable.