Du er her: Start Teknologi Mikrokontrollere Arduino Aktivisering av kompassfunksjonen i IMU med MPU6050
GY-86, GY-87 og GY-88 er 10 DOF (Degree Of Freedom) Inertial Measurement Unit (IMU). Den består av 3-akse gyro, 3-akse aksellerator, 3 akse magnetometer pluss en trykkmåler. Den er produsert i Kina og har utmerkede egenskaper med unntak av én. Det er ikke mulig uten videre å aktivisere kompassfunksjonen. Kortene består av kretsene MPU6050 (aksellerator/gyro)+HMC5883L (kompassfunksjon (magnetometer)) + temperatur/trykksensor. Kommunikasjonen skjer gjennom I2C-buss til Arduinokortet. Men HMC5883L-kretsen er koblet via til den alternative I2C-bussen i MPU6050 . I utgangspunktet er ikke denne koblingen aktivisert
.
Den aktiviseres manuelt i Arduino-skissen (dvs-programmet) med følgende kommandoer:
#include <HMC5883L.h> I setup() må disse linjene være med:
mpu.initialize(); |
Alternativt, kan følgende kode settes inn i skissen for å aktivisere HMC5883L før og i setup():
#Include <I2Cdev.h>
HMC5883L compass;
}
|
For å sjekke adressene for enheter som er koblet til I2-bussen kan scannes ved hjelp av dette programmet
Merk også at to MPU6050 kan kobles til den samme I2-bussen der adressen til den andre MPU6050 settes med kommandolinjen
MPU6050 mpu1(0x69);
Tilgangen til denne enheten skjer som variabelen mpu1 i eksemplet over.