2017-02-27 27 views
0

我試圖使用Texas Instruments TM4C123G LaunchPad作爲機器人項目的一部分與MPU-6050接口。我上傳從能源公司代碼到這一點,並正在使用串行監控看到原始數據輸出,但是我只接收以下輸出時,我將其上傳到微控制器和運行它:使用Texas Instruments TM4C123G LaunchPad與SparkFun mpu-6050進行連接LaunchPad

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(); 
} 

在接口板的引腳連接到啓動板如下:

VDD - >腳1(3.3V)

GND - >引腳12(GND)

INT - >針34(PF0)

FSYNC - >無

SCL - >針13(PD0)

SDA - >引腳14(PD1)

VIO - >無

CLK - >無

ASCL - >無

ASDA - >無

我從GitHub得到了MPU6050和I2Cdev庫,並從得到了電線庫github.com/codebendercc/arduino-library- files/blob/master/libraries/Wire/Wire.h但是我認爲wire.begin()accelgyro.initialize()方法運行不正常?當談到用這種語言進行編程時,我是一個相對的初學者,但我正在爲創建一個我正在申請的獎學金創建一個機器人進行一項雄心勃勃的任務,因此會對此主題領域提供一些幫助。

回答

0

我剛剛遇到了和你一樣的問題。這裏是一個有用的鏈接: enter link description here 我提到它和之前 Wire.begin() --just這樣 enter image description here 然後我把它上傳並運行,它完美的作品添加一些代碼。另外需要注意的是,如果不使用DMP,則無法連接INT引腳,但在使用DMP時,則必須連接INT引腳。

我試着解釋它。 我們爲什麼要添加兩行代碼?該庫來自Arduino,儘管Energia在大多數情況下與Arduino編程兼容,但並不總是如此。所以我們應該明確地讚揚一些東西。

爲什麼要注意中斷。因爲當我們使用DMP時,如果我們不連接INT引腳,它將不能正常工作。

相關問題