- Komponen yang diperlukan:
- Sensor Gyro MPU6050:
- Penerangan:
- Rajah dan Penjelasan Litar:
- Penjelasan Pengaturcaraan
Sensor MPU6050 mempunyai banyak fungsi berbanding cip tunggal. Ini terdiri dari MEMS accelerometer, MEMS gyro, dan sensor suhu. Modul ini sangat tepat semasa menukar nilai analog ke digital kerana mempunyai perkakasan penukar analog ke digital 16bit untuk setiap saluran. Modul ini mampu menangkap saluran x, y dan z pada masa yang sama. Ia mempunyai antara muka I2C untuk berkomunikasi dengan pengawal hos. Ini MPU6050 modul adalah cip padat mempunyai kedua-dua pecutan dan giro. Ini adalah alat yang sangat berguna untuk banyak aplikasi seperti drone, robot, sensor gerakan. Ia juga disebut Giroskop atau Accelerometer paksi tiga.
Hari ini dalam artikel ini kita akan menghubungkan Giroskop MPU6050 ini dengan Arduino dan menunjukkan nilai lebih dari 16x2 LCD.
Komponen yang diperlukan:
- Arduino Uno
- MPU-6050
- 10K POT
- Kawat pelompat
- Papan roti
- wayar USB
- Bekalan kuasa
Sensor Gyro MPU6050:
MPU-6050 adalah gyro 8 pin 6 paksi dan akselerometer dalam satu cip. Modul ini berfungsi pada komunikasi bersiri I2C secara lalai tetapi ia dapat dikonfigurasi untuk antara muka SPI dengan mengkonfigurasinya mendaftar. Untuk I2C ini mempunyai garis SDA dan SCL. Hampir semua pin berbilang fungsi tetapi di sini kita hanya meneruskan pin mod I2C.
Konfigurasi Pin:
Vcc: - pin ini digunakan untuk menghidupkan modul MPU6050 sehubungan dengan ground
GND: - ini adalah pin tanah
SDA: - Pin SDA digunakan untuk data antara pengawal dan modul mpu6050
SCL: - Pin SCL digunakan untuk input jam
XDA: - Ini adalah garis Data sensor I2C SDA untuk mengkonfigurasi dan membaca dari sensor luaran ((pilihan) tidak digunakan dalam kes kami)
XCL: - Ini adalah garis jam sensor I2C SCL untuk mengkonfigurasi dan membaca dari sensor luaran ((pilihan) tidak digunakan dalam kes kami)
ADO: - Alamat Slave I2C LSB (tidak berlaku dalam kes kami)
INT: - Pin gangguan untuk menunjukkan data siap.
Penerangan:
Dalam artikel ini, kami menunjukkan bacaan suhu, giro dan akselerometer melalui LCD menggunakan MPU6050 dengan Arduino. Modul ini memberi kita nilai baris dan nilai normal dalam output tetapi nilai baris tidak stabil jadi di sini kita telah menunjukkan nilai normal berbanding LCD. Sekiranya anda hanya mahukan nilai accelerometer, anda juga boleh menggunakan Accelerometer ADXL335 dengan Arduino.
Dalam projek ini, kami pertama kali menunjukkan nilai suhu melebihi LCD dan setelah 10 saat kami menunjukkan nilai giro dan setelah 10 saat kami mempunyai pembacaan pecutan seperti yang ditunjukkan pada gambar di bawah:
Rajah dan Penjelasan Litar:
Gambarajah litar, untuk menghubungkan MPU6050 dengan Arduino, sangat mudah di sini kita telah menggunakan LCD dan MPU6050. Dan di sini kami telah menggunakan bekalan kuasa USB komputer riba. Pot 10k digunakan untuk mengawal kecerahan LCD. Sehubungan dengan MPU6050, kami telah melakukan 5 sambungan di mana kami telah menyambungkan bekalan kuasa 3.3v dan ground MPU6050 ke 3.3v dan tanah Arduino. Pin SCL dan SDA MPU6050 dihubungkan dengan pin Arduino A4 dan A5. Dan pin INT MPU6050 disambungkan untuk mengganggu 0 Arduino (D2). RS, RW dan EN LCD disambungkan secara langsung ke Arduino 8, gnd dan 9. Pin data disambungkan secara langsung ke pin digital nombor 10, 11, 12 dan 13.
Penjelasan Pengaturcaraan
Bahagian pengaturcaraan juga mudah untuk projek ini. Di sini kami telah menggunakan perpustakaan MPU6050 ini untuk menghubungkannya dengan Arduino. Jadi pertama sekali, kita perlu memuat turun perpustakaan MPU6050 dari GitHub dan memasangnya di Arduino IDE.
Selepas itu, kita dapat mencari contoh kod dalam contoh. Pengguna boleh menguji kod tersebut dengan memuat naiknya terus ke Arduino dan dapat melihat nilai melalui monitor bersiri. Atau pengguna boleh menggunakan kod kami yang diberikan pada akhir artikel untuk menunjukkan nilai melalui LCD dan monitor bersiri juga.
Dalam pengekodan, kami telah memasukkan beberapa perpustakaan yang diperlukan seperti MPU6050 dan LCD.
#sertakan
Dalam fungsi persediaan , kami menginisialisasi kedua-dua peranti dan menulis mesej selamat datang melalui LCD
persediaan tidak sah () {lcd.begin (16,2); lcd.createChar (0, darjah); Serial.begin (9600); Serial.println ("Memulakan MPU6050"); sementara (! mpu.begin (MPU6050_SCALE_2000DPS, MPU6050_RANGE_2G)) {lcd.clear (); lcd.print ("Peranti tidak Ditemui"); Serial.println ("Tidak dapat menemui sensor MPU6050 yang sah, periksa pendawaian!"); kelewatan (500); } kiraan = 0; mpu.calibrateGyro (); mpu.setThreshold (3); Dalam fungsi loop , kami memanggil tiga fungsi dalam setiap 10 saat untuk memaparkan suhu, giro, dan pembacaan pecutan pada LCD. Ketiga fungsi ini adalah tempShow, gyroShow dan accelShow , anda boleh menyemak fungsi tersebut dalam kod Arduino lengkap yang diberikan pada akhir artikel ini:
gelung kekosongan () {lcd.clear (); lcd.print ("Suhu"); panjang st = millis (); Serial.println ("Suhu"); semasa (milis ()
MPU6050 giro dan akselerometer keduanya digunakan untuk mengesan kedudukan dan orientasi mana-mana peranti. Gyro menggunakan graviti bumi untuk menentukan kedudukan paksi x, y dan z dan pengesan pecutan berdasarkan kadar perubahan pergerakan. Kami sudah menggunakan accelerometer dengan Arduino dalam banyak projek kami seperti:
- Robot Dikendalikan Gerak Tangan Berasaskan Accelerometer
- Sistem Makluman Kemalangan Kenderaan Berasaskan Arduino
- Penggera Pengesan Gempa menggunakan Arduino