Paso 2: código
Aquí está el código. Utiliza I2C. Tomé algunas partes del código desde internet. (Parte de I2C)
Escrito por Ahmet Burkay KIRNIK
Ángulo de //Measure de TR_CapaFenLisesi con un MPU-6050(GY-521)
#include
const int MPU_addr = 0x68; AcX int16_t AcY, AcZ, Tmp, GyX, Spa, srsly;
minVal int = 265; int maxVal = 402;
x doble; y doble; z doble;
void setup() {Wire.begin(); Wire.beginTransmission(MPU_addr); Wire.Write(0x6B); Wire.Write(0); Wire.endTransmission(true); Serial.Begin(9600); } void loop() {Wire.beginTransmission(MPU_addr); Wire.Write(0x3b); Wire.endTransmission(false); Wire.requestFrom(MPU_addr,14,true); AcX=Wire.read() << 8|Wire.read(); AcY=Wire.read() << 8|Wire.read(); AcZ=Wire.read() << 8|Wire.read(); xAng int = map(AcX,minVal,maxVal,-90,90); yAng de int = map(AcY,minVal,maxVal,-90,90); zAng int = map(AcZ,minVal,maxVal,-90,90);
x = RAD_TO_DEG * (atan2 (-yAng, - zAng) + PI); y = RAD_TO_DEG * (atan2 (-xAng, - zAng) + PI); z = RAD_TO_DEG * (atan2 (-yAng, - xAng) + PI);
Serial.Print ("AngleX ="); Serial.println(x);
Serial.Print ("AngleY ="); Serial.println(y);
Serial.Print ("AngleZ ="); Serial.println(z); Serial.println("---"); Delay(400); }