22. November 2011
![](../../../../files/2011/11/mma_visual.jpg)
![](../../../../files/2011/11/mma_7455.jpg)
![](../../../../files/2011/11/accelerate.jpg)
#include <Wire.h> #include <MMA_7455.h> MMA_7455 mySensor = MMA_7455(); char xVal, yVal, zVal; char prevxVal=0, prevyVal=0, prevzVal=0; float smoothPrev = 0.8; float smoothNew = 0.2; void setup() { Serial.begin(9600); mySensor.initSensitivity(2); // X=0g, Y=0g, Z=1g (1g: $3F = 64) mySensor.calibrateOffset(2, 19, -5); } void loop() { xVal = mySensor.readAxis('x'); yVal = mySensor.readAxis('y'); zVal = mySensor.readAxis('z'); xVal = (smoothPrev * prevxVal) + (smoothNew * xVal); yVal = (smoothPrev * prevyVal) + (smoothNew * yVal); zVal = (smoothPrev * prevzVal) + (smoothNew * zVal); Serial.print(xVal, DEC); Serial.print('\t'); Serial.print(yVal, DEC); Serial.print('\t'); Serial.print(zVal, DEC); Serial.print('\t'); Serial.println(); prevxVal = xVal; prevyVal = yVal; prevzVal = zVal; }