כיצד למדוד זווית עם MPU-6050 (GY-521): 3 שלבים
כיצד למדוד זווית עם MPU-6050 (GY-521): 3 שלבים
Anonim
כיצד למדוד זווית עם MPU-6050 (GY-521)
כיצד למדוד זווית עם MPU-6050 (GY-521)

במדריך זה נמדוד זווית עם ארדואינו. אנחנו צריכים כמה כבלים, UNO Arduino ו- GY-521 (MPU-6050) על מנת למדוד את הזווית.

שלב 1: חיבור MPU-6050 ל- Arduino UNO

חיבור MPU-6050 ל- Arduino UNO
חיבור MPU-6050 ל- Arduino UNO

אנו זקוקים לכבלים זכר-נקבה, חיישן UNO ו- Arduino וחיישן GY-521 (MPU-6050) למדידת זווית. עלינו לחבר את MPU-6050 ל- Arduino UNO כמו שמוצג בתמונה. לכן,

  • VCC ל- 5V (MPU-6050 עובד עם 3.3V אך GY-521 מגדיל אותו ל -5V),
  • GND ל- GND,
  • SCL עד A5,
  • SDA עד A4,
  • ADO ל- GND,
  • INT לפין דיגיטלי 2.

שלב 2: קוד

קוד
קוד

הנה הקוד. הוא משתמש ב- I2C. לקחתי כמה חלקי קוד מהאינטרנט. (חלק I2C)

// נכתב על ידי אחמט בורקי KIRNIK // מדידת זווית עם MPU-6050 (GY-521)

#לִכלוֹל

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

int minVal = 265; int maxVal = 402;

x כפול; y כפול; z כפול;

הגדרת חלל () {Wire.begin (); שידור Wire.beginTransmission (MPU_addr); Wire.write (0x6B); Wire.write (0); Wire.endTransmission (true); Serial.begin (9600); } לולאת חלל () {Wire.beginTransmission (MPU_addr); Wire.write (0x3B); Wire.endTransmission (שקר); 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 ("-----------------------------------------"); עיכוב (400); }

שלב 3: בוצע

בוצע!
בוצע!

זה נעשה! אם זה לא עובד או שאתה צריך עזרה, אנא השאר הערה או שלח מייל. אתה יכול למצוא את כתובת הדוא ל שלי מהתגובות. אגב, האנגלית שלי לא כל כך טובה אז אני מתנצל על האנגלית הגרועה שלי.

אחמט בורקי קירניק

איסטנבול, טורקיה

עריכה: לאחר שנתיים האנגלית שלי השתפרה ולכן תיקנתי כמה טעויות.

מוּמלָץ: