Example to use MPU6050 library. This project contains usage of DMP and way to get raw values from the sensor. I ported here from this arduino's project https://github.com/jrowberg/i2cdevlib/tree/master/Arduino/MPU6050/Examples. See here if you want try visualization of sensor values. To get move this program, we need to connect pinName 27 to "SCL" pin, pinName 28 to "SDA" pin, and pinName 29 to "INT" pin of MPU6050.

Dependencies:   mbed MPU6050

Revision:
2:42c4f3a7813f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Examples/MPU6050_raw.cpp	Sun Jan 31 14:12:13 2016 +0000
@@ -0,0 +1,106 @@
+#include "MPU6050_raw.h"
+
+// I2Cdev and MPU6050 must be installed as libraries, or else the .cpp/.h files
+// for both classes must be in the include path of your project
+#include "I2Cdev.h"
+#include "MPU6050.h"
+
+#include "ArduinoSerial.h"
+
+// uncomment "OUTPUT_READABLE_ACCELGYRO" if you want to see a tab-separated
+// list of the accel X/Y/Z and then gyro X/Y/Z values in decimal. Easy to read,
+// not so easy to parse, and slow(er) over UART.
+#define OUTPUT_READABLE_ACCELGYRO
+
+// uncomment "OUTPUT_BINARY_ACCELGYRO" to send all 6 axes of data as 16-bit
+// binary, one right after the other. This is very fast (as fast as possible
+// without compression or data loss), and easy to parse, but impossible to read
+// for a human.
+//#define OUTPUT_BINARY_ACCELGYRO
+
+namespace MPU6050raw {
+// class default I2C address is 0x68
+// specific I2C addresses may be passed as a parameter here
+// AD0 low = 0x68 (default for InvenSense evaluation board)
+// AD0 high = 0x69
+MPU6050 accelgyro;
+//MPU6050 accelgyro(0x69); // <-- use for AD0 high
+
+int16_t ax, ay, az;
+int16_t gx, gy, gz;
+
+DigitalOut led1(LED1);
+ArduinoSerial arduinoSerial;
+
+void setup() {
+    // initialize arduinoSerial communication
+    // (38400 chosen because it works as well at 8MHz as it does at 16MHz, but
+    // it's really up to you depending on your project)
+    arduinoSerial.begin(38400);
+
+    // initialize device
+    arduinoSerial.println("Initializing I2C devices...");
+    accelgyro.initialize();
+
+    // verify connection
+    arduinoSerial.println("Testing device connections...");
+    arduinoSerial.println(accelgyro.testConnection() ? "MPU6050 connection successful" : "MPU6050 connection failed");
+
+    // use the code below to change accel/gyro offset values
+    /*
+    arduinoSerial.println("Updating internal sensor offsets...");
+    // -76  -2359   1688    0   0   0
+    arduinoSerial.print(accelgyro.getXAccelOffset()); arduinoSerial.print("\t"); // -76
+    arduinoSerial.print(accelgyro.getYAccelOffset()); arduinoSerial.print("\t"); // -2359
+    arduinoSerial.print(accelgyro.getZAccelOffset()); arduinoSerial.print("\t"); // 1688
+    arduinoSerial.print(accelgyro.getXGyroOffset()); arduinoSerial.print("\t"); // 0
+    arduinoSerial.print(accelgyro.getYGyroOffset()); arduinoSerial.print("\t"); // 0
+    arduinoSerial.print(accelgyro.getZGyroOffset()); arduinoSerial.print("\t"); // 0
+    arduinoSerial.print("\n");
+    accelgyro.setXGyroOffset(220);
+    accelgyro.setYGyroOffset(76);
+    accelgyro.setZGyroOffset(-85);
+    arduinoSerial.print(accelgyro.getXAccelOffset()); arduinoSerial.print("\t"); // -76
+    arduinoSerial.print(accelgyro.getYAccelOffset()); arduinoSerial.print("\t"); // -2359
+    arduinoSerial.print(accelgyro.getZAccelOffset()); arduinoSerial.print("\t"); // 1688
+    arduinoSerial.print(accelgyro.getXGyroOffset()); arduinoSerial.print("\t"); // 0
+    arduinoSerial.print(accelgyro.getYGyroOffset()); arduinoSerial.print("\t"); // 0
+    arduinoSerial.print(accelgyro.getZGyroOffset()); arduinoSerial.print("\t"); // 0
+    arduinoSerial.print("\n");
+    */
+}
+
+void loop() {
+    // read raw accel/gyro measurements from device
+    accelgyro.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);
+
+    // these methods (and a few others) are also available
+    //accelgyro.getAcceleration(&ax, &ay, &az);
+    //accelgyro.getRotation(&gx, &gy, &gz);
+
+    #ifdef OUTPUT_READABLE_ACCELGYRO
+        // display tab-separated accel/gyro x/y/z values
+        arduinoSerial.print("a/g:\t");
+        arduinoSerial.print(ax); arduinoSerial.print("\t");
+        arduinoSerial.print(ay); arduinoSerial.print("\t");
+        arduinoSerial.print(az); arduinoSerial.print("\t");
+        arduinoSerial.print(gx); arduinoSerial.print("\t");
+        arduinoSerial.print(gy); arduinoSerial.print("\t");
+        arduinoSerial.println(gz);
+    #endif
+
+    #ifdef OUTPUT_BINARY_ACCELGYRO
+        arduinoSerial.write((uint8_t)(ax >> 8)); arduinoSerial.write((uint8_t)(ax & 0xFF));
+        arduinoSerial.write((uint8_t)(ay >> 8)); arduinoSerial.write((uint8_t)(ay & 0xFF));
+        arduinoSerial.write((uint8_t)(az >> 8)); arduinoSerial.write((uint8_t)(az & 0xFF));
+        arduinoSerial.write((uint8_t)(gx >> 8)); arduinoSerial.write((uint8_t)(gx & 0xFF));
+        arduinoSerial.write((uint8_t)(gy >> 8)); arduinoSerial.write((uint8_t)(gy & 0xFF));
+        arduinoSerial.write((uint8_t)(gz >> 8)); arduinoSerial.write((uint8_t)(gz & 0xFF));
+    #endif
+
+    // blink LED to indicate activity
+    if( led1 == 0 ) led1 = 0;
+    else led1 = 1;
+}
+
+};
\ No newline at end of file