accelerometer example for Xadow M0 on-board ADXL345

Dependencies:   ADXL345_I2C USBDevice mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "ADXL345_I2C.h"
00002 
00003 #define DEBUG
00004 
00005 #ifdef DEBUG
00006 #include "USBSerial.h"                       // To use USB virtual serial, a driver is needed, check http://mbed.org/handbook/USBSerial
00007 #define LOG(args...)    pc.printf(args)
00008 USBSerial pc;
00009 #else
00010 #define LOG(args...)
00011 #endif
00012 
00013 ADXL345_I2C accelerometer(P0_5, P0_4);
00014 
00015 int main()
00016 {
00017     int readings[3] = {0, 0, 0};
00018 
00019     LOG("Starting ADXL345 test...\n");
00020     LOG("Device ID is: 0x%02x\n", accelerometer.getDeviceID());
00021  
00022     //Go into standby mode to configure the device.
00023     accelerometer.setPowerControl(0x00);
00024  
00025     //Full resolution, +/-16g, 4mg/LSB.
00026     accelerometer.setDataFormatControl(0x0B);
00027      
00028     //3.2kHz data rate.
00029     accelerometer.setDataRate(ADXL345_3200HZ);
00030  
00031     //Measurement mode.
00032     accelerometer.setPowerControl(0x08);
00033 
00034     while (1) {
00035         accelerometer.getOutput(readings);
00036         LOG("%i, %i, %i\n", (int16_t)readings[0], (int16_t)readings[1], (int16_t)readings[2]);
00037         
00038         wait(1);
00039     }
00040 
00041 }