Skillnad mellan versioner av "Grove - IMU 9 DoF"
(3 mellanliggande versioner av samma användare visas inte) | |||
Rad 1: | Rad 1: | ||
+ | [[Fil:Grove-IMU 9DOF.JPG|200px|thumb|right|Grove - IMU 9 DoF]] | ||
IMU 9 DoF är en högpresterande 9-axels rörelsespårningsmodul. Det är en integrerad 9-axlig rörelsespårningsenhet som är utformad för att tillgodose kraven på låg effekt, låg kostnad och hög prestanda i hemelektronikutrustning, inklusive smartphones, tabletter och bärbara sensorer. | IMU 9 DoF är en högpresterande 9-axels rörelsespårningsmodul. Det är en integrerad 9-axlig rörelsespårningsenhet som är utformad för att tillgodose kraven på låg effekt, låg kostnad och hög prestanda i hemelektronikutrustning, inklusive smartphones, tabletter och bärbara sensorer. | ||
Rad 5: | Rad 6: | ||
== Port == | == Port == | ||
− | I2C | + | * I2C |
== Exempelkod == | == Exempelkod == | ||
Rad 83: | Rad 84: | ||
[[Category:Grove]] | [[Category:Grove]] | ||
+ | [[Category:Grove-Sensor]] | ||
+ | |||
+ | [[Category:Kna-Wiki]] |
Nuvarande version från 4 februari 2021 kl. 07.27
IMU 9 DoF är en högpresterande 9-axels rörelsespårningsmodul. Det är en integrerad 9-axlig rörelsespårningsenhet som är utformad för att tillgodose kraven på låg effekt, låg kostnad och hög prestanda i hemelektronikutrustning, inklusive smartphones, tabletter och bärbara sensorer.
Kompatibilitet
- Arduino
Port
- I2C
Exempelkod
Arduino
void setup() {
// join I2C bus (I2Cdev library doesn't do this automatically)
Wire.begin();
// initialize serial communication
// (38400 chosen because it works as well at 8MHz as it does at 16MHz, but
// it's really up to you depending on your project)
Serial.begin(38400);
// initialize device
Serial.println("Initializing I2C devices...");
accelgyro.initialize();
// verify connection
Serial.println("Testing device connections...");
Serial.println(accelgyro.testConnection() ? "MPU9250 connection successful" : "MPU9250 connection failed");
delay(1000);
Serial.println(" ");
//Mxyz_init_calibrated ();
}
void loop()
{
getAccel_Data();
getGyro_Data();
getCompassDate_calibrated(); // compass data has been calibrated here
getHeading(); //before we use this function we should run 'getCompassDate_calibrated()' frist, so that we can get calibrated data ,then we can get correct angle .
getTiltHeading();
Serial.println("calibration parameter: ");
Serial.print(mx_centre);
Serial.print(" ");
Serial.print(my_centre);
Serial.print(" ");
Serial.println(mz_centre);
Serial.println(" ");
Serial.println("Acceleration(g) of X,Y,Z:");
Serial.print(Axyz[0]);
Serial.print(",");
Serial.print(Axyz[1]);
Serial.print(",");
Serial.println(Axyz[2]);
Serial.println("Gyro(degress/s) of X,Y,Z:");
Serial.print(Gxyz[0]);
Serial.print(",");
Serial.print(Gxyz[1]);
Serial.print(",");
Serial.println(Gxyz[2]);
Serial.println("Compass Value of X,Y,Z:");
Serial.print(Mxyz[0]);
Serial.print(",");
Serial.print(Mxyz[1]);
Serial.print(",");
Serial.println(Mxyz[2]);
Serial.println("The clockwise angle between the magnetic north and X-Axis:");
Serial.print(heading);
Serial.println(" ");
Serial.println("The clockwise angle between the magnetic north and the projection of the positive X-Axis in the horizontal plane:");
Serial.println(tiltheading);
Serial.println(" ");
Serial.println(" ");
Serial.println(" ");
delay(300);
}