// "chickabiddy" model 01 // final working code for Processing-Accelormeter serial communiation // Updated on Dec 9, 2008 // // by Juri Imamura // http://www.juridesign.com/chickabiddy int analogY = 0; // Y value of analog input int analogX = 1; // X value of analog input int analogZ = 2; // Z value of analog input int readingsY[11]; // the readings from the Y analog input int readingsX[11]; // the readings from the X analog input int readingsZ[11]; // the readings from the Z analog input int totalY = 0; // the running total int averageY = 0; // the average int totalX = 0; // the running total int averageX = 0; // the average int totalZ = 0; // the running total int averageZ = 0; // the average void setup() { // configure the serial connection: Serial.begin(9600); for (int i = 0; i < 11; i++){ readingsY[i] = analogRead(analogY); readingsX[i] = analogRead(analogX); readingsZ[i] = analogRead(analogZ); } } void loop() { for (int i = 0; i < 11; i++){ readingsY[i] = analogRead(analogY); // read from the sensor int y1 = readingsY[0]; int y2 = readingsY[1]; int y3 = readingsY[2]; int y4 = readingsY[3]; int y5 = readingsY[4]; int y6 = readingsY[5]; int y7 = readingsY[6]; int y8 = readingsY[7]; int y9 = readingsY[8]; int y10 = readingsY[9]; int y11 = readingsY[10]; totalY = y1+y2+y3+y4+y5+y6+y7+y8+y9+y10+y11; averageY = totalY / 10; // calculate the average readingsX[i] = analogRead(analogX); // read from the sensor int x1 = readingsX[0]; int x2 = readingsX[1]; int x3 = readingsX[2]; int x4 = readingsX[3]; int x5 = readingsX[4]; int x6 = readingsX[5]; int x7 = readingsX[6]; int x8 = readingsX[7]; int x9 = readingsX[8]; int x10 = readingsX[9]; int x11 = readingsX[10]; totalX = x1+x2+x3+x4+x5+x6+x7+x8+x9+x10+x11; averageX = totalX / 10; // calculate the average readingsZ[i] = analogRead(analogZ); // read from the sensor int z1 = readingsZ[0]; int z2 = readingsZ[1]; int z3 = readingsZ[2]; int z4 = readingsZ[3]; int z5 = readingsZ[4]; int z6 = readingsZ[5]; int z7 = readingsZ[6]; int z8 = readingsZ[7]; int z9 = readingsZ[8]; int z10 = readingsZ[9]; int z11 = readingsZ[10]; totalZ = z1+z2+z3+z4+z5+z6+z7+z8+z9+z10+z11; averageZ = totalZ / 10; // calculate the average if (i >= 11) { i = 0; } //Sending values to Processing Serial.print(averageY, DEC); Serial.print(","); Serial.print(averageX, DEC); Serial.print(","); Serial.println(averageZ, DEC); } }