0

I am trying to interface with the MPU-6050 as part of a robotics project using the Texas Instruments TM4C123G LaunchPad. I am uploading code onto this from Energia and am using the serial monitor to see the raw data output, however I am only receiving the following output when I upload it to the micro controller and run it:

Initialising I2C devices...

Here is the code that I am trying to run:

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

MPU6050 accelgyro;

void Setup_MPU6050()
{
  Wire.begin();
  Serial.println("Initialising I2C devices...");
  accelgyro.initialize();
  Serial.println("Testing device connections...");
  Serial.println(accelgyro.testConnection() ? "MPU6050 connection successful" : "MPU6050 connection failed");
}

void Update_MPU6050()
{
  int16_t ax, ay, az;
  int16_t gx, gy, gz;
  accelgyro.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);
  Serial.print("i");Serial.print("\t");
  Serial.print(ax);Serial.print("\t");
  Serial.print(ay);Serial.print("\t");
  Serial.print(az);Serial.print("\t");
  Serial.print(gx);Serial.print("\t");
  Serial.print(gy);Serial.print("\t");
  Serial.println(gz);
  Serial.print("\n");
}

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

void loop()
{
  Update_MPU6050();
}

The pins on the breakout board are connected to the Launchpad as follows:

VDD -> Pin 1 (3.3v)

GND -> Pin 12 (GND)

INT -> Pin 34 (PF0)

FSYNC -> None

SCL -> Pin 13 (PD0)

SDA - > Pin 14 (PD1)

VIO -> None

CLK -> None

ASCL -> None

ASDA -> None

I have got the MPU6050 and I2Cdev libraries from GitHub and have got the Wire library from github.com/codebendercc/arduino-library-files/blob/master/libraries/Wire/Wire.h but am thinking that either the wire.begin() or accelgyro.initialize() methods are not functioning properly? I am a relative beginner when it comes to programming in this language but I am undertaking an ambitious task to create a robot for a scholarship that I am applying for, and would therefore appreciate some assistance on this subject area.

1 Answers1

0

I just met the same question as you. Here is a useful linkage: enter link description here I referred it and added some code before Wire.begin() --just like this enter image description here then I upload it and run, it works perfectly. And there is another thing to be minded that you can't connect INT pin when you don't use DMP but when you use DMP then you must connect INT pin.

I try to explain it. Why should we add the two lines codes? The Library is from Arduino, although Energia is compatible with Arduino programming in most cases but not always. So we should explictly acclaim something.

And why should we pay attention the interruption. Because when we use DMP we use it, if we don't connect the INT pin, it willn't work normally.

Maroon
  • 1