Daftar Isi:

Bagaimana Mengukur Sudut Dengan MPU-6050 (GY-521): 3 Langkah
Bagaimana Mengukur Sudut Dengan MPU-6050 (GY-521): 3 Langkah

Video: Bagaimana Mengukur Sudut Dengan MPU-6050 (GY-521): 3 Langkah

Video: Bagaimana Mengukur Sudut Dengan MPU-6050 (GY-521): 3 Langkah
Video: CARA KERJA MPU6050 Gyroscope dan Accelerometer 2024, November
Anonim
Bagaimana Mengukur Sudut Dengan MPU-6050(GY-521)
Bagaimana Mengukur Sudut Dengan MPU-6050(GY-521)

Dalam Instruksi ini, kita akan mengukur sudut dengan Arduino. Kami membutuhkan beberapa kabel, Arduino UNO dan GY-521(MPU-6050) untuk mengukur sudut.

Langkah 1: Menghubungkan MPU-6050 ke Arduino UNO

Menghubungkan MPU-6050 ke Arduino UNO
Menghubungkan MPU-6050 ke Arduino UNO

Kami membutuhkan beberapa kabel pria-wanita, sensor Arduino UNO dan GY-521(MPU-6050) untuk mengukur sudut. Kita harus menghubungkan MPU-6050 ke Arduino UNO seperti yang ditunjukkan pada gambar. Jadi,

  • VCC ke 5V (MPU-6050 bekerja dengan 3.3V tetapi GY-521 meningkatkannya menjadi 5V.),
  • GND ke GND,
  • SCL ke A5,
  • SDA ke A4,
  • ADO ke GND,
  • INT ke pin digital 2.

Langkah 2: Kode

Kode
Kode

Berikut adalah kode. Ini menggunakan I2C. Saya mengambil beberapa bagian kode dari internet. (bagian I2C)

//Ditulis oleh Ahmet Burkay KIRNIK//Pengukuran Sudut dengan MPU-6050(GY-521)

#termasuk

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

int minVal=265; int maxVal=402;

ganda x; ganda y; z ganda;

void setup(){ Wire.begin(); Wire.beginTransmission(MPU_addr); Kawat.tulis (0x6B); Kawat.tulis(0); Wire.endTransmission(benar); Serial.begin(9600); } void loop(){ Wire.beginTransmission(MPU_addr); Kawat.tulis (0x3B); Wire.endTransmission(salah); Wire.requestFrom(MPU_addr, 14, benar); AcX=Wire.read()<<8|Wire.read(); AcY=Wire.read()<<8|Wire.read(); AcZ=Wire.read()<<8|Wire.read(); int xAng = peta(AcX, minVal, maxVal, -90, 90); int yAng = peta(AcY, minVal, maxVal, -90, 90); int zAng = peta(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("SudutY= "); Serial.println(y);

Serial.print("SudutZ= "); Serial.println(z); Serial.println("-----------------------------------------"); penundaan (400); }

Langkah 3: Selesai

Selesai!
Selesai!

Selesai! Jika tidak berhasil atau Anda memerlukan bantuan, silakan tinggalkan komentar atau kirim email. Anda dapat menemukan alamat email saya dari komentar. Omong-omong, bahasa Inggris saya tidak begitu baik jadi saya minta maaf untuk bahasa Inggris saya yang buruk.

Ahmet Burkay KIRNIK

Instanbul, Turki

Sunting: Setelah 2 tahun, bahasa Inggris saya menjadi lebih baik jadi saya memperbaiki beberapa kesalahan.

Direkomendasikan: