DFRobot ADXL345

Dependencies:   mbed

Committer:
jh_ndm
Date:
Fri Jul 15 08:04:19 2016 +0000
Revision:
0:7dd215338a3d
DFRobot ADXL345

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jh_ndm 0:7dd215338a3d 1 #include"mbed.h"
jh_ndm 0:7dd215338a3d 2
jh_ndm 0:7dd215338a3d 3 #define ADXL345_I2C_READ 0xA7
jh_ndm 0:7dd215338a3d 4 #define ADXL345_I2C_WRITE 0xA6
jh_ndm 0:7dd215338a3d 5 #define ADXL345_I2C_ADDRESS 0x53
jh_ndm 0:7dd215338a3d 6 #define ADXL345_DEVID_REG 0x00
jh_ndm 0:7dd215338a3d 7 #define ADXL345_DATAX0_REG 0x32
jh_ndm 0:7dd215338a3d 8 #define ADXL345_POWER_CTL_REG 0x2D
jh_ndm 0:7dd215338a3d 9 #define MeasurementMode 0x08
jh_ndm 0:7dd215338a3d 10
jh_ndm 0:7dd215338a3d 11 I2C adxl345(PA_10,PA_09);
jh_ndm 0:7dd215338a3d 12 Serial uart0(PA_13,PA_14);
jh_ndm 0:7dd215338a3d 13 //DigitalOut led(LED1);
jh_ndm 0:7dd215338a3d 14 int16_t xyz[3] = {0, 0, 0};
jh_ndm 0:7dd215338a3d 15
jh_ndm 0:7dd215338a3d 16 int main() {
jh_ndm 0:7dd215338a3d 17 char config[2];
jh_ndm 0:7dd215338a3d 18 char data[6];
jh_ndm 0:7dd215338a3d 19 config[0] = ADXL345_DEVID_REG;
jh_ndm 0:7dd215338a3d 20 char output;
jh_ndm 0:7dd215338a3d 21 uart0.baud(9600);
jh_ndm 0:7dd215338a3d 22 adxl345.write( ADXL345_I2C_WRITE , config, 1);
jh_ndm 0:7dd215338a3d 23 adxl345.read( ADXL345_I2C_READ , &output, 1);
jh_ndm 0:7dd215338a3d 24 uart0.printf("ADXL345 device id is 0x%x.\r\n",output);
jh_ndm 0:7dd215338a3d 25 config[0] = ADXL345_POWER_CTL_REG;
jh_ndm 0:7dd215338a3d 26 config[1] = MeasurementMode;
jh_ndm 0:7dd215338a3d 27 adxl345.write( ADXL345_I2C_WRITE, config, 2); //set power
jh_ndm 0:7dd215338a3d 28
jh_ndm 0:7dd215338a3d 29 config[0]=ADXL345_DATAX0_REG;
jh_ndm 0:7dd215338a3d 30 while (1)
jh_ndm 0:7dd215338a3d 31 {
jh_ndm 0:7dd215338a3d 32 adxl345.write( ADXL345_I2C_WRITE, config, 1);
jh_ndm 0:7dd215338a3d 33 adxl345.read( ADXL345_I2C_READ , data, 6);
jh_ndm 0:7dd215338a3d 34 xyz[0]=(int)data[1]<<8|(int)data[0];
jh_ndm 0:7dd215338a3d 35 xyz[1]=(int)data[3]<<8|(int)data[2];
jh_ndm 0:7dd215338a3d 36 xyz[2]=(int)data[5]<<8|(int)data[4];
jh_ndm 0:7dd215338a3d 37 uart0.printf("%6i, %6i, %6i\n", xyz[0], xyz[1], xyz[2]);
jh_ndm 0:7dd215338a3d 38 wait(0.1);
jh_ndm 0:7dd215338a3d 39 }
jh_ndm 0:7dd215338a3d 40 }