Can you help me with the other code I sent?
The CORRECT tilt angle formulas are given in the DFROBOT web site I linked earlier.
Try the following. I don't have an MPU-6050 to test.
For best accuracy, calibrate the accelerometer according to this tutorial: Tutorial: How to calibrate a compass (and accelerometer) with Arduino | Underwater Arduino Data Loggers.
// minimal MPU-6050 tilt and roll
#include<Wire.h>
const int MPU_addr1 = 0x68;
float xa, ya, za, roll, pitch;
void setup() {
Wire.begin(); //begin the wire communication
Wire.beginTransmission(MPU_addr1); //begin, send the slave adress (in this case 68)
Wire.write(0x6B); //make the reset (place a 0 into the 6B register)
Wire.write(0);
Wire.endTransmission(true); //end the transmission
Serial.begin(9600);
}
void loop() {
Wire.beginTransmission(MPU_addr1);
Wire.write(0x3B);
Wire.endTransmission(false);
Wire.requestFrom(MPU_addr1, 6, true); //get six bytes accelerometer data
xa = Wire.read() << 8 | Wire.read();
ya = Wire.read() << 8 | Wire.read();
za = Wire.read() << 8 | Wire.read();
roll = atan2(ya , za) * 180.0 / PI;
pitch = atan2(-xa , sqrt(ya * ya + za * za)) * 180.0 / PI;
Serial.print("roll = ");
Serial.print(roll);
Serial.print(", pitch = ");
Serial.println(pitch);
delay(200);
}