2025 Autor: John Day | [email protected]. Zadnja izmjena: 2025-01-13 06:57
MPU6050 je vrlo koristan senzor.
Mpu 6050 je IMU: Inercijalna mjerna jedinica (IMU) je elektronički uređaj koji mjeri i prijavljuje specifičnu silu tijela, kutnu brzinu, a ponekad i orijentaciju tijela, koristeći kombinaciju akcelerometra i žiroskopa.
To je uređaj sa 6 osa
3 osi mogu mjeriti ubrzanje, a ostale 3 služe za mjerenje kutnog ubrzanja.
Koristeći ubrzanje i kutno ubrzanje moguće je dobiti prilično preciznu procjenu ugla
U ovom ćemo vodiču istražiti kako možemo koristiti MPU6050 s bibliotekom kako bismo stvari uvelike olakšali.
Supplies
- Arduino ploča
- MPU6050
- Žice za kratkospojnike
- Breadboard
Korak 1: Dovršite krug
Senzor koristi protokol poznat kao I2c za komunikaciju s Arduinom kako bi mu poslao vrijednosti.
A4 pin se koristi za SCL-serijski sat i treba ga spojiti na SCL senzora i, A5 do SDA-Serijska linija podataka.
Vcc je spojen na 5v, a Gnd je spojen na masu
Korak 2: Kodiranje
#include #include
Prije nego počnem, ovu biblioteku nisam napisao ja, samo mislim da je najjednostavnija i volim je koristiti.
Ovo su datoteke zaglavlja ^^, wire.h se koristi za uspostavljanje i2c komunikacije
MPU6050 mpu6050 (žica);
ovdje imenujemo naš žiroskop ili stvaramo objekt za one koji su upoznati sa OOP -ovima.
void setup () {
Serial.begin (9600); Wire.begin (); mpu6050.begin (); mpu6050.calcGyroOffsets (true); }
U početku izračunavamo pomake jer će se sva očitanja kuta odnositi na početnu orijentaciju.
void loop () {{100} {101}
mpu6050.update (); Serial.print ("angleX:"); Serial.print (mpu6050.getAngleX ()); Serial.print ("\ tangleY:"); Serial.print (mpu6050.getAngleY ()); Serial.print ("\ tangleZ:"); Serial.println (mpu6050.getAngleZ ()); }
Svaki nam daje mjeru ugla.
Korak 3: Ostale funkcije
Biblioteka sadrži i druge funkcije
poput:
mpu6050.getTemp () // daje temperaturu (nije baš precizna)
mpu6050.getAccX () // Linearno ubrzanje u smjeru X
(slične funkcije su mpu6050.getAccY (), mpu6050.getAccZ ())
mpu6050.getGyroX () // Kutno ubrzanje oko osi x
(slične funkcije su mpu6050.getGyroY (), mpu6050.getGyroZ ())