2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-13 06:57
MPU6050 on väga kasulik andur.
Mpu 6050 on IMU: inertsiaalne mõõtühik (IMU) on elektrooniline seade, mis mõõdab ja teatab keha spetsiifilist jõudu, nurkkiirust ja mõnikord ka keha orientatsiooni, kasutades kiirendusmõõturite, güroskoopide kombinatsiooni.
See on 6 -teljeline seade
3 teljest saab mõõta kiirendust ja ülejäänud 3 on nurkkiirenduse mõõtmiseks.
Kiirendust ja nurkkiirendust kasutades on võimalik saada nurga kohta üsna täpne hinnang
Selles õpetuses uurime, kuidas saaksime MPU6050 koos raamatukoguga asju palju lihtsamaks muuta.
Tarvikud
- Arduino plaat
- MPU6050
- Jumper juhtmed
- Leivalaud
Samm: täitke ahel
Andur kasutab Arduinoga suhtlemiseks väärtuste saatmiseks protokolli, mida tuntakse kui I2c.
A4 tihvti kasutatakse SCL-seeriakella jaoks ja see tuleks ühendada anduri SCL-iga, A5 kuni SDA-seeriaandmete liin.
Vcc on ühendatud 5v ja Gnd on ühendatud maaga
2. samm: kodeerimine
#kaasama #kaasama
Enne alustamist pole see raamatukogu minu kirjutatud, ma arvan, et see on seal kõige lihtsam ja ma armastan seda kasutada.
Need on päisefailid ^^, Wire.h -d kasutatakse i2c -ühenduse loomiseks
MPU6050 mpu6050 (traat);
siin nimetame oma güroskoopi või loome objekti neile, kes on tuttavad OOP -dega.
tühine seadistus () {
Seriaalne algus (9600); Wire.begin (); mpu6050.begin (); mpu6050.calcGyroOffsets (tõene); }
Esialgu arvutame nihkeid, kuna kõik nurga näidud on esialgse orientatsiooni suhtes.
void loop () {
mpu6050.update (); Serial.print ("nurkX:"); Serial.print (mpu6050.getAngleX ()); Serial.print ("\ tangleY:"); Serial.print (mpu6050.getAngleY ()); Serial.print ("\ tangleZ:"); Serial.println (mpu6050.getAngleZ ()); }
Igaüks annab meile nurga mõõtmise.
3. samm: muud funktsioonid
Raamatukogu sisaldab muid funktsioone
nagu:
mpu6050.getTemp () // annab temperatuuri (pole väga täpne)
mpu6050.getAccX () // Lineaarne kiirendus X suunas
(sarnased funktsioonid on mpu6050.getAccY (), mpu6050.getAccZ ())
mpu6050.getGyroX () // Nurgakiirendus x -telje ümber
(sarnased funktsioonid on mpu6050.getGyroY (), mpu6050.getGyroZ ())