Texas Instruments 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)
GND -> ピン 12 (GND)
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()メソッドが正しく機能していませんか? 私はこの言語でのプログラミングに関しては比較的初心者ですが、申請中の奨学金のためにロボットを作成するという野心的な仕事に取り組んでいるので、この分野での支援に感謝します.