jawad ateeq / Mbed 2 deprecated LowBack_Demo

Dependencies:   mbed

Committer:
jateeq
Date:
Wed Jan 28 17:29:19 2015 +0000
Revision:
0:d2713e1a96b2
Initial commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jateeq 0:d2713e1a96b2 1 #include "mbed.h"
jateeq 0:d2713e1a96b2 2 #include "MPU6050.h"
jateeq 0:d2713e1a96b2 3 #include "ADXL345_I2C.h"
jateeq 0:d2713e1a96b2 4
jateeq 0:d2713e1a96b2 5 //DigitalOut myled(LED1);
jateeq 0:d2713e1a96b2 6 Serial pc(USBTX, USBRX);
jateeq 0:d2713e1a96b2 7 MPU6050 mpu;
jateeq 0:d2713e1a96b2 8 ADXL345_I2C accelerometer(I2C_SDA, I2C_SCL);
jateeq 0:d2713e1a96b2 9
jateeq 0:d2713e1a96b2 10 int16_t MPU_ax, MPU_ay, MPU_az;
jateeq 0:d2713e1a96b2 11 int16_t MPU_gx, MPU_gy, MPU_gz;
jateeq 0:d2713e1a96b2 12
jateeq 0:d2713e1a96b2 13 int main()
jateeq 0:d2713e1a96b2 14 {
jateeq 0:d2713e1a96b2 15 pc.baud(115200);
jateeq 0:d2713e1a96b2 16
jateeq 0:d2713e1a96b2 17
jateeq 0:d2713e1a96b2 18 pc.printf("MPU6050 test\n\n");
jateeq 0:d2713e1a96b2 19 pc.printf("MPU6050 initialize \n");
jateeq 0:d2713e1a96b2 20
jateeq 0:d2713e1a96b2 21 mpu.initialize();
jateeq 0:d2713e1a96b2 22 pc.printf("MPU6050 testConnection \n");
jateeq 0:d2713e1a96b2 23
jateeq 0:d2713e1a96b2 24 bool mpu6050TestResult = mpu.testConnection();
jateeq 0:d2713e1a96b2 25 if(mpu6050TestResult) {
jateeq 0:d2713e1a96b2 26 pc.printf("MPU6050 test passed \n");
jateeq 0:d2713e1a96b2 27 } else {
jateeq 0:d2713e1a96b2 28 pc.printf("MPU6050 test failed \n");
jateeq 0:d2713e1a96b2 29 }
jateeq 0:d2713e1a96b2 30
jateeq 0:d2713e1a96b2 31 int ADXL_readings[3] = {0, 0, 0};
jateeq 0:d2713e1a96b2 32
jateeq 0:d2713e1a96b2 33 // These are here to test whether any of the initialization fails. It will print the failure
jateeq 0:d2713e1a96b2 34 if (accelerometer.setPowerControl(0x00))
jateeq 0:d2713e1a96b2 35 {
jateeq 0:d2713e1a96b2 36 pc.printf("Couldn't intitialize power control\n");
jateeq 0:d2713e1a96b2 37 }
jateeq 0:d2713e1a96b2 38 //Full resolution, +/-16g, 4mg/LSB.
jateeq 0:d2713e1a96b2 39 wait(.001);
jateeq 0:d2713e1a96b2 40
jateeq 0:d2713e1a96b2 41 if(accelerometer.setDataFormatControl(0x0B))
jateeq 0:d2713e1a96b2 42 {
jateeq 0:d2713e1a96b2 43 pc.printf("Couldn't set data format\n");
jateeq 0:d2713e1a96b2 44 }
jateeq 0:d2713e1a96b2 45 wait(.001);
jateeq 0:d2713e1a96b2 46
jateeq 0:d2713e1a96b2 47 //3.2kHz data rate.
jateeq 0:d2713e1a96b2 48 if(accelerometer.setDataRate(ADXL345_3200HZ))
jateeq 0:d2713e1a96b2 49 {
jateeq 0:d2713e1a96b2 50 pc.printf("didn't set data rate\n");
jateeq 0:d2713e1a96b2 51 }
jateeq 0:d2713e1a96b2 52 wait(.001);
jateeq 0:d2713e1a96b2 53
jateeq 0:d2713e1a96b2 54 //Measurement mode.
jateeq 0:d2713e1a96b2 55
jateeq 0:d2713e1a96b2 56 if(accelerometer.setPowerControl(MeasurementMode))
jateeq 0:d2713e1a96b2 57 {
jateeq 0:d2713e1a96b2 58 pc.printf("Couldn't set the power control to measurement\n");
jateeq 0:d2713e1a96b2 59 }
jateeq 0:d2713e1a96b2 60
jateeq 0:d2713e1a96b2 61 while(1) {
jateeq 0:d2713e1a96b2 62 mpu.getMotion6(&MPU_ax, &MPU_ay, &MPU_az, &MPU_gx, &MPU_gy, &MPU_gz);
jateeq 0:d2713e1a96b2 63 accelerometer.getOutput(ADXL_readings);
jateeq 0:d2713e1a96b2 64
jateeq 0:d2713e1a96b2 65 //writing current accelerometer and gyro position
jateeq 0:d2713e1a96b2 66 pc.printf("MPU: %d;%d;%d;%d;%d;%d\r\n",MPU_ax,MPU_ay,MPU_az,MPU_gx,MPU_gy,MPU_gz);
jateeq 0:d2713e1a96b2 67 pc.printf("ADXL: %i, %i, %i\r\n\n", (int16_t)ADXL_readings[0], (int16_t)ADXL_readings[1], (int16_t)ADXL_readings[2]);
jateeq 0:d2713e1a96b2 68
jateeq 0:d2713e1a96b2 69 wait(0.01);
jateeq 0:d2713e1a96b2 70 }
jateeq 0:d2713e1a96b2 71 }