2025 Autor: John Day | [email protected]. Zadnja promjena: 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, pomoću kombinacije akcelerometara, žiroskopa.
To je uređaj sa 6 osi
3 osi mogu mjeriti ubrzanje, a ostale 3 služe za mjerenje kutnih ubrzanja.
Pomoću ubrzanja i kutnog ubrzanja moguće je dobiti prilično točnu procjenu kuta
U ovom ćemo vodiču istražiti kako možemo koristiti MPU6050 s bibliotekom kako bismo stvari učinili mnogo lakšima.
Pribor
- Arduino ploča
- MPU6050
- Kratkospojne žice
- Oglasna ploča
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 trebao bi biti spojen na SCL senzora i, A5 do SDA-Serijska podatkovna linija.
Vcc je spojen na 5v, a Gnd je spojen na masu
Korak 2: Kodiranje
#include #include
Prije nego počnem, ovu knjižnicu nisam napisao ja, samo mislim da je najjednostavnija i volim je koristiti.
To su datoteke zaglavlja ^^, wire.h se koristi za uspostavu i2c komunikacije
MPU6050 mpu6050 (žica);
ovdje imenujemo naš žiroskop ili stvaramo objekt za one koji su upoznati s 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 kuta.
Korak 3: Ostale funkcije
Knjižnica sadrži i druge funkcije
Kao:
mpu6050.getTemp () // daje temperaturu (nije baš točna)
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 ())