Cómo medir el ángulo con MPU-6050 (GY-521): 3 pasos
Cómo medir el ángulo con MPU-6050 (GY-521): 3 pasos
Anonim
Cómo medir el ángulo con MPU-6050 (GY-521)
Cómo medir el ángulo con MPU-6050 (GY-521)

En este Instructable, mediremos el ángulo con un Arduino. Necesitamos algunos cables, un Arduino UNO y GY-521 (MPU-6050) para medir el ángulo.

Paso 1: Conexión de MPU-6050 a Arduino UNO

Conexión de MPU-6050 a Arduino UNO
Conexión de MPU-6050 a Arduino UNO

Necesitamos algunos cables macho-hembra, un sensor Arduino UNO y GY-521 (MPU-6050) para medir el ángulo. Tenemos que conectar MPU-6050 a Arduino UNO como se muestra en la imagen. Entonces,

  • VCC a 5V (MPU-6050 funciona con 3.3V pero GY-521 lo aumenta a 5V.),
  • GND a GND,
  • SCL a A5,
  • SDA a A4,
  • ADO a GND,
  • INT al pin digital 2.

Paso 2: Código

Código
Código

Aquí está el código. Utiliza I2C. Tomé algunas partes del código de Internet (parte I2C)

// Escrito por Ahmet Burkay KIRNIK // Medición de ángulo con MPU-6050 (GY-521)

#incluir

const int MPU_addr = 0x68; int16_t AcX, AcY, AcZ, Tmp, GyX, GyY, GyZ;

int minVal = 265; int maxVal = 402;

doble X; doble y; doble z;

configuración vacía () {Wire.begin (); Wire.beginTransmission (MPU_addr); Wire.write (0x6B); Wire.write (0); Wire.endTransmission (verdadero); Serial.begin (9600); } bucle vacío () {Wire.beginTransmission (MPU_addr); Wire.write (0x3B); Wire.endTransmission (falso); Wire.requestFrom (MPU_addr, 14, verdadero); AcX = Wire.read () << 8 | Wire.read (); AcY = Wire.read () << 8 | Wire.read (); AcZ = Wire.read () << 8 | Wire.read (); int xAng = mapa (AcX, minVal, maxVal, -90, 90); int yAng = mapa (AcY, minVal, maxVal, -90, 90); int zAng = mapa (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 ("-----------------------------------------"); retraso (400); }

Paso 3: ¡Listo

¡Hecho!
¡Hecho!

¡Se hace! Si no funciona o necesita ayuda, deje un comentario o envíe un correo electrónico. Puede encontrar mi dirección de correo electrónico en los comentarios. Por cierto, mi inglés no es tan bueno, así que me disculpo por mi mal inglés.

Ahmet Burkay KIRNIK

Istanbul, Turquía

Editar: Después de 2 años, mi inglés mejoró, así que corrigí algunos errores.

Recomendado: