Spisu treści:

Jak zmierzyć kąt za pomocą MPU-6050 (GY-521): 3 kroki
Jak zmierzyć kąt za pomocą MPU-6050 (GY-521): 3 kroki

Wideo: Jak zmierzyć kąt za pomocą MPU-6050 (GY-521): 3 kroki

Wideo: Jak zmierzyć kąt za pomocą MPU-6050 (GY-521): 3 kroki
Wideo: How to use MPU-6050 Accelerometer and Gyroscope with Arduino code 2024, Listopad
Anonim
Jak zmierzyć kąt za pomocą MPU-6050 (GY-521)
Jak zmierzyć kąt za pomocą MPU-6050 (GY-521)

W tej instrukcji zmierzymy kąt za pomocą Arduino. Potrzebujemy kilku kabli, Arduino UNO i GY-521(MPU-6050) do pomiaru kąta.

Krok 1: Podłączanie MPU-6050 do Arduino UNO

Podłączanie MPU-6050 do Arduino UNO
Podłączanie MPU-6050 do Arduino UNO

Do pomiaru kąta potrzebne są kable męsko-żeńskie, czujnik Arduino UNO i GY-521(MPU-6050). Do Arduino UNO musimy podłączyć MPU-6050 jak na zdjęciu. Więc,

  • VCC do 5V (MPU-6050 działa z 3,3V, ale GY-521 zwiększa go do 5V.),
  • GND do GND,
  • SCL do A5,
  • SDA do A4,
  • ADO do GND,
  • INT do pinu cyfrowego 2.

Krok 2: Kod

Kod
Kod

Oto kod. Wykorzystuje I2C. Wziąłem część kodu z internetu.(część I2C)

//Autor Ahmet Burkay KIRNIK//Pomiar kąta za pomocą MPU-6050(GY-521)

#włączać

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

int minVal=265; int maxVal=402;

podwójny x; podwójne y; podwójne z;

void setup(){ Wire.begin(); Wire.beginTransmission(MPU_addr); Wire.write(0x6B); Wire.write(0); Wire.endTransmission(prawda); Serial.początek(9600); } void loop(){ Wire.beginTransmission(MPU_addr); Wire.write(0x3B); Wire.endTransmission(fałsz); Wire.requestFrom(MPU_addr, 14, prawda); AcX=Przewód.odczyt()<<8|Przewód.odczyt(); AcY=Przewód.odczyt()<<8|Przewód.odczyt(); AcZ=Przewód.odczyt()<<8|Przewód.odczyt(); 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("KątY= "); Serial.println(y);

Serial.print("AngleZ= "); Serial.println(z); Serial.println("----------------------------------------------------------"); opóźnienie(400); }

Krok 3: Gotowe

Gotowe!
Gotowe!

Zrobione! Jeśli to nie działa lub potrzebujesz pomocy, zostaw komentarz lub wyślij e-mail. Mój adres e-mail można znaleźć w komentarzach. Swoją drogą, mój angielski nie jest zbyt dobry, więc przepraszam za mój zły angielski.

Ahmet Burkay KIRNIK

Stambuł, Turcja

Edycja: Po 2 latach mój angielski poprawił się, więc poprawiłem kilka błędów.

Zalecana: