Sisällysluettelo:

Kulman mittaaminen MPU-6050: llä (GY-521): 3 vaihetta
Kulman mittaaminen MPU-6050: llä (GY-521): 3 vaihetta

Video: Kulman mittaaminen MPU-6050: llä (GY-521): 3 vaihetta

Video: Kulman mittaaminen MPU-6050: llä (GY-521): 3 vaihetta
Video: How to use MPU-6050 Accelerometer and Gyroscope with Arduino code 2024, Marraskuu
Anonim
Kulman mittaaminen MPU-6050: llä (GY-521)
Kulman mittaaminen MPU-6050: llä (GY-521)

Tässä ohjeessa mitataan kulma Arduinolla. Tarvitsemme joitain kaapeleita, Arduino UNO ja GY-521 (MPU-6050) kulman mittaamiseen.

Vaihe 1: MPU-6050: n liittäminen Arduino UNO: hon

MPU-6050: n liittäminen Arduino UNO: hon
MPU-6050: n liittäminen Arduino UNO: hon

Tarvitsemme uros-naaraskaapeleita, Arduino UNO- ja GY-521 (MPU-6050) -anturin kulman mittaamiseen. Meidän on liitettävä MPU-6050 Arduino UNO -laitteeseen kuten kuvassa. Niin,

  • VCC 5V (MPU-6050 toimii 3,3V, mutta GY-521 lisää sen 5V: ksi),
  • GND - GND,
  • SCL - A5,
  • SDA - A4,
  • ADO GND: lle,
  • INT digitaaliseen nastaan 2.

Vaihe 2: Koodi

Koodi
Koodi

Tässä on koodi. Se käyttää I2C: tä. Otin osan koodista Internetistä. (I2C -osa)

// Kirjoittanut Ahmet Burkay KIRNIK // Kulman mittaus MPU-6050: llä (GY-521)

#sisältää

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

int minVal = 265; int maxVal = 402;

kaksinkertainen x; kaksinkertainen y; kaksinkertainen z;

void setup () {Wire.begin (); Wire.beginTransmission (MPU_addr); Wire.write (0x6B); Wire.write (0); Wire.endTransmission (tosi); Sarja.alku (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 = kartta (AcX, minVal, maxVal, -90, 90); int yAng = kartta (AcY, minVal, maxVal, -90, 90); int zAng = kartta (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 ="); Sarja.println (x);

Serial.print ("AngleY ="); Sarja.println (y);

Serial.print ("AngleZ ="); Sarja.println (z); Serial.println ("-----------------------------------------"); viive (400); }

Vaihe 3: Valmis

Tehty!
Tehty!

Se on tehty! Jos se ei toimi tai tarvitset apua, jätä kommentti tai lähetä sähköposti. Löydät sähköpostiosoitteeni kommenteista. Muuten, englannini ei ole niin hyvä, joten pyydän anteeksi huonoa englantiani.

Ahmet Burkay KIRNIK

Istanbul, Turkki

Edit: Kahden vuoden jälkeen englannini parani, joten korjasin joitain virheitä.

Suositeltava: