![](/media/cache/profiles/dfdfab9941ac833a0c364aa2e608185e.50x50_q85.jpg)
A test program for the MMA8452 accelerometer
The test program runs a bunch of tests for the MMA8452 accelerometer.
What is below is not the test program, but an example to whet your appetite about the library.
#include "mbed.h" #include "MMA8452.h" int main() { Serial pc(USBTX,USBRX); pc.baud(115200); double x = 0, y = 0, z = 0; MMA8452 acc(p28, p27, 40000); acc.setBitDepth(MMA8452::BIT_DEPTH_12); acc.setDynamicRange(MMA8452::DYNAMIC_RANGE_4G); acc.setDataRate(MMA8452::RATE_100); while(1) { if(!acc.isXYZReady()) { wait(0.01); continue; } acc.readXYZGravity(&x,&y,&z); pc.printf("Gravities: %lf %lf %lf\r\n",x,y,z); } }
An easy way to test that this actually works is to run the loop above and hold the MMA8452 parallel to the ground along the respective axis (and upsidedown in each axis). You will see 1G on the respective axis and 0G on the others.
Diff: MMA8452.lib
- Revision:
- 1:e9981919b524
- Parent:
- 0:0c17274c3b7c
- Child:
- 2:0630128bdb32
--- a/MMA8452.lib Tue Mar 04 17:51:27 2014 +0000 +++ b/MMA8452.lib Wed Mar 05 15:04:45 2014 +0000 @@ -1,1 +1,1 @@ -http://mbed.org/users/ashleymills/code/MMA8452/#172540ff6b8b +http://mbed.org/users/ashleymills/code/MMA8452/#4bd8b4cd479d