作为使用德州仪器 TM4C123G LaunchPad 的机器人项目的一部分,我正在尝试与MPU-6050进行交互。我正在从 Energia 上传代码并使用串行监视器查看原始数据输出,但是当我将其上传到微控制器并运行它时,我只收到以下输出:
Initialising I2C devices...
这是我要运行的代码:
#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();
}
分线板上的引脚连接到 Launchpad,如下所示:
VDD -> 引脚 1 (3.3v)
接地 -> 引脚 12 (接地)
INT -> 引脚 34 (PF0)
FSYNC -> 无
SCL -> 引脚 13 (PD0)
SDA - > 引脚 14 (PD1)
VIO -> 无
时钟 -> 无
ASCL -> 无
ASDA -> 无
我从GitHub获得了 MPU6050 和 I2Cdev 库,并从github.com/codebendercc/arduino-library-files/blob/master/libraries/Wire/Wire.h获得了 Wire 库,但我认为无论是wire.begin( )或accelgyro.initialize()方法运行不正常?在使用这种语言进行编程时,我是一个相对初学者,但我正在承担一项雄心勃勃的任务,即为我申请的奖学金创建一个机器人,因此希望能在这个主题领域提供一些帮助。