- Komponen yang Diperlukan:
- Sensor MPU6050 Gyro:
- Deskripsi:
- Diagram Sirkuit dan Penjelasan:
- Penjelasan Pemrograman
Sensor MPU6050 memiliki banyak fungsi melalui satu chip. Ini terdiri dari akselerometer MEMS, gyro MEMS, dan sensor suhu. Modul ini sangat akurat saat mengubah nilai analog menjadi digital karena memiliki perangkat keras konverter analog ke digital 16bit untuk setiap saluran. Modul ini mampu menangkap saluran x, y dan z secara bersamaan. Ini memiliki antarmuka I2C untuk berkomunikasi dengan pengontrol host. Modul MPU6050 ini adalah chip kompak yang memiliki akselerometer dan gyro. Ini adalah perangkat yang sangat berguna untuk banyak aplikasi seperti drone, robot, sensor gerak. Ini juga disebut Giroskop atau Akselerometer sumbu rangkap tiga.
Hari ini di artikel ini kita akan menghubungkan Giroskop MPU6050 ini dengan Arduino dan menunjukkan nilai di atas LCD 16x2.
Komponen yang Diperlukan:
- Arduino Uno
- MPU-6050
- 10K POT
- Kabel jumper
- Papan tempat memotong roti
- kabel USB
- Sumber Daya listrik
Sensor MPU6050 Gyro:
MPU-6050 adalah gyro dan akselerometer 8 pin 6 sumbu dalam satu chip. Modul ini bekerja pada komunikasi serial I2C secara default tetapi dapat dikonfigurasi untuk antarmuka SPI dengan mengkonfigurasi registernya. Untuk I2C ini memiliki jalur SDA dan SCL. Hampir semua pin multifungsi tetapi di sini kita hanya melanjutkan dengan pin mode I2C.
Konfigurasi Pin:
Vcc: - pin ini digunakan untuk memberi daya pada modul MPU6050 sehubungan dengan ground
GND: - ini adalah pin ground
SDA: - Pin SDA digunakan untuk data antara pengontrol dan modul mpu6050
SCL: - Pin SCL digunakan untuk input jam
XDA: - Ini adalah jalur data sensor I2C SDA untuk mengkonfigurasi dan membaca dari sensor eksternal ((opsional) tidak digunakan dalam kasus kami)
XCL: - Ini adalah garis jam sensor I2C SCL untuk mengkonfigurasi dan membaca dari sensor eksternal ((opsional) tidak digunakan dalam kasus kami)
ADO: - I2C Slave Address LSB (tidak berlaku dalam kasus kami)
INT: - Pin interupsi untuk indikasi data siap.
Deskripsi:
Pada artikel ini, kami menunjukkan pembacaan suhu, giro dan akselerometer melalui LCD menggunakan MPU6050 dengan Arduino. Modul ini memberi kita nilai baris dan nilai normalisasi dalam keluaran tetapi nilai baris tidak stabil jadi di sini kita telah menunjukkan nilai yang dinormalisasi melalui LCD. Jika Anda hanya ingin nilai akselerometer, Anda juga dapat menggunakan Accelerometer ADXL335 dengan Arduino.
Dalam proyek ini, pertama-tama kami telah menunjukkan nilai suhu di atas LCD dan setelah 10 detik kami menunjukkan nilai gyro dan setelah 10 detik kami memiliki pembacaan akselerometer seperti yang ditunjukkan pada gambar di bawah ini:
Diagram Sirkuit dan Penjelasan:
Diagram rangkaian, untuk menghubungkan MPU6050 dengan Arduino, sangat sederhana di sini kami telah menggunakan LCD dan MPU6050. Dan di sini kami telah menggunakan catu daya USB laptop. Pot 10k digunakan untuk mengontrol kecerahan LCD. Sehubungan dengan MPU6050, kami telah melakukan 5 koneksi di mana kami telah menghubungkan catu daya 3.3v dan ground MPU6050 ke 3.3v dan ground Arduino. Pin SCL dan SDA MPU6050 terhubung dengan pin A4 dan A5 Arduino. Dan pin INT MPU6050 terhubung ke interupsi 0 dari Arduino (D2). RS LCD, RW dan EN terhubung langsung ke 8, gnd dan 9 dari Arduino. Pin data terhubung langsung ke pin digital nomor 10, 11, 12 dan 13.
Penjelasan Pemrograman
Bagian pemrograman juga mudah untuk proyek ini. Di sini kami telah menggunakan pustaka MPU6050 ini untuk menghubungkannya dengan Arduino. Jadi pertama-tama, kita perlu mengunduh pustaka MPU6050 dari GitHub dan menginstalnya di Arduino IDE.
Setelah itu, kita dapat menemukan kode contoh di contoh. Pengguna dapat menguji kode itu dengan langsung mengunggahnya ke Arduino dan dapat melihat nilai melalui monitor serial. Atau pengguna dapat menggunakan kode kami yang diberikan di akhir artikel untuk menunjukkan nilai melalui LCD dan monitor serial juga.
Dalam pengkodean, kami telah menyertakan beberapa pustaka yang diperlukan seperti MPU6050 dan LCD.
#include
Dalam fungsi pengaturan , kami menginisialisasi kedua perangkat dan menulis pesan selamat datang melalui LCD
void setup () {lcd.begin (16,2); lcd.createChar (0, derajat); Serial.begin (9600); Serial.println ("Inisialisasi MPU6050"); while (! mpu.begin (MPU6050_SCALE_2000DPS, MPU6050_RANGE_2G)) {lcd.clear (); lcd.print ("Perangkat tidak Ditemukan"); Serial.println ("Tidak dapat menemukan sensor MPU6050 yang valid, periksa kabel!"); penundaan (500); } hitung = 0; mpu.calibrateGyro (); mpu.setThreshold (3); Dalam Fungsi Loop , kami telah memanggil tiga fungsi dalam setiap 10 detik untuk menampilkan suhu, gyro, dan pembacaan akselerometer pada LCD. Ketiga fungsi ini adalah tempShow, gyroShow dan accelShow , Anda dapat memeriksa fungsi-fungsi tersebut dalam kode Arduino lengkap yang diberikan di akhir artikel ini:
void loop () {lcd.clear (); lcd.print ("Suhu"); st panjang = millis (); Serial.println ("Suhu"); sementara (milis ()
MPU6050 gyro dan accelerometer keduanya digunakan untuk mendeteksi posisi dan orientasi perangkat apa pun. Gyro menggunakan gravitasi bumi untuk menentukan posisi sumbu x, y, dan z dan akselerometer mendeteksi berdasarkan laju perubahan gerakan. Kami sudah menggunakan akselerometer dengan Arduino di banyak proyek kami seperti:
- Robot Kontrol Gerakan Tangan Berbasis Akselerometer
- Sistem Peringatan Kecelakaan Kendaraan Berbasis Arduino
- Alarm Detektor Gempa menggunakan Arduino