Obsah:

Ako zmerať uhol pomocou MPU-6050 (GY-521): 3 kroky
Ako zmerať uhol pomocou MPU-6050 (GY-521): 3 kroky

Video: Ako zmerať uhol pomocou MPU-6050 (GY-521): 3 kroky

Video: Ako zmerať uhol pomocou MPU-6050 (GY-521): 3 kroky
Video: Ako vyrobiť pravý uhol pomocou špagátu 2024, December
Anonim
Ako zmerať uhol pomocou MPU-6050 (GY-521)
Ako zmerať uhol pomocou MPU-6050 (GY-521)

V tomto návode zmeráme uhol pomocou Arduina. Na meranie uhla potrebujeme niekoľko káblov, Arduino UNO a GY-521 (MPU-6050).

Krok 1: Pripojenie MPU-6050 k Arduino UNO

Pripojenie MPU-6050 k Arduino UNO
Pripojenie MPU-6050 k Arduino UNO

Na meranie uhla potrebujeme niekoľko káblov muž-žena, snímač Arduino UNO a GY-521 (MPU-6050). Musíme pripojiť MPU-6050 k Arduino UNO, ako je znázornené na obrázku. Takže,

  • VCC až 5V (MPU-6050 pracuje s napätím 3,3 V, ale GY-521 ho zvyšuje na 5 V.),
  • GND až GND,
  • SCL až A5,
  • SDA až A4,
  • ADO na GND,
  • INT na digitálny pin 2.

Krok 2: Kód

Kód
Kód

Tu je kód. Používa I2C. Prevzal som niektoré časti kódu z internetu. (Časť I2C)

// Napísal Ahmet Burkay KIRNIK // Meranie uhla pomocou MPU-6050 (GY-521)

#zahrnúť

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

int minVal = 265; int maxVal = 402;

dvojité x; dvojité y; dvojité z;

neplatné nastavenie () {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, true); AcX = Wire.read () << 8 | Wire.read (); AcY = Wire.read () << 8 | Wire.read (); AcZ = Wire.read () << 8 | Wire.read (); int xAng = mapa (AcX, minVal, maxVal, -90, 90); int yAng = mapa (AcY, minVal, maxVal, -90, 90); int zAng = mapa (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 ("-----------------------------------------"); oneskorenie (400); }

Krok 3: Hotovo

Hotový!
Hotový!

Hotovo! Ak to nefunguje alebo potrebujete pomoc, zanechajte komentár alebo pošlite e -mail. Moju e -mailovú adresu nájdete v komentároch. Mimochodom, moja angličtina nie je taká dobrá, takže sa ospravedlňujem za svoju zlú angličtinu.

Ahmet Burkay KIRNIK

Istanbul, Turecko

Upraviť: Po 2 rokoch sa moja angličtina zlepšila, takže som opravil niektoré chyby.

Odporúča: