/* TagTool Arduino code. * Modified Nov. 9, 2008, Sam T. */ int pinS1 = 0; int pinS2 = 1; int pinS3 = 2; int pinS4 = 3; int pinS5 = 4; int pinS6 = 5; static const int avgCount = 6; int valS1, valS2, valS3, valS4, valS5, valS6 = 0; int arr1[avgCount]; int arr2[avgCount]; int arr3[avgCount]; int arr4[avgCount]; int arr5[avgCount]; int arr6[avgCount]; int pinButton = 7; int valButton = 0; int i; int index = 0; /** * Average the values in the averaging arrays */ void avg() { valS1 = valS2 = valS3 = valS4 = valS5 = valS6 = 0; for(i = 0; i < avgCount; i++) { valS1 += arr1[i]; valS2 += arr2[i]; valS3 += arr3[i]; valS4 += arr4[i]; valS5 += arr5[i]; valS6 += arr6[i]; } valS1 /= avgCount; valS2 /= avgCount; valS3 /= avgCount; valS4 /= avgCount; valS5 /= avgCount; valS6 /= avgCount; } void setup() { // reset averageArrays for (i = 0; i < avgCount; i++) { arr1[i] = 0; arr2[i] = 0; arr3[i] = 0; arr4[i] = 0; arr5[i] = 0; arr6[i] = 0; } index = 0; // start serial port at 9600 bps: Serial.begin(9600); Serial.print("a"); } void loop() { // if we get a valid byte, read analog ins: //Serial.print(10); // I have to comment this line below out, // cause it make the program not running properlly. // //if (Serial.available() > 0) { valButton = digitalRead(pinButton); // read input value from the Pushbutton /* valS1 = analogRead(pinS1); valS2 = analogRead(pinS2); valS3 = analogRead(pinS3); valS4 = analogRead(pinS4); valS5 = analogRead(pinS5); valS6 = analogRead(pinS6); */ // out actual values into the averaging arrays arr1[index] = analogRead(pinS1); arr2[index] = analogRead(pinS2); arr3[index] = analogRead(pinS3); arr4[index] = analogRead(pinS4); arr5[index] = analogRead(pinS5); arr6[index] = analogRead(pinS6); // increment index -> if index exceeds array sizes reset to zero index++; if (index >= avgCount) { index = 0; } // calculate average values avg(); Serial.read(); delay(10); // Slider 1 Serial.print(valS1 / 4, BYTE); //Serial.print(valS1 % 256, BYTE); // Slider 2 Serial.print(valS2 / 4, BYTE); //Serial.print(valS2 % 256, BYTE); // Slider 3 Serial.print(valS3 / 4, BYTE); //Serial.print(valS3 % 256, BYTE); // Slider 4 Serial.print(valS4 / 4, BYTE); //Serial.print(valS4 % 256, BYTE); // Slider 5 Serial.print(valS5 / 4, BYTE); //Serial.print(valS5 % 256, BYTE); // Slider 6 Serial.print(valS6 / 4, BYTE); //Serial.print(valS6 / 4, DEC); //Serial.print(valS6 % 256, BYTE); // Pushbutton Serial.print(valButton * 255, BYTE); //Serial.print(valButton * 255, DEC); // This part is only for the purpose of debugging // //} else { // Serial.println("No Communication!"); //} }