
Serial.print(',');
Serial.print("z= ");
Serial.println(z*5/1024.0,3);
delay(500);
}
Step 2
Leave sensor resting horizontally on the desktop, keep the positive direction of Z-axis upwards.
Open the IDE serial monitor, and record a set of data. E.g.:
x= 0.776,y= 0.776,z= 1.157
Similarly, leave sensor resting horizontally on the desktop, keep the negative direction of Z-axis
upwards. Open the IDE serial monitor, and record another set of data. E.g.:
x= 0.776,y= 0.781,z= 0.688
Now, you could observe two sets of data, and you will find the value on X-axis & Y-axis are equal or
differ very little, but the value on Z-axis are quite different. This is because there is no accelerated
velocity on X-axis and Y-axis, when the sensor is resting horizontally. The module is only forced by
gravity, and its direction is always downward. With different posture, the gravitational acceleration
stays the same. In physics, we call it "g".
So, when the Z-axis upward, the value z should be "z=Z+g"; when the Z-axis downward, it will be
"z=Z+g". You could calculate the initial value of "Z", and the corresponding value of "g".
Z=(1.157+0.688)/2=0.923 mV
g=(1.157-0.688)/2=0.235 mV/g
Similarly, you could get sensor initial value "X" & "Y" and corresponding value of "g" on X-axis and
Y-axis.
Note: The gravitational acceleration are always downward, and its value are only related to the
local gravity. We regulate its direction as acceleration positive direction. For example: when the
object is moving upward with the acceleration of "a", its acceleration will be "g+a".