Orodha ya maudhui:

Jinsi ya Kupima Angle na MPU-6050 (GY-521): 3 Hatua
Jinsi ya Kupima Angle na MPU-6050 (GY-521): 3 Hatua

Video: Jinsi ya Kupima Angle na MPU-6050 (GY-521): 3 Hatua

Video: Jinsi ya Kupima Angle na MPU-6050 (GY-521): 3 Hatua
Video: Lesson 18: Using Tile Angle Sensor SCA60C | Arduino Step By Step Course 2024, Novemba
Anonim
Jinsi ya Kupima Angle na MPU-6050 (GY-521)
Jinsi ya Kupima Angle na MPU-6050 (GY-521)

Katika Agizo hili, tutapima pembe na Arduino. Tunahitaji nyaya kadhaa, Arduino UNO na GY-521 (MPU-6050) ili kupima angle.

Hatua ya 1: Kuunganisha MPU-6050 na Arduino UNO

Kuunganisha MPU-6050 na Arduino UNO
Kuunganisha MPU-6050 na Arduino UNO

Tunahitaji nyaya kadhaa za kiume na za kike, sensa ya Arduino UNO na GY-521 (MPU-6050) kupima angle. Lazima tuunganishe MPU-6050 na Arduino UNO kama inavyoonekana kwenye picha. Kwa hivyo,

  • VCC hadi 5V (MPU-6050 inafanya kazi na 3.3V lakini GY-521 inaiongeza kuwa 5V.),
  • GND kwa GND,
  • SCL hadi A5,
  • SDA hadi A4,
  • ADO kwa GND,
  • INT kwa pini ya dijiti 2.

Hatua ya 2: Kanuni

Kanuni
Kanuni

Hapa kuna nambari. Inatumia I2C. Nilichukua sehemu kadhaa za nambari kutoka kwa mtandao. (Sehemu ya I2C)

// Imeandikwa na Ahmet Burkay KIRNIK // Upimaji wa Angle na MPU-6050 (GY-521)

# pamoja

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

int minVal = 265; int maxVal = 402;

mara mbili x; maradufu y; mara mbili z;

kuanzisha batili () {Wire.begin (); Uwasilishaji wa waya (MPU_addr); Andika waya (0x6B); Andika waya (0); Uwasilishaji wa waya (kweli); Serial. Kuanza (9600); } kitanzi batili () {Wire.beginTransmission (MPU_addr); Andika waya (0x3B); Uwasilishaji wa waya (uwongo); Ombi la Wire. From (MPU_addr, 14, kweli); AcX = Wire.read () << 8 | Wire.read (); AcY = Wire.read () << 8 | Wire.read (); AcZ = Wire.read () << 8 | Wire.read (); int xAng = ramani (AcX, minVal, maxVal, -90, 90); int yAng = ramani (AcY, minVal, maxVal, -90, 90); int zAng = ramani (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 ("---------------------------------------------"); kuchelewesha (400); }

Hatua ya 3: Imekamilika

Imekamilika!
Imekamilika!

Imekwisha! Ikiwa haifanyi kazi au unahitaji msaada, tafadhali acha maoni au tuma barua pepe. Unaweza kupata anwani yangu ya barua pepe kutoka kwa maoni. Kwa kusema, Kiingereza changu sio nzuri sana kwa hivyo naomba radhi kwa Kiingereza changu kibaya.

Ahmet Burkay KIRNIK

Istanbul / UTuruki

Hariri: Baada ya miaka 2, Kiingereza changu kilikuwa bora kwa hivyo nikasahihisha makosa kadhaa.

Ilipendekeza: