Բովանդակություն:

Ինչպես չափել անկյունը MPU-6050- ով (GY-521) `3 քայլ
Ինչպես չափել անկյունը MPU-6050- ով (GY-521) `3 քայլ

Video: Ինչպես չափել անկյունը MPU-6050- ով (GY-521) `3 քայլ

Video: Ինչպես չափել անկյունը MPU-6050- ով (GY-521) `3 քայլ
Video: Անկյուններ և նրանց չափումը. 5-րդ դասարան 2024, Նոյեմբեր
Anonim
Ինչպես չափել անկյունը MPU-6050- ով (GY-521)
Ինչպես չափել անկյունը MPU-6050- ով (GY-521)

Այս հրահանգում մենք անկյունը չափելու ենք Arduino- ով: Մեզ անհրաժեշտ են որոշ մալուխներ ՝ Arduino UNO և GY-521 (MPU-6050) ՝ անկյունը չափելու համար:

Քայլ 1. MPU-6050- ի միացում Arduino UNO- ին

MPU-6050- ի միացում Arduino UNO- ին
MPU-6050- ի միացում Arduino UNO- ին

Մեզ անհրաժեշտ են տղամարդ-էգ մալուխներ, Arduino UNO և 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 մաս)

// Գրեց Ահմեթ Բուրքայ ԿԻՐՆԻԿ // Անկյունի չափում 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;

void setup () {Wire.begin (); Wire.beginTransmission (MPU_addr); Wire.write (0x6B); Wire.write (0); Wire.endTransmission (ճշմարիտ); Serial.begin (9600); } void loop () {Wire.beginTransmission (MPU_addr); Wire.write (0x3B); Wire.endTransmission (կեղծ); Մետաղալար. Խնդրում ենք (MPU_addr, 14, ճշմարիտ); AcX = Wire.read () << 8 | Wire.read (); AcY = Wire.read () << 8 | Wire.read (); AcZ = Wire.read () << 8 | Wire.read (); int xAng = քարտեզ (AcX, minVal, maxVal, -90, 90); int yAng = քարտեզ (AcY, minVal, maxVal, -90, 90); int zAng = քարտեզ (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: Կատարված է:

Կատարած!
Կատարած!

Արված է! Եթե այն չի աշխատում կամ օգնության կարիք ունեք, խնդրում ենք թողնել մեկնաբանություն կամ էլ. Իմ էլ. Փոստի հասցեն կարող եք գտնել մեկնաբանություններից: Ի դեպ, իմ անգլերենն այնքան էլ լավը չէ, այնպես որ ես ներողություն եմ խնդրում իմ վատ անգլերենի համար:

Ահմեդ Բուրքայ ԿԻՐՆԻԿ

Ստամբուլ/ԹՈKՐՔԻԱ

Խմբագրում. 2 տարի անց իմ անգլերենն ավելի լավացավ, այնպես որ ես ուղղեցի որոշ սխալներ:

Խորհուրդ ենք տալիս: