MPU6050_tockn icon indicating copy to clipboard operation
MPU6050_tockn copied to clipboard

Library not working in last version of SDK

Open xvinny-zz opened this issue 6 years ago • 1 comments

The library is not working on the last version of the SDK (3.2).

The serial output is always:

=======================================================
temp : 36.51
accX : 0.00 accY : 0.00 accZ : 0.00
gyroX : 0.00 gyroY : 0.00 gyroZ : 0.00
accAngleX : 0.00 accAngleY : 0.00
gyroAngleX : 0.00 gyroAngleY : 0.00 gyroAngleZ : 0.00
angleX : 0.00 angleY : 0.00 angleZ : 0.00
=======================================================

I used the following example:

#include <MPU6050_tockn.h>
#include <Wire.h>

MPU6050 mpu6050(Wire);

long timer = 0;

void setup() 
{
    Serial.begin(9600);
    Wire.begin(33,32);
    mpu6050.begin();
    mpu6050.calcGyroOffsets(true);
}

void loop() 
{
    mpu6050.update();

    if(millis() - timer > 1000)
    {
        Serial.println("=======================================================");
        Serial.print("temp : ");Serial.println(mpu6050.getTemp());
        Serial.print("accX : ");Serial.print(mpu6050.getAccX());
        Serial.print("\taccY : ");Serial.print(mpu6050.getAccY());
        Serial.print("\taccZ : ");Serial.println(mpu6050.getAccZ());

        Serial.print("gyroX : ");Serial.print(mpu6050.getGyroX());
        Serial.print("\tgyroY : ");Serial.print(mpu6050.getGyroY());
        Serial.print("\tgyroZ : ");Serial.println(mpu6050.getGyroZ());

        Serial.print("accAngleX : ");Serial.print(mpu6050.getAccAngleX());
        Serial.print("\taccAngleY : ");Serial.println(mpu6050.getAccAngleY());

        Serial.print("gyroAngleX : ");Serial.print(mpu6050.getGyroAngleX());
        Serial.print("\tgyroAngleY : ");Serial.print(mpu6050.getGyroAngleY());
        Serial.print("\tgyroAngleZ : ");Serial.println(mpu6050.getGyroAngleZ());
        
        Serial.print("angleX : ");Serial.print(mpu6050.getAngleX());
        Serial.print("\tangleY : ");Serial.print(mpu6050.getAngleY());
        Serial.print("\tangleZ : ");Serial.println(mpu6050.getAngleZ());
        Serial.println("=======================================================\n");
        timer = millis(); 
    }
}

Only changed the I2C pins to SDA = 33 and SCL = 32. What is going on?

xvinny-zz avatar Aug 23 '18 12:08 xvinny-zz

Had the same issue. In the header file, Documents/Arduino/libraries/MPU6050_tockn/src/MPU6050_tockn.h, the address for the gyro by default is 0x68. Changing this to 0x69 fixed the issue and I finally got real data.

OLD: #define MPU6050_ADDR 0x68

NEW: #define MPU6050_ADDR 0x69

MomoSho avatar Aug 18 '20 00:08 MomoSho