arduinoarduino-unogyroscopempu6050

Could not find a valid MPU6050 sensor


I am using the below code with arduino-uno, but often getting "Could not find a valid MPU6050 sensor

#include <Wire.h>
#include <MPU6050.h>

MPU6050 mpu;

void setup() {
  Serial.begin(115200);

  Serial.println("Initialize MPU6050");

  while (!mpu.begin()) {
    Serial.println("Could not find a valid MPU6050 sensor, check wiring!");
    delay(500);
  }
}

void loop() {
 
}

My Arduino is working fine,
So, I checked MPU6050 using below code,

#include <Wire.h>
 
void setup()
{
  Wire.begin();
 
  Serial.begin(115200);
  while (!Serial);             // Leonardo: wait for serial monitor
  Serial.println("\nI2C Scanner");
} 
 
void loop()
{
  byte error, address;
  int nDevices;
 
  Serial.println("Scanning...");
 
  nDevices = 0;
  for(address = 1; address < 127; address++ )
  {
    // The i2c_scanner uses the return value of
    // the Write.endTransmisstion to see if
    // a device did acknowledge to the address.
    Wire.beginTransmission(address);
    error = Wire.endTransmission();
 
    if (error == 0)
    {
      Serial.print("I2C device found at address 0x");
      if (address<16)
        Serial.print("0");
      Serial.print(address,HEX);
      Serial.println("  !");
 
      nDevices++;
    }
    else if (error==4)
    {
      Serial.print("Unknown error at address 0x");
      if (address<16)
        Serial.print("0");
      Serial.println(address,HEX);
    }    
  }
  if (nDevices == 0)
    Serial.println("No I2C devices found\n");
  else
    Serial.println("done\n");
 
  delay(5000);           // wait 5 seconds for next scan
}

Got Output as expected
Scanning...
I2C device found at address 0x68 !
done

From the above output I hope GPU6050 is working

How can I get values from GPU6050?


Solution

  • Your code is working as expected, it tells you in setup() when it can't connect to the device, until it can. So when it stops printing the message, it is connected.

    Now in loop() you should write your code to negotiate with the device.

    Here's an excellent place to start with.