Cum se măsoară unghiul cu MPU-6050 (GY-521): 3 pași
Cum se măsoară unghiul cu MPU-6050 (GY-521): 3 pași
Anonim
Cum se măsoară unghiul cu MPU-6050 (GY-521)
Cum se măsoară unghiul cu MPU-6050 (GY-521)

În acest Instructable, vom măsura unghiul cu un Arduino. Avem nevoie de niște cabluri, un Arduino UNO și GY-521 (MPU-6050) pentru a măsura unghiul.

Pasul 1: Conectarea MPU-6050 la Arduino UNO

Conectarea MPU-6050 la Arduino UNO
Conectarea MPU-6050 la Arduino UNO

Avem nevoie de niște cabluri masculin-feminin, un senzor Arduino UNO și GY-521 (MPU-6050) pentru a măsura unghiul. Trebuie să conectăm MPU-6050 la Arduino UNO așa cum se arată în imagine. Asa de,

  • VCC la 5V (MPU-6050 funcționează cu 3,3V, dar GY-521 îl mărește la 5V.),
  • GND la GND,
  • SCL la A5,
  • SDA la A4,
  • ADO la GND,
  • INT la pinul digital 2.

Pasul 2: Cod

Cod
Cod

Iată codul. Folosește I2C. Am luat câteva părți de cod de pe internet (partea I2C)

// Scris de Ahmet Burkay KIRNIK // Măsurarea unghiului cu MPU-6050 (GY-521)

#include

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

int minVal = 265; int maxVal = 402;

x dublu; y dublu; dublu z;

void setup () {Wire.begin (); Wire.beginTransmission (MPU_addr); Wire.write (0x6B); Wire.write (0); Wire.endTransmission (adevărat); Serial.begin (9600); } void loop () {Wire.beginTransmission (MPU_addr); Wire.write (0x3B); Wire.endTransmission (fals); Wire.requestFrom (MPU_addr, 14, adevărat); AcX = Wire.read () << 8 | Wire.read (); AcY = Wire.read () << 8 | Wire.read (); AcZ = Wire.read () << 8 | Wire.read (); int xAng = hartă (AcX, minVal, maxVal, -90, 90); int yAng = hartă (AcY, minVal, maxVal, -90, 90); int zAng = hartă (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 ("-----------------------------------------"); întârziere (400); }

Pasul 3: Gata

Terminat!
Terminat!

Este gata! Dacă nu funcționează sau aveți nevoie de ajutor, vă rugăm să lăsați un comentariu sau să trimiteți un e-mail. Puteți găsi adresa mea de e-mail din comentarii. Apropo, engleza mea nu este atât de bună, așa că îmi cer scuze pentru engleza mea proastă.

Ahmet Burkay KIRNIK

Istanbul, Turcia

Edit: După 2 ani, engleza mea s-a îmbunătățit, așa că am corectat câteva greșeli.

Recomandat: