Tartalomjegyzék:

A szög mérése az MPU-6050 (GY-521) segítségével: 3 lépés
A szög mérése az MPU-6050 (GY-521) segítségével: 3 lépés

Videó: A szög mérése az MPU-6050 (GY-521) segítségével: 3 lépés

Videó: A szög mérése az MPU-6050 (GY-521) segítségével: 3 lépés
Videó: Как использовать акселерометр и гироскоп MPU-6050 с кодом Arduino 2024, November
Anonim
Szögmérés az MPU-6050 (GY-521) segítségével
Szögmérés az MPU-6050 (GY-521) segítségével

Ebben az utasításban Arduino -val mérjük a szöget. Szükségünk van néhány kábelre, egy Arduino UNO-ra és GY-521-re (MPU-6050) a szög méréséhez.

1. lépés: Az MPU-6050 csatlakoztatása az Arduino UNO-hoz

Az MPU-6050 csatlakoztatása az Arduino UNO-hoz
Az MPU-6050 csatlakoztatása az Arduino UNO-hoz

Szükségünk van néhány férfi-női kábelre, egy Arduino UNO és GY-521 (MPU-6050) érzékelőre a szög méréséhez. Az MPU-6050-et az Arduino UNO-hoz kell csatlakoztatnunk, mint a képen. Így,

  • VCC 5V-ra (az MPU-6050 3.3V-al működik, de a GY-521 5V-ra növeli),
  • GND -GND,
  • SCL - A5,
  • SDA - A4,
  • ADO a GND -hez,
  • INT - 2 -es digitális tű.

2. lépés: Kód

Kód
Kód

Itt a kód. I2C -t használ. A kód egyes részeit az internetről vettem. (I2C rész)

// Írta: Ahmet Burkay KIRNIK // Szögmérés MPU-6050-el (GY-521)

#befoglalni

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

int minVal = 265; int maxVal = 402;

dupla x; dupla y; kettős z;

void setup () {Wire.begin (); Wire.beginTransmission (MPU_addr); Wire.write (0x6B); Vezeték.írás (0); Wire.endTransmission (igaz); Sorozat.kezdet (9600); } void loop () {Wire.beginTransmission (MPU_addr); Wire.write (0x3B); Wire.endTransmission (false); Wire.requestFrom (MPU_addr, 14, true); AcX = Huzal.olvasás () << 8 | Vezeték.olvasás (); AcY = huzal.olvasás () << 8 | huzal.olvasás (); AcZ = Drót.olvasás () << 8 | Drót.olvasás (); int xAng = térkép (AcX, minVal, maxVal, -90, 90); int yAng = térkép (AcY, minVal, maxVal, -90, 90); int zAng = térkép (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 ="); Soros.println (x);

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

Serial.print ("AngleZ ="); Soros.println (z); Serial.println ("-----------------------------------------"); késleltetés (400); }

3. lépés: Kész

Kész!
Kész!

Kész! Ha nem működik, vagy segítségre van szüksége, kérjük, írjon megjegyzést vagy küldjön e -mailt. Megtalálod az e -mail címemet a hozzászólásokból. Egyébként az angolom nem olyan jó, ezért elnézést kérek a rossz angolomért.

Ahmet Burkay KIRNIK

Isztanbul, Törökország

Szerkesztés: 2 év után az angolom jobb lett, így kijavítottam néhány hibát.

Ajánlott: