Kazalo:

Kako izmeriti kot z MPU-6050 (GY-521): 3 koraki
Kako izmeriti kot z MPU-6050 (GY-521): 3 koraki

Video: Kako izmeriti kot z MPU-6050 (GY-521): 3 koraki

Video: Kako izmeriti kot z MPU-6050 (GY-521): 3 koraki
Video: Как измерить температуру кошке или коту градусником в домашних условиях. Совет ветеринара 2024, November
Anonim
Kako izmeriti kot z MPU-6050 (GY-521)
Kako izmeriti kot z MPU-6050 (GY-521)

V tem navodilu bomo kot izmerili z Arduinom. Za merjenje kota potrebujemo nekaj kablov, Arduino UNO in GY-521 (MPU-6050).

1. korak: Priključitev MPU-6050 na Arduino UNO

Priključitev MPU-6050 na Arduino UNO
Priključitev MPU-6050 na Arduino UNO

Za merjenje kota potrebujemo nekaj moško-ženskih kablov, senzor Arduino UNO in GY-521 (MPU-6050). MPU-6050 moramo povezati z Arduino UNO, kot je prikazano na sliki. Torej,

  • VCC do 5V (MPU-6050 deluje z 3.3V, vendar ga GY-521 poveča na 5V.),
  • GND v GND,
  • SCL do A5,
  • SDA do A4,
  • ADO v GND,
  • INT na digitalni pin 2.

2. korak: Koda

Koda
Koda

Tukaj je koda. Uporablja I2C. Nekaj delov kode sem vzel iz interneta. (Del I2C)

// Zapisal Ahmet Burkay KIRNIK // Merjenje kota z MPU-6050 (GY-521)

#vključi

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

int minVal = 265; int maxVal = 402;

dvojni x; dvojni y; dvojni z;

void setup () {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, res); AcX = Wire.read () << 8 | Wire.read (); AcY = Wire.read () << 8 | Wire.read (); AcZ = Wire.read () << 8 | Wire.read (); int xAng = zemljevid (AcX, minVal, maxVal, -90, 90); int yAng = zemljevid (AcY, minVal, maxVal, -90, 90); int zAng = zemljevid (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 ("----------------------------------------"); zamuda (400); }

3. korak: Končano

Končano!
Končano!

Opravljeno je! Če ne deluje ali potrebujete pomoč, pustite komentar ali pošljite e -pošto. Moj e -poštni naslov najdete v komentarjih. Mimogrede, moja angleščina ni tako dobra, zato se opravičujem za slabo angleščino.

Ahmet Burkay KIRNIK

Istanbul/TURČIJA

Edit: Po dveh letih se mi je angleščina izboljšala, zato sem popravil nekaj napak.

Priporočena: