Problem getting information from MPU6050, Arduino pro mini

Hi, I am building a quadcopter and I'm trying to use the module MPU6050 with my Arduino pro mini 5v.

The code I am using :

/*    MPU6050 Triple Axis Gyroscope & Accelerometer. Simple Accelerometer Example.    Read more:    GIT:    Web:    (c) 2014 by Korneliusz Jarzebski*/
#include <Wire.h>#include <MPU6050.h>
MPU6050 mpu;
void setup() {  Serial.begin(115200);
  Serial.println("Initialize MPU6050");
  while(!mpu.begin(MPU6050_SCALE_2000DPS, MPU6050_RANGE_2G))  {    Serial.println("Could not find a valid MPU6050 sensor, check wiring!");    delay(500);  }
  // If you want, you can set accelerometer offsets  // mpu.setAccelOffsetX();  // mpu.setAccelOffsetY();  // mpu.setAccelOffsetZ();    checkSettings();}
void checkSettings(){  Serial.println();    Serial.print(" * Sleep Mode:            ");  Serial.println(mpu.getSleepEnabled() ? "Enabled" : "Disabled");    Serial.print(" * Clock Source:          ");  switch(mpu.getClockSource())  {    case MPU6050_CLOCK_KEEP_RESET:     Serial.println("Stops the clock and keeps the timing generator in reset"); break;    case MPU6050_CLOCK_EXTERNAL_19MHZ: Serial.println("PLL with external 19.2MHz reference"); break;    case MPU6050_CLOCK_EXTERNAL_32KHZ: Serial.println("PLL with external 32.768kHz reference"); break;    case MPU6050_CLOCK_PLL_ZGYRO:      Serial.println("PLL with Z axis gyroscope reference"); break;    case MPU6050_CLOCK_PLL_YGYRO:      Serial.println("PLL with Y axis gyroscope reference"); break;    case MPU6050_CLOCK_PLL_XGYRO:      Serial.println("PLL with X axis gyroscope reference"); break;    case MPU6050_CLOCK_INTERNAL_8MHZ:  Serial.println("Internal 8MHz oscillator"); break;  }    Serial.print(" * Accelerometer:         ");  switch(mpu.getRange())  {    case MPU6050_RANGE_16G:            Serial.println("+/- 16 g"); break;    case MPU6050_RANGE_8G:             Serial.println("+/- 8 g"); break;    case MPU6050_RANGE_4G:             Serial.println("+/- 4 g"); break;    case MPU6050_RANGE_2G:             Serial.println("+/- 2 g"); break;  }  
  Serial.print(" * Accelerometer offsets: ");  Serial.print(mpu.getAccelOffsetX());  Serial.print(" / ");  Serial.print(mpu.getAccelOffsetY());  Serial.print(" / ");  Serial.println(mpu.getAccelOffsetZ());    Serial.println();}
void loop(){  Vector rawAccel = mpu.readRawAccel();  Vector normAccel = mpu.readNormalizeAccel();
  Serial.print(" Xraw = ");  Serial.print(rawAccel.XAxis);  Serial.print(" Yraw = ");  Serial.print(rawAccel.YAxis);  Serial.print(" Zraw = ");
  Serial.println(rawAccel.ZAxis);  Serial.print(" Xnorm = ");  Serial.print(normAccel.XAxis);  Serial.print(" Ynorm = ");  Serial.print(normAccel.YAxis);  Serial.print(" Znorm = ");  Serial.println(normAccel.ZAxis);    delay(10);}

But what I get in the serial monitor is this:

⸮⸮⸮0⸮0!t⸮⸮h⸮⸮⸮t⸮ll⸮ ⸮⸮⸮⸮e⸮}}$$⸮d_⸮d⸮__$ ⸮⸮}}$$⸮}}$d⸮l`⸮
I have tried different codes but I just can't get it to work, the MPU6050 is connected to the Arduino board through A4 and A5 or otherwise known as SDL and SDA.
Any help is much-appreciated thanks!

Set the Serial monitor to the correct Baud rate.

Thanks! did not know you could change that :slight_smile:

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.