无论怎样动,az、gz读数好像都没有变化
代码如下
#include "Wire.h"
#include "I2Cdev.h"
#include "MPU6050.h"
MPU6050 accelgyro;
int16_t ax, ay, az;
int16_t gx, gy, gz;
float Ax,Ay,Az;
float Gx,Gy,Gz;
#define LED_PIN 13
bool blinkState = false;
void setup() {
Wire.begin();
Serial.begin(38400);
Serial.println("Initializing I2C devices...");
accelgyro.initialize();
Serial.println("Testing device connections...");
Serial.println(accelgyro.testConnection() ? "MPU6050 connection successful" : "MPU6050 connection failed");
pinMode(LED_PIN, OUTPUT);
}
void loop() {
accelgyro.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);
Ax=float(ax)/131.00;
Ay=float(ay)/131.00;
Az=float(az)/131.00;
Gx=float(gx)/16384.00;
Gy=float(gy)/16384.00;
Gz=float(gz)/16384.00;
Serial.print("a/g:\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);
blinkState = !blinkState;
digitalWrite(LED_PIN, blinkState);
}
|