Como medir o ângulo com MPU-6050 (GY-521): 3 etapas
Como medir o ângulo com MPU-6050 (GY-521): 3 etapas
Anonim
Como medir o ângulo com MPU-6050 (GY-521)
Como medir o ângulo com MPU-6050 (GY-521)

Neste Instructable, mediremos o ângulo com um Arduino. Precisamos de alguns cabos, um Arduino UNO e GY-521 (MPU-6050) para medir o ângulo.

Etapa 1: Conectando MPU-6050 ao Arduino UNO

Conectando MPU-6050 ao Arduino UNO
Conectando MPU-6050 ao Arduino UNO

Precisamos de alguns cabos macho-fêmea, um sensor Arduino UNO e GY-521 (MPU-6050) para medir o ângulo. Temos que conectar o MPU-6050 ao Arduino UNO como mostrado na imagem. Então,

  • VCC para 5V (MPU-6050 funciona com 3,3V, mas GY-521 aumenta para 5V.),
  • GND para GND,
  • SCL para A5,
  • SDA para A4,
  • ADO para GND,
  • INT para pino digital 2.

Etapa 2: Código

Código
Código

Aqui está o código. Ele usa I2C. Peguei algumas partes do código da internet. (Parte I2C)

// Escrito por Ahmet Burkay KIRNIK // Medição do ângulo com 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;

duplo x; double y; duplo z;

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, verdadeiro); AcX = Wire.read () << 8 | Wire.read (); AcY = Wire.read () << 8 | Wire.read (); AcZ = Wire.read () << 8 | Wire.read (); int xAng = map (AcX, minVal, maxVal, -90, 90); int yAng = map (AcY, minVal, maxVal, -90, 90); int zAng = 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 ("-----------------------------------------"); atraso (400); }

Etapa 3: Pronto

Feito!
Feito!

Está feito! Se não funcionar ou se precisar de ajuda, deixe um comentário ou envie um e-mail. Você pode encontrar meu endereço de e-mail nos comentários. A propósito, meu inglês não é tão bom, então peço desculpas por meu inglês ruim.

Ahmet Burkay KIRNIK

Istambul, Turquia

Edit: Depois de 2 anos, meu inglês melhorou, então corrigi alguns erros.

Recomendado: