2025 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2025-01-13 06:57
MPU6050 yra labai naudingas jutiklis.
„Mpu 6050“yra IMU: inercinis matavimo vienetas (IMU) yra elektroninis prietaisas, kuris matuoja ir praneša apie kūno specifinę jėgą, kampinį greitį ir kartais kūno orientaciją, naudojant akselerometrus, giroskopus.
Tai 6 ašių įrenginys
3 ašys gali matuoti pagreitį, o kitos 3 - kampinio pagreičio matavimus.
Naudojant pagreitį ir kampinį pagreitį, galima gauti gana tikslų kampo įvertinimą
Šioje pamokoje mes išnagrinėsime, kaip galime naudoti MPU6050 su biblioteka, kad viskas būtų daug lengviau.
Prekės
- „Arduino“lenta
- MPU6050
- Jumperio laidai
- Bandomoji Lenta
1 žingsnis: Užbaikite grandinę
Jutiklis naudoja protokolą, žinomą kaip I2c, kad galėtų bendrauti su „Arduino“ir siųsti jam vertes.
A4 kaištis naudojamas SCL serijiniam laikrodžiui ir turi būti prijungtas prie jutiklio SCL, Nuo A5 iki SDA-Serijos duomenų linijos.
Vcc yra prijungtas prie 5 V, o Gnd yra prijungtas prie žemės
2 žingsnis: kodavimas
#įtraukti #įtraukti
Prieš pradėdamas šią biblioteką parašiau ne aš, tik manau, kad ji yra pati paprasčiausia ir man patinka ja naudotis.
Tai yra antraštės failai ^^, wire.h naudojamas i2c ryšiui užmegzti
MPU6050 mpu6050 (viela);
čia mes pavadiname savo giroskopą arba sukuriame objektą tiems, kurie yra susipažinę su OOP.
void setup () {
Serial.begin (9600); Wire.begin (); mpu6050.begin (); mpu6050.calcGyroOffsets (tiesa); }
Iš pradžių mes apskaičiuojame poslinkius, nes visi kampo rodmenys bus susiję su pradine orientacija.
void loop () {
mpu6050.update (); Serial.print ("kampasX:"); Serial.print (mpu6050.getAngleX ()); Serial.print ("\ tangleY:"); Serial.print (mpu6050.getAngleY ()); Serial.print ("\ tangleZ:"); Serial.println (mpu6050.getAngleZ ()); }
Kiekvienas iš jų suteikia kampo matą.
3 žingsnis: kitos funkcijos
Bibliotekoje yra ir kitų funkcijų
Kaip:
mpu6050.getTemp () // nurodo temperatūrą (nėra labai tiksli)
mpu6050.getAccX () // Linijinis pagreitis X kryptimi
(panašios funkcijos yra mpu6050.getAccY (), mpu6050.getAccZ ())
mpu6050.getGyroX () // Kampinis pagreitis apie x ašį
(panašios funkcijos yra mpu6050.getGyroY (), mpu6050.getGyroZ ())