Module MPU6050 merupakan sensor yang berfungsi sebagai accelerometer sekaligus gyroscope yang dipackage kedalam 1 module yang kompatibel dengan Arduino.
Apa itu Accelerometer?
Merupakan sensor berfungsi untuk mengukur percepatan suatu benda atau objek yang bergerak yang bersifat dynamic maupun static.
Pengukuran dynamic merupakan pengukuran percepatan pada objek benda yang bergerak, sedangkan pengukuran static merupakan pengukuran percepatan objek terhadap gravitasi bumi.
Untuk hal ini accelerometer lebih sering digunakan untuk mengukur sudut kemiringan (tilt) dan secara dasarnya prinsip kerja dari accelerometer yaitu menggunakan prinsip percepatan (acceleration).
Contoh pada accelerometer di kehidupan sehari – hari yaitu fungsi shake control Handphone. Dimana dengan fungsi ini kita dapat mengikuti kuis – kuis yang misalnya diadakan oleh online shop seperti Shopee, dan tokopedia.
Selain itu fungsi ini dapat diaplikasikan pada music player dimana untuk mengganti lagu ke lagu selanjutnya hanya dengan menggoyakan Handphone kita.
Contoh lainnya yaitu mengubah tampilan layar dari semula vertical (portrait) menjadi horizontal (landscape) untuk melihat video youtube misalnya.
Apa itu Gyroscope MPU6050
Gyroscope merupakan sensor yang berfungsi untuk menentukan orientasi gerak dengan bertumpu pada roda yang berotasi dengan cepat pada sumbu yang berdasarkan momentum sudut.
Sebelum digunakan, gyro sensor harus dilakukan kalibrasi terlebih dahulu dengan menggunakan bandul. Proses kalibrasi tersebut berfungsi untuk memperoleh nilai faktor kalibrasi.
Gyroscope memiliki keluaran berupa kecepatan sudut dari arah 3 sumbu yaitu, sumbu x yang nantinya akan menjadi sudut phi (kanan dan kiri) dari sumbu y nantinya menjadi sudut theta (atas dan bawah), dan sumbu z nantinya menjadi sudut psi (depan dan belakang).
Module MPU6050
Kemampuan sensor ini dapat dikatakan akurat karena terdapat hardware yang bekerja untuk mengkonversi data analog ke digital yang memiliki resolusi 16-bit pada masing-masing chanelnya.
Sehingga modul ini mampu untuk membaca data dari chanel X, Y, dan Z secara bersamaan dalam 1 waktu.
Untuk komunikasi, sensor ini menggunakan komunikasi I2C yang artinya hanya memerlukan 2 kabel data (SDA dan SCL) serta 2 kabel power.
Spesifikasi dari module MPU6050 :
- tentunya menggunakan chip IC MPU6050
- Tegangan operasional di range antara 3Vdc – 5Vdc
- Menggunakan antarmuka komunikasi I2C (SCL, SDA)
- Range dari Gyroscope : 250 500 1000 2000 / s
- Chip built-in 16bit AD converter, 16-bit data output
- Difungsikan sebagai sensor accelerometer dan gyroscope
- Ukuran modul : 2.2cm x 1.7cm
Pin Out dari Module MPU6050
Contoh Implementasi Module sensor ini
Module ini dapat diaplikasi pada proyek elektronika yang memerlukan fungsi akselerasi dan keseimbangan, contoh dalam kehidupan sehari – hari yaitu stabilizer atau gimbal kamera.
Gimbal kamera difungsikan untuk menyeimbangkan posisi kamera sesuai koordinat seimbang sehingga pengambilan video maupun gambar menjadi lebih stabil.
Contoh lainnya yaitu pada drone DJI PHAMTOM, terdapat module sensor accelerometer dan gryoscope yang berfungsi menjaga keseimbangan drone pada saat kondisi terbang, serta untuk mengetahui sudut kemiringan dan membantu saat manuver.
Dimana pada drone tersebut secara konsep hampir sama dengan implementasi module sensor ini.
Tutorial Sederhana mengakses module MPU6050
Modul ini tergolong “Inertia Measurement Unit” atau alat pengukur momen inersia sensor dan terdapat accelerometer 3 axis dan gyroscope 3 axis.
Bahan yang perlu dipersiapkan untuk tutorial ini antara lain :
- Arduino Uno
- Komputer + Software IDE Arduino
- Modul MPU6050
- Breadboard
- Kabel Jumper
Skema yang perlu dirangkaikan
Sebelum melakukan pembuatan program, dapat digunakan libraries dari pihak untuk di ekstrak ke libraries Arduino sehingga memudahkan dalam pemrogramannya.
- Libraries MPU6050 : [ddownload id=”2719″]
- Libraries i2c LCD : [ddownload id=”1087″]
Peletakan Library pada masing – masing Operation System :
- PC (Windows) : Program file(x86)/Arduino/ libraries
- Mac : (home directory)/Applications/Arduino (Show Package Content)/Contents/Java/Libraries
- Linux : (home directory)/sketchbook/libraries
Contoh program untuk menampilkan pembacaan sensor MPU6050 dengan penampil LCD
[sociallocker id=”1344″]
//www.nyebarilmu.com #include <Wire.h> #include <MPU6050.h> #include <LiquidCrystal_PCF8574.h> LiquidCrystal_PCF8574 lcd(0x3F); // dapat dicek menggunakan i2c finder MPU6050 mpu; byte degree[8] = { 0b00000, 0b00110, 0b01111, 0b00110, 0b00000, 0b00000, 0b00000, 0b00000 }; void setup() { Serial.begin(115200); lcd.begin(16,2); lcd.createChar(00, degree); Serial.begin(9600); Serial.println("Initialize MPU6050"); while(!mpu.begin(MPU6050_SCALE_2000DPS, MPU6050_RANGE_2G)) { Serial.println("tidak ada sensor MPU6050 yang terpasang!"); delay(500); } //Kalibrasi gyrometer mpu.calibrateGyro(); mpu.setThreshold(3); lcd.clear(); lcd.print("Module MPU6050"); lcd.setCursor(00,1); lcd.print("nyebarilmu"); delay(2000); lcd.clear(); } void loop() { //untuk pembacaan gyrometer Vector rawGyro = mpu.readRawGyro(); Serial.println("Gryometer"); Serial.print("X : "); Serial.print(rawGyro.XAxis); Serial.print("Y : "); Serial.print(rawGyro.YAxis); Serial.print("Z : "); Serial.println(rawGyro.ZAxis); lcd.setCursor(00,00); lcd.print(rawGyro.XAxis); lcd.setCursor(5,00); lcd.print(rawGyro.YAxis); lcd.setCursor(10,00); lcd.print(rawGyro.ZAxis); //untuk pembacaan accelerometer Vector rawAccel = mpu.readRawAccel(); Serial.println("Accelerometer"); Serial.print("X : "); Serial.print(rawAccel.XAxis); Serial.print("Y : "); Serial.print(rawAccel.YAxis); Serial.print("Z : "); Serial.println(rawAccel.ZAxis); lcd.setCursor(00,1); lcd.print(rawAccel.XAxis); lcd.setCursor(5,1); lcd.print(rawAccel.YAxis); lcd.setCursor(10,1); lcd.print(rawAccel.ZAxis); float celc = mpu.readTemperature(); Serial.println("temperature "); Serial.print(celc); Serial.println(" *C"); lcd.print("Temperature"); lcd.setCursor(13,1); lcd.print(celc); lcd.write((byte)00); delay(500); }
[/sociallocker]