Mundarija:
2025 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2025-01-13 06:58
MPU6050 juda foydali sensor.
MPU 6050 - bu IMU: Inertial o'lchov birligi (IMU) - bu akselerometr, giroskoplar kombinatsiyasi yordamida tananing o'ziga xos kuchini, burchak tezligini va ba'zida tananing yo'nalishini o'lchaydigan va hisobot beradigan elektron qurilma.
Bu 6 o'qli qurilma
Eksa 3 tezlanishni o'lchashi mumkin, qolgan 3 burchak tezlanish o'lchovlari uchun.
Tezlashtirish va burchak tezlashmasidan foydalanib, burchakning aniq bahosini olish mumkin
Ushbu qo'llanmada biz MPU6050 -ni kutubxona bilan qanday qilib ishni osonlashtirish uchun ishlatishni o'rganamiz.
Ta'minotlar
- Arduino taxtasi
- MPU6050
- Jumper simlari
- Non paneli
1 -qadam: O'chirish jarayonini yakunlang
Sensor Arduino bilan aloqa qilish uchun qiymatlarni yuborish uchun I2c protokolidan foydalanadi.
A4 pinli SCL seriyali soat uchun ishlatiladi va sensorning SCL ga ulangan bo'lishi kerak, A5 dan SDA-Seriyali ma'lumotlar liniyasi.
Vcc 5v ga, Gnd esa erga ulangan
2 -qadam: kodlash
#qo'shing #qo'shing
Boshlashdan oldin, bu kutubxonani men yozmaganman, menimcha, bu eng sodda va undan foydalanishni yaxshi ko'radi.
Bu sarlavha fayllari ^^, tel.h i2c aloqasini o'rnatish uchun ishlatiladi
MPU6050 mpu6050 (simli);
bu erda biz o'z giroskopimizni nomlaymiz yoki OOP bilan o'xshash bo'lganlar uchun ob'ekt yaratamiz.
bo'sh o'rnatish () {
Serial.begin (9600); Wire.begin (); mpu6050.begin (); mpu6050.calcGyroOffsets (haqiqiy); }
Dastlab biz ofsetlarni hisoblaymiz, chunki barcha burchak o'qishlari boshlang'ich yo'nalishga bog'liq bo'ladi.
void loop () {
mpu6050. yangilash (); Serial.print ("burchak X:"); Serial.print (mpu6050.getAngleX ()); Serial.print ("\ tangleY:"); Serial.print (mpu6050.getAngleY ()); Serial.print ("\ tangleZ:"); Serial.println (mpu6050.getAngleZ ()); }
Har biri bizga burchak o'lchovini beradi.
3 -qadam: Boshqa funktsiyalar
Kutubxona boshqa funktsiyalarni o'z ichiga oladi
kabi:
mpu6050.getTemp () // haroratni beradi (unchalik aniq emas)
mpu6050.getAccX () // X yo'nalishidagi chiziqli tezlanish
(shunga o'xshash funktsiyalar mpu6050.getAccY (), mpu6050.getAccZ ())
mpu6050.getGyroX () // x o'qi atrofida burchak tezlashishi
(shunga o'xshash funktsiyalar mpu6050.getGyroY (), mpu6050.getGyroZ ())