2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-13 06:58
MPU6050 je veľmi užitočný snímač.
CPU 6050 je IMU: Inerciálna meracia jednotka (IMU) je elektronické zariadenie, ktoré meria a hlási špecifickú silu tela, uhlovú rýchlosť a niekedy aj orientáciu tela pomocou kombinácie akcelerometrov a gyroskopov.
Jedná sa o 6 -osé zariadenie
3 osi môže merať zrýchlenie a ostatné 3 sú na meranie uhlového zrýchlenia.
Pomocou zrýchlenia a uhlového zrýchlenia je možné získať pomerne presný odhad uhla
V tomto návode sa budeme zaoberať tým, ako môžeme MPU6050 používať s knižnicou, aby boli veci oveľa jednoduchšie.
Zásoby
- Doska Arduino
- MPU6050
- Prepojovacie vodiče
- Breadboard
Krok 1: Dokončite obvod
Senzor používa na komunikáciu s Arduino protokol známy ako I2c a odosielanie hodnôt.
Kolík A4 sa používa pre sériové hodiny SCL a mal by byť pripojený k SCL senzora a, A5 až SDA-sériový dátový riadok.
Vcc je pripojený k 5v a Gnd je pripojený k zemi
Krok 2: Kódovanie
#include #include
Predtým, ako začnem, túto knižnicu nepísam ja, myslím si, že je tam najjednoduchšia a rád ju používam.
Toto sú hlavičkové súbory ^^, wire.h sa používa na nadviazanie komunikácie i2c
MPU6050 mpu6050 (drôt);
tu pomenujeme náš gyroskop alebo vytvoríme objekt pre tých, ktorí sú oboznámení s OOP.
neplatné nastavenie () {
Serial.begin (9600); Wire.begin (); mpu6050.begin (); mpu6050.calcGyroOffsets (true); }
Najprv vypočítame posuny, pretože všetky namerané uhly budú vzhľadom na počiatočnú orientáciu.
prázdna slučka () {
mpu6050.update (); Serial.print ("angleX:"); Serial.print (mpu6050.getAngleX ()); Serial.print ("\ tangleY:"); Serial.print (mpu6050.getAngleY ()); Serial.print ("\ tangleZ:"); Serial.println (mpu6050.getAngleZ ()); }
Každý nám dáva mieru uhla.
Krok 3: Ďalšie funkcie
Knižnica obsahuje ďalšie funkcie
Páči sa mi to:
mpu6050.getTemp () // udáva teplotu (nie veľmi presnú)
mpu6050.getAccX () // Lineárne zrýchlenie v smere X
(podobné funkcie sú mpu6050.getAccY (), mpu6050.getAccZ ())
mpu6050.getGyroX () // Uhlové zrýchlenie okolo osi x
(podobné funkcie sú mpu6050.getGyroY (), mpu6050.getGyroZ ())