Mục lục:

Cách đo góc với MPU-6050 (GY-521): 3 bước
Cách đo góc với MPU-6050 (GY-521): 3 bước

Video: Cách đo góc với MPU-6050 (GY-521): 3 bước

Video: Cách đo góc với MPU-6050 (GY-521): 3 bước
Video: Module cảm biến gia tốc GY-521 6DOF IMU MPU6050 | How to use GY-521 6DOF IMU MPU6050 2024, Tháng mười một
Anonim
Cách đo góc với MPU-6050 (GY-521)
Cách đo góc với MPU-6050 (GY-521)

Trong phần Có thể hướng dẫn này, chúng tôi sẽ đo góc bằng Arduino. Chúng tôi cần một số cáp, Arduino UNO và GY-521 (MPU-6050) để đo góc.

Bước 1: Kết nối MPU-6050 với Arduino UNO

Kết nối MPU-6050 với Arduino UNO
Kết nối MPU-6050 với Arduino UNO

Chúng tôi cần một số cáp đực-cái, cảm biến Arduino UNO và GY-521 (MPU-6050) để đo góc. Chúng ta phải kết nối MPU-6050 với Arduino UNO như trong hình. Vì thế,

  • VCC thành 5V (MPU-6050 hoạt động với 3.3V nhưng GY-521 tăng nó lên 5V.),
  • GND sang GND,
  • SCL đến A5,
  • SDA đến A4,
  • ADO tới GND,
  • INT đến chân kỹ thuật số 2.

Bước 2: Mã

Mã số
Mã số

Đây là mã. Nó sử dụng I2C. Tôi lấy một số phần mã từ internet. (Phần I2C)

// Được viết bởi Ahmet Burkay KIRNIK // Đo góc với MPU-6050 (GY-521)

#bao gồm

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

int minVal = 265; int maxVal = 402;

gấp đôi x; y gấp đôi; kép 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 (sai); Wire.requestFrom (MPU_addr, 14, true); 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 ("-----------------------------------------"); chậm trễ (400); }

Bước 3: Đã xong

Xong!
Xong!

Xong rôi! Nếu nó không hoạt động hoặc bạn cần trợ giúp, vui lòng để lại bình luận hoặc gửi email. Bạn có thể tìm thấy địa chỉ email của tôi từ các bình luận. Nhân tiện, tiếng Anh của tôi không tốt nên tôi xin lỗi vì tiếng Anh của tôi không tốt.

Ahmet Burkay KIRNIK

Istanbul, Thổ Nhĩ Kỳ

Chỉnh sửa: Sau 2 năm, tiếng Anh của tôi tốt hơn nên tôi đã sửa một số lỗi.

Đề xuất: