|
|
大家好,初次发帖,不妥之处请见谅。
最近在做自己的平衡车,在论坛里面看了不少关于6050的帖子,学到了很多。
但坛子里面大多数使用uno来配合6050,我是用mega,它提供了专门的scl与sda接口,所以我就试着直接把它们与6050连接起来,结果连接时成功了,但不知道为什么只能上传有限组的数据。
如图:
请问这可能是什么原因造成的?谢谢!
代码如下(直接使用了某个帖子中的代码):
- // Arduino Wire library is required if I2Cdev I2CDEV_ARDUINO_WIRE implementation
- // is used in I2Cdev.h
- #include "Wire.h"
-
- // I2Cdev and MPU6050 must be installed as libraries, or else the .cpp/.h files
- // for both classes must be in the include path of your project
- #include "I2Cdev.h"
- #include "MPU6050.h"
-
- // class default I2C address is 0x68
- // specific I2C addresses may be passed as a parameter here
- // AD0 low = 0x68 (default for InvenSense evaluation board)
- // AD0 high = 0x69
- MPU6050 accelgyro;
-
- int16_t ax, ay, az;
- int16_t gx, gy, gz;
-
- #define LED_PIN 13
- bool blinkState = false;
-
- void setup() {
- // join I2C bus (I2Cdev library doesn't do this automatically)
- Wire.begin();
-
- // initialize serial communication
- // (38400 chosen because it works as well at 8MHz as it does at 16MHz, but
- // it's really up to you depending on your project)
- Serial.begin(230400);
-
- // initialize device
- Serial.println("Initializing I2C devices...");
- accelgyro.initialize();
-
- // verify connection
- Serial.println("Testing device connections...");
- Serial.println(accelgyro.testConnection() ? "MPU6050 connection successful" : "MPU6050 connection failed");
-
- // configure Arduino LED for
- pinMode(LED_PIN, OUTPUT);
- }
-
- void loop() {
- // read raw accel/gyro measurements from device
- accelgyro.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);
-
- // these methods (and a few others) are also available
- //accelgyro.getAcceleration(&ax, &ay, &az);
- //accelgyro.getRotation(&gx, &gy, &gz);
-
- // display tab-separated accel/gyro x/y/z values
- 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);
-
- // blink LED to indicate activity
- blinkState = !blinkState;
- digitalWrite(LED_PIN, blinkState);
- }
复制代码
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|