Innholdsfortegnelse:
Video: MPU6050-Accelerometer+Gyroscope Sensor Basics: 3 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:23
MPU6050 er en veldig nyttig sensor.
MPU 6050 er en IMU: En treghetsmåleenhet (IMU) er en elektronisk enhet som måler og rapporterer kroppens spesifikke kraft, vinkelfrekvens og noen ganger kroppens orientering ved hjelp av en kombinasjon av akselerometre, gyroskoper.
Det er en 6 -akset enhet
3 på aksen kan måle akselerasjon og de andre 3 er for vinkelakselerasjonsmålinger.
Ved å bruke akselerasjonen og vinkelakselerasjonen er det mulig å få et ganske nøyaktig estimat av vinkelen
I denne opplæringen skal vi utforske hvordan vi kan bruke MPU6050 med et bibliotek for å gjøre ting mye enklere.
Rekvisita
- Arduino bord
- MPU6050
- Jumper ledninger
- Brødbrett
Trinn 1: Fullfør kretsen
Sensoren bruker en protokoll kjent som I2c for å kommunisere med Arduino for å sende den verdiene.
A4-pinnen brukes til SCL-seriell klokke og skal kobles til SCL på sensoren og, A5 til SDA-seriell datalinje.
Vcc er koblet til 5v og Gnd er koblet til jord
Trinn 2: Koding
#include #include
Før jeg begynner, er ikke dette biblioteket skrevet av meg, jeg tror bare det er det enkleste der og elsker å bruke det.
Dette er toppfilene ^^, wire.h brukes til å etablere en i2c -kommunikasjon
MPU6050 mpu6050 (Wire);
her navngir vi gyroskopet vårt, eller lager et objekt for de som er kjent med OOP.
ugyldig oppsett () {
Serial.begin (9600); Wire.begin (); mpu6050.begin (); mpu6050.calcGyroOffsets (true); }
I utgangspunktet beregner vi forskyvninger siden alle vinkelmålingene kommer til å være med hensyn til den opprinnelige retningen.
void loop () {
mpu6050.update (); Serial.print ("vinkelX:"); Serial.print (mpu6050.getAngleX ()); Serial.print ("\ tangleY:"); Serial.print (mpu6050.getAngleY ()); Serial.print ("\ tangleZ:"); Serial.println (mpu6050.getAngleZ ()); }
Hver gir oss mål på vinkelen.
Trinn 3: Andre funksjoner
Biblioteket inneholder andre funksjoner
som:
mpu6050.getTemp () // gir temperaturen (ikke veldig nøyaktig)
mpu6050.getAccX () // Lineær akselerasjon i X -retning
(lignende funksjoner er mpu6050.getAccY (), mpu6050.getAccZ ())
mpu6050.getGyroX () // Vinkelakselerasjon rundt x -aksen
(lignende funksjoner er mpu6050.getGyroY (), mpu6050.getGyroZ ())
Anbefalt:
Stone Lcd + Acceleration Gyroscope Sensor: 5 trinn
Stone Lcd +Acceleration Gyroscope Sensor: Dette dokumentet vil lære deg hvordan du bruker en STM32 MCU +MPU6050 akselerometer gyroskopsensor +STONE STVC070WT seriell portdisplay for en DEMO. , du kan gå til vi